JuiceFS v1.0.0-beta1 is the first beta release for v1.0, arrived three months after v0.17. It has 300+ commits from 22 contributors, thanks to @SandyXSD @davies @xiaogaozi @yuhr123 @zhijian-pro @sanwan @zwwhdls @tangyoupeng @Suave @chiyutianyi @201341 @suzaku @reusee @tisonkun @chenjie4255 @dragonly @nature1995 @fredchen2022 @Shoothzj @nsampre @supermario1990 @sjp00556 !
JuiceFS v1.0.0-beta1 is released under the Apache License 2.0.
New
- Backups the whole metadata as a compressed JSON file into object storage in every hour by default, so we can get most of the data back in case of losing the entire meta database. (#975)
- Added trash bin: removed or overwritten file will be moved to trash bin, will be deleted after configured days. (#1066)
- Added
config
command to update configuration of an existing volume (#1137) - Added
destroy
command to clean up all data & metadata of a volume (#1164) - Added a option to limit the concurrent deletes (#917)
- Added a option to register prometheus metrics api to consul (#910)
- Added a option to S3 gateway to keep the etag information of uploaded objects (#1154)
- Added
--check-all
and--check-new
to verify data integrity (#1208) sync
command supports anonymous access to S3 (#1228)
Changed
- meta: don't return EINVAL when encountering unknown flags (#862)
- cmd/bench: remove default benchmark PATH (#864)
- hadoop: sort list res to compatible with hdfs (#889)
- expose metrics in S3 gateway (#897)
- cleanup broken mountpoint (#912)
- cmd/info: add '--recursive' flag to get summary of a tree (#935)
- cache: force sync upload if local disk is too full for writeback (#943)
- Speed up metadata dump&load for redis (#954)
- fsck: list broken files (#958)
- write to json file by stream (#970)
- speedup listing on file (#622)
- meta: unify transaction backoff for redis/tkv (#999)
- speed up metadata dumping and loading for Tikv V2 (#998)
- check AK and SK for gateway (#1001)
- add a option to provide customized bucket endpoint (#1008)
- change frsize to 4096 (#1016)
- Speed up dump for sql engine (#1006)
- format support provide only bucket name (#1022)
- meta/tkv: fix clean stale session (#1041)
- add namespace and label to existing metrics (#1056)
- release memory after dumping meta (#1093)
- meta: unify counters for all metadata engines (#1119)
- Keep SGID for directory (#1133)
- Speedup hadoop concat by delete src concurrently (#1163)
- change default cache-size to 100GB (#1169)
- metrics: expose only JuiceFS metrics to prometheus (#1185)
- cleanup reference of unused slice in gc command (#1249)
- Adjust log level for xorm and TiKV when they are in use (#1229)
- hadoop: Users in supergroup are superusers (#1202)
- Check permission with multiple groups (#1205)
- Ret the region of the object storage compatible with the s3 protocol from the env (#1171)
- Added prefix to metrics in gateway (#1189)
- improve s3 url parsing (#1234)
Bugfix
- go-fuse: return ENOSYS if xattr is disabled (#863)
- Fix WebDAV backend (#899)
- meta: always update cache after got newest attributes (#902)
- sql.go: fix delete file range error (#904)
- meta: update parent when rename (#905)
- sqlmeta: fix delete chunk sql error (#931)
- Fix the bug that file credential authentication fails when using GCS (#933)
- hadoop: compatible with kitedata in sqoop parquet use case (#941)
- Fix redis-sentinel addresses parsing (#953)
- utils: fix cond and its test (#983)
- workaround for List with marker (#984)
- sync: ignore broken symlink (#1015)
- meta/sql: fix delete condition (#1018)
- metadata: should not skip error if open a file not exist (#1035)
- Fix minio with sync (#1055)
- meta: remove xattr only when nlink <= 0 (#1078)
- meta/sql: fix parentDst nlink in rename (#1082)
- Fix upload bandwidth limit (#1086)
- Fix lua script handling big inode number (#1095)
- meta: fix lookup of corrupt entries (#1098)
- Fix potential metadata corrupt in Redis caused by gc (#1110)
- Fix fmtKey to sliceKey (#1143)
- Fix mkdir/rename/delete/rmr with trailing slash (#1149)
- Fix gateway GetObjectInfo http code 500 to 404 (#1158)
- meta: fix nlink of parentDst in rename (#1170)
- Sync: distinguish DeleteSrc from DeleteDSt (#1197)
- Fix subdir in S3 gateway (#1201)