Alluxio 2.8.1 Release

We are excited to announce the release of Alluxio 2.8.1! This is an edge release for Alluxio open source on top of Alluxio 2.8.0, with various bug fixes, documentation, and improvements.

HIGHLIGHTS

Alluxio Stability Enhancement

Alluxio 2.8.1 added new test frameworks and conducted comprehensive system testing. A bunch of system vulnerabilities has been detected and fixed: 

  • Fix RocksDB iterator leak for local cache (a04c9a9)
  • Fix snapshot from follower thread leak (94316d)
  • Fix BlockWorkerClient resource leak (e32bada)
  • Fix leaking threads in backup (ff7c229)
  • Fix lost block leak (32b1aa)
  • Bump junit version again to fix the security vulnerability  (e7818e6)

Alluxio POSIX API Enhancement

Alluxio 2.8.1 ran a bunch of functionality verification and data correctness tests and fixed a bunch of issues found including Alluxio POSIX API in Kubernetes high resource consumption issue (2f7cc8e), Fuse rename behavior mismatch with Linux (938a92), FIO failure (49ae5d0), truncate issue (370984), Fuse user group issue (fccd691), unmount pid (34d46), open flag (65a151), remove directory error code (e54b911), write then overwrite (001ee73) and etc.

New Alluxio CSI Driver

Alluxio CSI driver can mount Alluxio into application containers and thus applications can access data stored in Alluxio or UFSes through the mounted path.

CSI can couple the life cycle of applications and Alluxio Fuse processes to avoid unneeded waste of resources to keep AlluxioFuse processes always running. Only when application pods are ready will the AlluxioFuse processes be launched.

The new Alluxio CSI driver implementation further supports starting the AlluxioFuse process in its own pod. The lifecycle of the Fuse process can thus be independent from CSI Nodeserver to improve its stability. See CSI documentation for more information about Alluxio CSI driver and how to enable this functionality.

Improve Alluxio Metrics

Alluxio 2.8.1 further improves the Alluxio metrics for better monitoring the Alluxio system.

  • Enable monitoring Alluxio metrics through JMX (4e57dea)
  • Add more GRPC metrics (385cd9
  • Fix max reservoir metric initialization (8a7ee7d)
  • Expose RockDB metrics as Alluxio metrics (89f9087)

IMPROVEMENTS

General Improvements

  • Create automatic backup when shutting down Alluxio master (eaf803c)
  • Support stat a file through file id (837c8c)
  • Improve eviction on cache retrieval if cache is full (3b23f34)
  • Add new api to support loading batch of blocks into Worker efficiently (fe54e6f)
  • Implement load API (50a282e)
  • Optimize the access speed of the inAlluxioData UI page (c2218d1b)
  • Add cache for CapacityBaseRandomPolicy (3b1bdb3)
  • Improve Alluxio CSI (6e57678)

Testing

  • Add RocksDB and inode JMH benchmark (6d9d50)
  • Add compaction stress benchmark (b3d5c4)

BUG FIXES

  • Fix S3 UFS thread number bug (074870)
  • Fix 2GB file size limitation with s3 rest API (htca824c6)
  • Support parsing resolved InetSocketAddress string (c45c4a)
  • Support KiB, MiB, and more in Alluxio to embrace Kubernetes (5dbaa96)

ACKNOWLEDGEMENTS

We want to thank the community for their valuable contributions to the Alluxio 2.8.1 release. Especially, we would like to thank:

Haoning Sun, secfree, Baolong Mao, Bing Zheng, Ce Zhang, Chenliang Lu, Yaolong Liu, Luo Yili, Bob Bai, Deepak Shivamurthy, Jiaming Mai, Bin Ling, Jiahao Liu, Pan Liu, Shuai Wuyue, Xi Chen, Xinli Shang, Xuanlin Guan, Yuedong Wu, adol001, cangyin, dangweisysu, flaming archer, qian0817, singer-bin, xpbob, yangchenye, yuyang wang

Enjoy the new release and look forward to hearing your feedback on our community slack channel.