JuiceFS v1.0.0-beta2 is the second beta release for v1.0. It has 150+ commits from 16 contributors, thanks to @SandyXSD @zhijian-pro @yuhr123 @xiaogaozi @davies @sanwan @AIXjing @Suave @tangyoupeng @zwwhdls @201341 @zhexuany @chnliyong @liufuyang @rayw000 @fredchen2022 !
New
- Supports [BadgerDB](https://dgraph.io/docs/badger/) (an embeddable key-value database) as metadata engine (#1340)
- Supports [WebDAV](https://en.wikipedia.org/wiki/WebDAV) protocol to access JuiceFS files (#1444)
- Supports read-only clients connecting to a Redis Sentinel-controlled replica (#1433)
- Added version control of metadata and clients (#1469)
- Added categories and long descriptions for all commands (#1488, #1493)
- Added a new option
no-bgjob
for service commands to disable background jobs like clean-up, backup, etc. (#1472) - Added metrics for number of rawstaging blocks (#1341)
- Added cross-platform compile script (#1374)
Changed
- cmd: help command is removed; use --help/-h flag to get help information (#1488)
- cmd: print usage if not enough args (#1491)
- cmd/format: only try to create bucket when it really doesn't exist (#1289)
- cmd/format: prevend reusing object storage when formating a volume (#1420, #1449)
- cmd/destroy: show information of active sessions (#1377)
- cmd/config: add sanity check of new values (#1479)
- cmd/umount: ignore error from umount (#1425)
- meta: add progress bar for CompactAll (#1317)
- meta: hide password in meta-url (#1333, #1361)
- meta: use
META_PASSWORD
env and omit unnecessary characters (#1388) - meta: limit the number when scanning sessions/files (#1397)
- meta: limit the number of clients running background cleanup jobs (#1393)
- meta: continue dump when encountering non-fatal errors (#1462)
- meta/sql: increase max idle connections to CPU*2 for SQL engine (#1443)
- object: set ContentType when putting object (#1468)
- object: support skip https certificate verify (#1453)
- object/s3: format support pvc link (#1382)
- object/qingstor: support private cloud and replace the sdk repository (#1303)
- vfs: don't do backup for read-only clients (#1435)
- vfs: add
BackupMeta
in config (#1460) - utils: log now contains the exact line of caller, and is colorized in terminal (#1404, #1318, #1312)
- utils: simplify the usage of progress bar (#1325)
- utils: add SleepWithJitter to reduce collision of background jobs (#1412)
- SDK: upgrade Hadoop common to 3.1.4 (#1411)
- SDK: java sdk push gateway support multiple volumes (#1492)
- Other: update chart move it to a standalone repository (#1281, #1336, #1348)
- Improves documentation and coverage of tests
Bugfix
- cmd: fix buffer-size in gc and fsck (#1316)
- cmd/bench: convert PATH to absolute path (#1305)
- meta: return EROFS as soon as possible (#1477)
- meta/redis: fix leaked inodes in Redis (#1353)
- meta/tkv: fix divide by zero error when dumping meta (#1369)
- meta/tikv: fix scan of tikv, limiting the upperbound (#1455)
- meta/memkv: fix scanKeys, returning a sorted list (#1381)
- meta/sql: delete warning message for empty directory (#1442)
- meta/sql: fix return value of mustInsert (#1429)
- vfs: fixed deadlock when truncate a released file handle. (#1383)
- vfs/trash: fix access to trash dir (#1356)
- vfs/backup: skip dir objects when scanning meta backups (#1370)
- vfs/backup: fix incorrect inode number when using subdir (#1385)
- utils: fix the contention between progress bar and logger (#1436)
- Windows: fix rename fails because the chunk file is still open (#1315)
- Windows: fix mkdir on windows platform (#1327)
- SDK: hadoop: fix umask apply (#1338, #1394)
- SDK: hadoop: fix libjfs.so load bug (#1458)
- other: fix legend of "Operations" panel in Grafana template (#1321)