This is the second patch release for JuiceFS v1.4. It has 33 commits from 13 contributors, thanks to @jiefenghuang @zhijian-pro @solracsf @zxh326 @myangitzh @polyrabbit @gmaruzz @kungf @nueks @prOOrc @stevapple @YuarenArt @zhitaoli-6
Bugfix
- chunk: prevent incorrect reads after object storage timeouts (#7503, #7500, #7509, #7520)
- chunk: prevent zstd decompression from overwriting adjacent slices (#7556)
- vfs/meta: fix ioctl flag permission checks and prevent clearing unrelated flags (#7408, #7694)
- fuse: prevent unintended tier resets with writeback caching (#7697)
- meta: fix format races, configuration corruption, and reload regressions (#7378, #7661, #7669, #7679)
- meta: check sticky-directory permissions before rename type mismatches (#7468)
- meta: prevent data loss caused by stale transaction retry state (#7460, #7477)
- meta/sql: prevent lost namespace updates during concurrent operations (#7476)
- meta/sql: prevent concurrent garbage collection from deleting live slices (#7449)
- meta/sql: retry transient PostgreSQL errors during leader changes (#7650)
- meta/redis: prevent session heartbeat failures under high client concurrency (#7336)
- meta/redis: release shared file locks during stale session cleanup (#7340)
- meta: fix cleanup of detached trees containing immutable files (#7407)
- meta/backup: fix goroutine leaks and excessive memory usage with subdirectory mounts (#7445, #7599)
- mount: avoid interrupting in-flight requests during graceful restart (#7417)
Build
- build: fix Java SDK cross-compilation and release failure handling (#7371)