v1.0.3
juicedata/juicefsv1.0.3Dec 27, 2022by SandyXSD
AI Summary
This is the third patch release for v1.0, introducing support for TOS object storage and improving performance and resource usage across various components.
Key Highlights
- Support TOS as object storage
- Increase default max-deletes from 2 to 10
- Customize permission of cache files
- Improve object buffer size and read performance
- Reduce number of max readers in FUSE
New Features
- TOS object storage support
- New mount options (e.g., `--cert-file`, `--key-file` for webdav)
- New config options (e.g., `--dir-stats`, `--upload-limit`, `--download-limit`)
- New fsck option `--repair`
- New dump option `--keep-secret-key`
- New status option `--more`
- New sync options (e.g., `--manager-addr`, `--existing`, `--ignore-existing`)
- TLS options for Redis meta
- Schema option for Postgres meta
- Copy interface for objects
- Replication config for HDFS
- Hadoop `no-session` option
Full Release Notes
This is the third patch release for JuiceFS v1.0. It has 35 commits from 9 contributors, thanks to @zhijian-pro @SandyXSD @davies @tangyoupeng @Hexilee @baifachuan @neocxf @cmmp6 @zhoucheng361 ! # New - Support TOS as object storage (#2909, #2912, #2914) # Changed - cmd: increase default value of max-deletes from 2 to 10 (#3080) - cmd/mount: support customizing permission of cache files (#2976) - meta: use an independent lock for session so it won't affect workloads (#3000) - meta: limit cleanupDelayedSlices by time, which may speed up the cleanup (#3079) - meta: force delete file data when cleaning up trash (#3119) - meta/sql: set global lock for sqlite3 transactions to reduce conflict (#3046) - chunk/cache: cleanup cached objects during scaning (#3113) - object: increase buffer size from 4KB to 32KB, which can reduce CPU utilization for syscalls (#3072) - object/encrypt: support PEM in PKCS8 (#3065) - object/bos: support user choosing http or https (#2978) - object/ks3: support both public and private regions (#3104) - fuse: reduce number of max readers to save CPU utilization for hosts with many CPU cores (#3069) - hadoop: improve the read performance when buffer size < 128 KiB (#3004) - hadoop: add timeout for pushgateway (#3044) - deps: upgrade tikv client-go to v2.0.2 (#2947) # Bugfix - cmd/objbench: fix the issue that latency is wrongly calculated (#3100) - cmd/gateway: fix the issue than HEAD a non-existent directory returns 200 (#2955) - meta: fix the issue that client may crash when the value of slices is corrupt (#2876) - meta: fix the issue that password may be exposed when meta engine is not available (#3003) - meta: fix the issue that cleanup trash may run infinitely when there is a bad entry (#3032) - meta/redis: fix the issue that slice may leak when deleting chunk (#2879) - meta/sql: do not use the number of affected rows returned by update (#2986) - object/sftp: fix the issue that special characters in username and password are not properly handled (#2981) - object/s3: fix the issue that endpoint is wrongly parsed for oracle cloud (#3075) - object/obs: fix the issue that etag is not correct when obs enables encrypted (#3098) - hadoop: fix the issue that the running process may crash if the local juicefs-hadoop.jar is deleted (#2906) - hadoop: fix the issue that thread may leak because emptier filesystem is not properly closed (#3090)