Release Notes
note
These release notes are specifically for JuiceFS Cloud Service. For information about the release notes of JuiceFS Community Edition, please check out our GitHub page.
JuiceFS 5.1.4 (2024/11/4)
- Bugfix
- S3 Gateway always returns
Content-Type
header. - Fixed the bug that stagging blocks are not uploaded after restart.
- S3 Gateway always returns
JuiceFS 5.1.3 (2024/10/28)
- New
- Import accessing directory on demand.
- Improved
- Improved the performance of memory allocation.
- Bugfix
- Fixed the long timeout of AWS IAM.
- Fixed multipart upload of US3.
- Fixed
warmup
with file list.
JuiceFS 5.1.2 (2024/10/16)
- Improved
- Support
--cache-expire
for in-memory cache.
- Support
- Bugfix
- Fixed watchdog.
- Run the version with Ceph support in same process.
- Python SDK: increase default buffering to 128K
- Fixed the bug that rename and unlink may crash.
- Support XattrNoSecurity in macOS.
JuiceFS 5.1.1 (2024/9/19)
- Improved
- Improved the speed of sequatial reads in the Python SDK.
- Improved the warmup of distributed cache with a backup copy.
- Improved detection of disk failures.
- Added
--group-compress=false
to disable compression for remote cache.
- Bugfix
- Fixed the problem that watchdog may kill the service process when meta is not available.
- Fixed a problem causing the loss of FUSE requests after service process restarts.
- Fixed a crash occurring during the List operation in S3 Gateway.
JuiceFS 5.1.0 (2024/9/10)
- New
- Support writing data via mirror file systems (beta).
- Added Python SDK with full data read/write support (beta).
- Support distributed cache with two replicas.
- S3 Gateway supports multi-user and authentication management.
- Added the
compact
command to compact data fragments under specific paths. - Added the
--skip-trash
option to thermr
command so that it can delete files directly. - Added
--update
and--force-update
options to theimport
command so that it can update existing files easily. - Added "dummy" and "null" object storages for testing purposes.
- Improved
- Added more monitoring metrics.
- Improved the performance when modifying the trash time.
- Improved the performance when importing files.
- Asynchronously write error logs to avoid slow disks affecting service.
- Limit the number of CPU cores (
GOMAXPROCS=16
) by default to avoid CPU usage spikes during network congestion. - Reduced the memory usage of client cache to improve the performance of accessing directories.
- Improved the performance of List on S3 Gateway.
- Support using
--max-write
to adjust the size of FUSE write requests. - Enhance the
warmup --check
command to display detailed cache locations. - Added
mount --cache-large-write
to force cache large blocks. - Support using
--cache-size=-1
to use all available space on the cache disk. - Support
--cache-expire
to evict cache blocks by time, same as the Community Edition. - Support smooth upgrades on macOS.
- Added
auth --encrypt-keys
to make stronger encryption for private information in the configuration file. - Display global options when running commands with
--help
. - In Java SDK allow setting
juicefs.groups
to the user group information. - Allow viewing configurations of Java SDK in the console.
- Avoid creating too many threads in the Java SDK.
- Automatically ignore JuiceFS blocks when importing the bucket currently used.
- Support using
destroy --force
to skip cleanup of the object storage. - Fixed the issue that the
info
command may return inaccurate block information. - Fixed the issue that the memory cache may become too large in extreme cases.
- Fixed the issue that the
debug
command may get stuck under some circumstances. - Extend the default timeout for distributed cache to
65
seconds and make it configurable. - In the
clone
command improved the support for ACLs, etc. - In Java SDK added support for
juicefs.umask
. - Added
--create
to thequota
command to create directories automatically. - Added the
--max-readahead
option to control the read-ahead window for sequential reads. - Reduce read amplification when accessing distributed caches without a single cache.
- Improved the speed of scanning metadata in the
gc
andfsck
commands. - Limit the number of concurrent requests processed by cache nodes to avoid overloading, and indicate clients to access the object storage directly.
- Log error messages that lead to cache nodes disconnected.
- Reduce stress on metadata services when deleting large cloned directories.
- Improved the performance of
objbench
.
- Bugfix
- Fixed compatibility issue with file extended attributes on macOS.
- Fixed ACLs for split directories.
- Fixed the issue that
readdir
may return duplicate files if it is interrupted. - Fixed the issue that clients may crash when they fail to get local IP.
- Fixed the issue that the
summary
command may not merge information of split directories. - Fixed the bug that
--max-delete
does not working. - Fixed the bug when using
objbench
to test file system functionalities.
JuiceFS 5.0.25 (2024/9/2)
- Bugfix
- Fixed the issue that
warmup --evict
may wrongly delete the data to be uploaded in writeback mode.
- Fixed the issue that
JuiceFS 5.0.24 (2024/9/2)
- Improved
- Allows block device writes to stop completely.
- In
objbench
reduce the number of List operations to the number of threads.
- Bugfix
- Fixed the issue that the
gc
command may misclassify normal data as a leak when scanning large metadata for more than an hour. - Fixed the issue that the
debug
command fails to run in CSI. - Fixed the issue that in
warmup --check
the connections become short when cache is missing.
- Fixed the issue that the
JuiceFS 5.0.23 (2024/8/2)
- Improved
- Allows some of the clients mount with shared block devices while others don't.
- Added
--object-clients
to improve performance when accessing object storage.
JuiceFS 5.0.22 (2024/7/30)
- Improved
- Support skipNBytes in Java SDK
- Bugfix
- Fixed the crash after misformed meta response.
- Fixed the cache group in writable mirror.
JuiceFS 5.0.21 (2024/6/28)
- New
- Added
--weight-unit
to calculate--group-weight
.
- Added
- Bugfix
- Fixed the dead loop with broken splitted directory.
- Fixed the import command (introduced since 5.0.18).
- Fixed the bug when import objects into an encrypted volume.
JuiceFS 5.0.19 (2024/6/20)
- Improved
- Support async DIO
- Speedup List in S3 gateway
- Bugfix
- Fixed the crash when cache group is used with writable mirror.
- Fixed the operation failure when a writable mirror is just mounted.
- Fixed the hanging warmup when disk is out of space
- Fixed the failed PUT caused by staled metadata cache
- Fixed the ineffectness of metadata cache of splitted directoires in S3 gateway.
JuiceFS 5.0.18 (2024/6/3)
- Improved
- Reduce the memory usage when cache disk is full
- Donot block deletion when compaction is busy.
- Bugfix
- Fixed some compatibility issues of S3 gateway.
- Fixed the metric of failed FUSE operations.
- Fixed the stale attributes after ACL update.
JuiceFS 5.0.17 (2024/5/2)
- Improved
- Redirect requests of remote cache to expected nodes.
- Fetch cache blocks from existing nodes for new added node.
- Fixed meta cache for root.
- Avoid duplicated notify FUSE calls.
JuiceFS 5.0.16 (2024/4/16)
- Improved
- Reduce the thoughput for balancing of distributed cache.
- Remove the cache disk after 10 failures in 10 minutes.
- Increase the retry for writable mirror.
- Balance the hot cache first.
- Avoid the concurrent balancing.
- Added logging for adding/removing cache nodes.
- Improved the QoS for failed requests.
- Improved the write performance in
writeback
mode.
- Bugfix
- Fixed the stale metrics of size of cached blocks (introduced in 5.0.15).
JuiceFS 5.0.15 (2024/4/7)
- Improved
- Improved readahead for requests acrossing block borders.
- Remove a cache disk after 10 faluires.
- Fixed the stale write caused by compaction.
- Bugfix
- Fixed the inbalance between disks in cache cluster.
- Fixed the missing metrics when read imported file from other buckets.
JuiceFS 5.0.14 (2024/3/25)
- New
- Added priority (
--cache-prioirty
) for warmup command.
- Added priority (
- Improved
- Reduced the memory usage of idle directories.
- Stop write cache blocks when no space left in cache disk.
- Bugfix
- Fixed the in-memory cache (introduced in 5.0.0).
- Fixed the stale xattr in writable mirror.
JuiceFS 5.0.13 (2024/3/19)
- Improved
- Improve the speed of destroy.
- Bugfix
- Fixed the possible deadlock when kill a mountpoint.
- Fixed the problem in Java SDK that may write to closed file.
- Fixed the problem that Java SDK may fail to initialize.
- Fixed the sticky bit when sync files using jfs://
- Fixed the deadlock when copy_file_range on itself.
JuiceFS 5.0.12 (2024/3/4)
- Bugfix
- Fixed the permission check when list a splitted directory.
- Fixed the crash the mount a mirrored volume without data replication.
JuiceFS 5.0.11 (2024/2/19)
- Improved
- sync: support files larger than 10 TiB
- Bugfix
- Fixed the stale attribute of directory in metadata cache.
- Fixed the high CPU utilization when initialize the Java SDK.
JuiceFS 5.0.10 (2024/1/24)
- New
- Added
--sort-dir
to ensure the order for files returned by readdir to support nfsd. - Added
--hide-internal
to hide internal files.
- Added
- Improved
- Add metrics for the duration of background jobs.
- Increased timeout to 60 seconds for disk operations.
JuiceFS 5.0.9 (2024/1/20)
- Improved
- Log all failed requests (except 404) in error log of gateway.
- Added generated request ID into the access log of gateway.
- Bugfix
- Fixed the bug that we can't sync files with long names using
jfs://
. - Fixed the bug that the PUT object request may fail in gateway under high concurrent workload.
- Fixed the bug that we can't sync files with long names using
JuiceFS 5.0.8 (2024/1/13)
- Improved
- Retry the new added cache peer up to 5 times.
JuiceFS 5.0.7 (2024/1/7)
- New
- Added
--log
to specify the path of error log forgateway
andwebdav
. - Added
--access-log-files
to control the numbber of logging file for gateway.
- Added
- Bugfix
- Fixed the bug that mount may fail to generate endpoint for object store.
- Fixed the bug that import command cannot access object store.
JuiceFS 5.0.6 (2023/12/21)
- Bugfix
- Fixed the symlink with absolute path using jfs://.
- Used the passphrase in configuration.
JuiceFS 5.0.5 (2023/12/14)
-
New
- Added mount option
--initial-readahead
to boost the performance for sequential read.
- Added mount option
-
Improved
- Support dummy interface for
--group-network
.
- Support dummy interface for
-
Bugfix
- Fixed the bug that it may fail to sync a large file with long name to COS.
- Fixed the bandwidth limit for background jobs.
JuiceFS 5.0.4 (2023/12/7)
- Bugfix
- Fixed the bandwidth limitation for background jobs.
- Fixed the mount with subdir token.
- Fixed upgrade when there is a mount point running in a container.
- Fixed the crash when there is a corrupted block in disk.
- Fixed repeated check for endpoint during mount.
- Fixed the problem that
-o background
does not work in a container. - Fixed the cached gids when pid is reused.
- Fixed the mount issue when mount point is the same as the volume name.
- Fixed the attribute of cached directories.
JuiceFS 5.0.3 (2023/11/30)
-
New
- Added
--group-network
and--group-port
to specify the network interface and port. - Added
juicefs.flip
for Java SDK.
- Added
-
Improved
- Increased the maximium readahead to 512 MiB for single file.
- Download the version with Ceph support for all the commands.
- Reduce the read amplification for small continious read.
- Check cache-size before warmup, and give a warming when there is no enough space.
-
Bugfix
- Fixed the bug that may crash when list from Ceph.
- Fixed the bug that warmup may hang after client restart gracefully.
- Fixed the bug that may cause deadlock when mount in background.
- Fixed the bug that client will crash when fail to get the configuration after 10 tries.
JuiceFS 5.0.2 (2023/10/16)
-
New
- Support JFS_NO_CHECK_OBJECT_STORAGE=1 to skip the test for object storage.
-
Improved
- Speed up the mount process.
- Support have a dedicated cache node on the same machine.
- Reduce the frequency to check disk usage to avoid the high CPU usage when disk is full.
-
Bugfix
- Fixed the wrong mode when chmod failed.
- Invalidate the cache after link.
- Fixed the fallocate and copy_file_range when there is holes in the file.
JuiceFS 5.0.1 (2023/10/30)
-
New
- Support multi-attach block storage as writeback cache
- Merges file blocks into a single object after specified period.
- Support block cache for imported files.
- Evict block cache for given files or directories.
- Check the block cache for givin files or directories.
- Support storage class as a mount option.
- Support different weight for each cache node.
- Decommission a cache node by given weight to 0.
- Support eviction policy
none
(no eviction).
-
Improved
- Balance between cache nodes.
- Verify checksum for all block cache.
- Remove broken cache disk after I/O or timeout.
- Manage multiple cache disk using consistent hash.
- Reduced the memory usage when list a huge directory.
- Detect symlink loops in gateway and Java SDK.
- Delete the cached block in distributed mode.
- Improved the efficiency of compaction.
- loging the request ID in error logging.
JuiceFS 4.9.23 (2023/10/18)
- Bugfix
- Fixed leaked file created by S3 gateway.
JuiceFS 4.9.22 (2023/9/20)
- Improved
- Fill the remote cache in writeback mode.
JuiceFS 4.9.21 (2023/9/14)
- Improved
- Reduce the data fragment for continious write.
- Improve the performance for small write when buffer is running out.
- Reduces used buffer when object storage is slow.
- Bugfix
- Fixed the deadlock when bandwidth limit is low
JuiceFS 4.9.19 (2023/8/31)
- Improved
- Interrupt the read/write requests after 5 minutes.
- Interrupt all the FUSE operations after 6 minutes.
- Bugfix
- Fixed the deadlock during graceful upgrade.
- Fixed the warning about UUID.
JuiceFS 4.9.18 (2023/8/25)
- Improved
- Retry the metadata requests after 1 minutes.
- Avoid the DDOS from warning up metadata cache from lots of clients in the same time.
- Bugfix
- Fixed the deadlock during umount.
JuiceFS 4.9.17 (2023/8/21)
- Bug 修复
- Fixed the hang when updating mtab.
JuiceFS 4.9.15 (2023/8/7)
- Bugfix
- Fixed the bug that client crash when list a corrupted directory.
JuiceFS 4.9.14 (2023/7/27)
- New
- Support Gluster as an object storage
- Support access symlink with absolute path under given mount point.
JuiceFS 4.9.11 (2023/6/29)
- Improved
- Added
--prefix-internal
tomount
command to avoid conflict on internal files.
- Added
JuiceFS 4.9.10 (2023/6/26)
- Bugfix
- Fixed graceful restart which could be deadlock under heavy workload.
- Fixed wrong length of files after merged small writes (introduced by 4.9.6).
- Fixed the errno handling of quota command.
JuiceFS 4.9.9 (2023/6/19)
- Improved
- Removed unnecessary memset, speedup data reading.
- Added options of JuiceFS client to
sync
command.
JuiceFS 4.9.8 (2023/6/15)
- Improved
- Reduce the warning when rebuild the block cache.
JuiceFS 4.9.7 (2023/6/12)
-
Improved
- Added
--inplace
forsync
to update files in JuiceFS inplace to reduced the number of files in trash and write traffic.
- Added
-
Bugfix
- Fixed the bug that may cause deadlock (introduced by 4.9.5).
- Fixed the bug that rename operation may crash (introduced by 4.9.3)
JuiceFS 4.9.6 (2023/6/1)
- Improved
- Supports
umask
when sync files into JuiceFS usingjfs://
. - Speedup compaction by reading files in parallel.
- Reduce repeated compaction for first few slices.
- Combined the small slices into bigger one by delay the flush when it's closed frequently.
- Supports
JuiceFS 4.9.5 (2023/6/1)
- Bugfix
- Fixed the endpoint for KS3.
- Fixed race for UID when it's changed.
- Fixed use-after-free of context.
- Fixed the wrong errno for getxattr on internal files.
- improved
- Reduced the warning on UID conflict.
- Improved the accuracy on bandwidth limitation.
- Scan deleted files for gc to reduce false-negative.
JuiceFS 4.9.4 (2023/4/19)
-
Improved
- logging all the errors for meta connections.
-
Bugfix
- Fixed warmup when mounted with subdir (introduced by 4.9.0)
JuiceFS 4.9.3 (2023/4/19)
- Improved
- Pass secrets into child process using PIPE.
- Show capacity for the directory in
df
command. - Don't merge large directory when try to remove a non-empty directory.
- Bugfix
- Fixed permission check for CopyFileRange when user is in multiple groups.
JuiceFS 4.9.2 (2023/4/19)
- New
- Added command
quota
to manage quota for directories.
- Added command
- Improved
- Limit the total bandwidth for data replication.
JuiceFS 4.9.1 (2023/4/6)
-
Improved
- Improved robustness for data replication.
-
Bugfix
- Fixed the bug that cause crash when data replication enabled.
- Fixed the UID conflict in Java SDK.
- Invalidates the stale length for fallocate.
JuiceFS 4.9.0 (2023/3/8)
-
New
- Added sub-commands: gateway, WebDAV, debug, summary, clone, sync, stats, profile, status, destroy, bench, objbench, load, fsck, gc
- Support using multiple buckets for data storage.
- Check the command options of clients from Web console.
-
Improved
- Compatible with S3A.
- Reduce the 404 requests after data compaction.
- Improve the management for trash from mount point (.trash/).
- Bind to 127.0.0.1 rather than localhost for debug agent.
- Use HTTP DNS as backup to discover the IP of metadata service.
- Limit the wait for blocking write to 1 seconds.
- Improved performance for cached metadata.
- Reduce read amplification in distributed cache.
- Use 0755 as mode for recovered directory.
- Support encrypted OBS bucket.
-
Bugfix
- Fixed the error code for not-existed objects.
- Fixed list on empty directory.
-
Java SDK
- Support user mapping rule in Kerberos
- Support dedicated cache cluster for Hadoop
- Support access rule which allow access from Java SDK only.
- Redirect all the logging into Java logging.
- Speed up read with smaller buffer (< 128KB).
- Cleanup cached blocks while scanning.
- Restricted access within subdir for S3 gateway and Java SDK.
- Use JuiceFS to store list of nodes.
- Fixed conflict on dependencies.
JuiceFS 4.8.7 (2023/2/28)
- Bugfix
- Huawei OBS returns wrong data when reading the last byte.
JuiceFS 4.8.6 (2023/2/16)
- Bugfix
- Fixed the write failure of EPERM when writeback_cache is enabled.
JuiceFS 4.8.5 (2023/2/7)
- Bugfix
- Fix writeback mode (since 4.8.1)
JuiceFS 4.8.4 (2023/1/9)
-
Changes
- Switch to writethrough when the cache disk is almost full.
- Allow use different scheme to access JuiceFS in Impala.
- Reduced the CPU contension of FUSE threads in machines with many cores.
- Improved stability of import command.
-
Bugfix
- Fixed the crash of warmup command.
- Don't rebalance the cached blocks in Java SDK.
- Fixed the stale cache in readdir.
- Fixed doubled duration of PUT object request.
JuiceFS 4.8.3 (2022/11/30)
- Changes
- Allow configure the number of retry on object storage.
- Delay the deletion of slices after compaction by 60 seconds.
JuiceFS 4.8.2 (2022/11/24)
- Bugfix
- Downgrade Apache Ranger to 2.1.0 to fix compatibility.
- Fix the conflict of jersey in Java SDK.
- Fixed DNS of OBS in Javqa SDK.
JuiceFS 4.8.1 (2022/10/28)
-
New
- Support Volcano Engine.
- Support changing hash prefix for existing volume.
-
Changes
- Added 5 seconds timeout for wmic in Windows.
- Added more tracking for memory allocation once refcount is wrong.
- Don't use writeback mode for compaction.
- Use AWS_REGION to specify the region for KS3 on premise.
- Adjust the timeout for download to make sure it will timeout under low bandwidth.
- Limit the number of concurrent remote cache requests to 1000 to avoid fighting for bandwidth.
- Don't count the memory used for cache migration under
buffer-size
.
-
Bugfix
- Fixed the race for disconnected peers.
- Fixed the bug that lookup fails in splitted root directory.
- Fixed the low performance when more than 4 threads reading same file in Java SDK.
- Invalidate the kernel entry cache after rmr in Linux.
- Fixed the race on writing metadata requests.
- Fixed that bug that readahead could be wrong in Java SDK.
JuiceFS 4.8.0 (2022/08/25)
-
New
- Support Kerberos in Java SDK.
- Support Apache Ranger in Java SDK.
- Added
dump
command to dump metadata into JSON file. - Added
--fsck
argument to check data integrity. - Support Java SDK for Apple M1 chips.
- Added
--readdir-cache
argument to enable readdir cache in kernel.
-
Changes
- Allow warmup and rmr from inside of containers.
- Shows the progresss of warmup and rmr.
- Reduce the memory usage when listing lots of files.
- Improved the performance to list files in trash.
- Returns the status of ACL in Java SDK.
- Reduced the lock contension for readdir.
- Allow delay hflush to improve the performance for writing WAL in HBase.
- Show .stats and .accesslog in mountpoints.
-
Bugfix
- Fixed a bug for creating multiple snapshots for single directory using Java SDK.
- Fixed putting objects ending with
/
in S3 gateway. - Fixed the checksum for files with special sizes in Java SDK.
JuiceFS 4.7.6 (2022/07/15)
- Bugfix
- Fixed the bug that the client may crash becaused of wrong requests for remote cache.
JuiceFS 4.7.5 (2022/06/24)
- Bugfix
- Don't reuse the fd in Java SDK.
- Fixed the bug that it may read stale data after truncate and append (there is open fd).
JuiceFS 4.7.4 (2022/05/27)
- Changes
- Keep the metadata cache until expired.
JuiceFS 4.7.3 (2022/04/20)
- Bugfix
- verify length of pending blocks in writeback mode.
JuiceFS 4.7.2 (2022/04/06)
- Changes
- Verify the ETag returned from OBS.
JuiceFS 4.7.1 (2022/03/14)
-
Changes
- Reduce the speed of rebalancing cached blocks to reduce impact.
-
Bugfix
- Fixed unnecessary rebalancing between processes in the same host.
- Fixed the connection leak related to distributed cache (introduced in 4.5.6).
JuiceFS 4.7.0 (2022/02/23)
-
New
- Support Apache Ranger to manage file permission.
- Added .accesslog (same as the Community Edition).
- Moves cached blocks to new added nodes (1 hour after added).
- Use S3 gateway to enumerate multiiple buckets.
-
Changes
- Fail the mount faster when fail to connect to metadata service.
- Reduced boot time for Java SDK.
- Saves configuration in
conf-dir
(rather than the.juicefs
subdirectory). - Improved memory efficiency for metadata cache.
- Persistent UID mapping to fix conflicts.
- Enable permission checking in kernel for ACL.
- Fail the snapshot when permission denied.
- Increased the default cache-size to 100GB.
- Users in supergroup are super users.
- Allow use read-only AK to mount JuiceFS in read-only mode.
-
Bugfix
- Fixed the permission checking in concat of Java SDK.
- Fixed a bug that could cause deadlock when truncating a file.
- Fixed the nlink for empty directory.
JuiceFS 4.6.2 (2022/02/11)
- Bugfix
- Fixed a deadlock in distributed cache.
- Fixed umask in Java SDK.
- Fixed inconsistency of mtime in Java SDK.
JuiceFS 4.6.1 (2022/01/18)
- Changed
- Optimize metadata cache to reduce the overhead.
- Increase max background jobs in FUSE to 200.
- Allow
--subdir
without prefix/
.
- Bugfix
- Fixed a race condition when get requests timeout (recovered panic).
JuiceFS 4.6.0 (2021/12/09)
- Changed
- Added metrics for open fd and threads
- Compatible with Apache Impala>=3.4
- Added the address for debug in .jfsconfig.
- Changed bsize and frsize in statvfs from 64K to 4K.
- Resolve IPv4 address only for meta DNS.
- Added more metrics for distributed cache.
- Show the files and total size as the attribute of .trash.
- Bugfix
- Fixed the problem that total size of cached blocks is not accurate.
- Client crashs when listing a directory with snapshot (created by Java SDK) in it.
JuiceFS 4.5.6 (2021/11/03)
- New
- Support using JuiceFS as a cache layer for NFSv3 backend.
- Allow write files back into source storage when it's used as a cache layer.
- Build the remote cache in other peers (can be disabled by
juicefs.write-group-cache=false
) - Support Kite.
- Changed
- delete the source files once concat() succeed (be compatible with HDFS).
- Improve performance of concat in Java SDK.
- Changed the number of prefetch threads from 3 to 1 to reduce the bandwidth contension.
- Bugfix
- Fixed the bug that stops overwrite objects from S3 gateway (introduced by 4.5.5).
- Fixed the bug that copy_file_range failed with EACCES.
JuiceFS 4.5.5 (2021/10/15)
- New
- Allow gradeful upgrade and recovery for mountpoint, we can upgrade the running JuiceFS clients without stop the applications.
- Added –block-interrupt to specify the period to mask interruption (an operation will not be interrupted before that).
- Changes
- Support Hadoop 2.6.
- Logging all the failed operations.
- Purge the parts for successful multipart uploads.
- Enable kernel cache when –opencache is used.
- Improved the performance for random read/write on big files.
- Returns the unread bytes for current file (to be compatible with HDFS).
- Order the entries from list in Java SDK (to be compatible with HDFS).
- Bugfix
- Allow disable BSD and POSIX separately.
- Support secret key with / for KS3.
- Fixed the bug that concat may generate wrong result in rare cases.
- Allow failover for nfsd over JuiceFS.
JuiceFS 4.5.4 (2021/09/07)
- New
- Support adding quota using Java API.
- Added
--group-ip
to specify the IP used by group cache.
- Changed
- Detech deadlock (EDEADLK) in POSIX lock.
- Improve perforemance of warmup command.
- Bugfix
- Fixed the counter of read bytes in Java SDK.
- Fixed the range of POSIX lock (off by one).
- Fixed createing or replacing extened attributes.
JuiceFS 4.5.3 (2021/08/19)
- New
- The data migration tool supports Hive 3.
- Rebuild the cached blocks after the disk is lost and replaced.
- Added
--log
and--umask
for S3 gateway. - Allow restore files from mount point (move the files out of .trash).
- Improvements
- Remove expired chunk faster to reduce memory usage.
- Added the failed cached nodes back once it's healthy.
- Speedup warmup by skipping existing cache blocks.
- Supprot FUSE option nonempty.
- Bugfix
- Fixed the bug that could cause data loss in Huawei OBS SDK (retry failed request).
- Fixed the bug that could overwrite existing data in mixed read/write workload.
- Fixed the bug about multipart upload in S3 gateway.
JuiceFS 4.5.2 (2021/07/25)
- New
- Added a metric for the number of open files.
- Allow changing the duration to block interruption using JFS_BLOCK_INTERRUPT=N.
- Added a argument (
--down-limit
) to limit the download bandwith.
- Improvements
- Deduced the memory usage for cached blocks.
- Decreased the scan frequence from once in 5 minutes to once in 24 hours.
- Simplify the way to launch tools from Java SDK.
- Reduced the memory usage for data encyrption and decryption.
- Refresh the UID/GID list to recognized the changed UID.
- Bugfix
- Fixed the problem that the metric of used memory could be wrong.
- Fixed the memory leak in reading.
- Fixed the deadlock caused by low bandwidth.
- Hided . and .. from List of WevDAV.
- Fixed the memory leak in Backblaze client.
JuiceFS 4.5.1 (2021/06/17)
- Improvements
- Limit the used memory to 200% of
--buffer-size
. - Remove slf4j from bundles to avoid potential conflict.
- Expire cached blocks faster to reclaim space.
- Limit the used memory to 200% of
- Bugfix
- Limt the number of returned items from List operation to 1000.
JuiceFS 4.5.0 (2021/05/26)
- New
- Allow distributed cache with fixed set of machines using
--cache-group
and--no-sharing
. - Added
--max-cached-inodes
to specify the max number of cached inodes. - Support warmup a list of files from a text file.
- Support Linode.
- Allow distributed cache with fixed set of machines using
- Improvements
- Cleanup the cached block inmediately if it's full.
- Improve warmup to make sure all files are cached.
- Build Java SDK for Windows.
- Improve the memory allocation to reduce CPU usage.
- Bugfix
- Fixed a bug that could cause deadlock under heavy workload and the connection to metadata server is closed.
- Fixed downloading a directory in S3 gateway.
- Fixed the bug that cause EINVAL for flock.
- Fixed the nlink for a file in trash.
JuiceFS 4.4.10 (2020/04/02)
- New
- Support using JuiceFS as a cache layer for other POSIX file system (
--source-dir
). - Support Scaleway.
- Added
--disallow-list
to disallow listing in WebDAV.
- Support using JuiceFS as a cache layer for other POSIX file system (
- Improvements
- Support macOS FUSE v4.x
- Improve performane on read small files in Apache Spark and Hadoop MR.
- Disallow interription for open/mkdir, which is handled by many application.
- Bugfix
- Fixed a bug that cause expected interruption on FUSE requests.
- Fixed a bug that could hang a request under heavy contension.
- Fixed a bug in gofuse that crash the client (close a closed channel).
- Fixed the incorrect statvfs when no space left.
- Fixed a bug that cause false negative cache for xattr.
JuiceFS 4.4.9 (2020/11/16)
- New
- Released a tool to migrate data from HDFS to JuiceFS gracefully.
- Support IBM COS.
- Change
- Interrupt write operations in compatible mode.
- Improve performance when librados was used to talk to Ceph.
- Follows symlink when deleting files or directories using Hadoop SDK.
- Bugfix
- Fixed a bug when listing a directory with symlinks.
- Fixed a bug in Hadoop SDK when file is closed twice.
JuiceFS 4.4.8 (2020/10/21)
- New
- Use JuiceFS as a transparent caching lay for HDFS.
- Change
- Added checksum for meta requests.
- How used space for mounted subdir instead of whole volume.
- Support symlink for all operations in Hadoop SDK.
- Improve date locality when cache shareing is enabled.
- Updated
/etc/mtab
with Go FUSE.
- Bugfix
- Fixed a bug that may cause crash during write operation.
- Fixed a bug that may cause POSIX lock to fail.
JuiceFS 4.4.7 (2020/09/18)
- New
- A HTTP gateway compatible with S3 was beta released, which works with POSIX and Hadoop SDK.
- The HTTP API embeded in client is compatible with WebDAV.
- The bandwidth to object storage used by all clients can be controlled.
- The FUSE module in Go was enabled by default, could be disabled using GOFUSE=0.
- Change
- Improved the performance of concurrent reading on the same big file.
- Limit cached metadata to 5 millions of inodes (up to 5 minutes).
- Dump all the goroutines once fail to flush data.
- Limit getattr(1) and statvfs to 300ms, so
df
will not block.
- Bugfix
- Fixed the problem that initialization fail always once interruptted.
JuiceFS 4.4.6 (2020/08/14)
- New
- Added faster FUSE module (in Go), which could be enabled by GOFUSE=1.
- Support copy_file_range() to allow faster copy.
- Added a parameter to control the number of threads to prefetch caching blocks.
- Supports MIPS64EL (Loongsun CPU).
- Added performamce counters in .stats.
- Supports internal endpoint for Qiniu.
- Change
- Show used space as 64KB instead of 0 when it's less than 64KB.
- Avoid crash when running out of memory.
- Check usage of inodes in caching disk to avoid running out.
- Show name of volume in macOS Finder.
- Free space earlier for removed blocks.
- Bugfix
- Fixed a bug with metadata cache, wrong attributes for resued inodes after 24 hours.
- Fixed a compatibility issue between Presto and Hadoop SDK.
- Fixed idempotency of putting a object to Qiniu.
- Fixed mounting with GCS.
JuiceFS 4.4.5 (2020/07/2)
- New
- Windows client supports case insensitivity.
- Hadoop SDK support symlink to other system, for example, HDFS://nm1:8080/xxxx
- Added a configuration for grouping in Hadoop SDK (refreshed in every 2 minutes).
- Changes
- Show total of lengths instead of billing size in
hadoop fs -du
(same as HDFS). - Check permission of AK/SK with prefix during mounting.
- Show total of lengths instead of billing size in
- Bugfix
- Fixed I/O exception when read failed.
- Fixed potential deadlock in compatible mode.
JuiceFS 4.4.4 (2020/06/14)
- New
- Added
--ioretries
to specify number of retry after metadata failure. - Added
--cache-partial-only
to only cache blocks for small files or partial read.
- Added
- Changes
- Improved performance of random write.
- Improved performace of compacting.
- Reduced the number of PUT requests when append on multiple files by combining them together.
- Bugfix
- Fixed the memory issue when compacting is too slow to catch up.
- Fixed a issue that Hadoop SDK can not fetch node lists from YARN.
- Fixed stale cache after inode is removed and reused again.
JuiceFS 4.4.3 (2020/05/20)
- New
- Windows client is available to enterprise customers, which supports Windows Server 2012, Windows 10.
- Supports ARM64.
- Supports caching data in memory, which could be enabled by
--cache-dir memory
. - Hadoop SDK supports p2p caching.
- Changes
- Random read support on p2p caching.
- Improved performance for random read.
- Bugfix
- Fixed the problem that wrong data could be returned from Aliyun OSS when range is overflow.
- Fixed the partial listing when empty result returned from Aliyun OSS bucket with multiple versions enabled.
- Fixed a bug that backend is overloaded when many clients try to cleanup fail parts in the same time.
- Fixed a compatibility issue with CDH 5.8.
JuiceFS 4.4.2 (2020/04/22)
- Bugfix
- Fixed the bug that could cause loss data during compacting under heavy write in writeback mode. The service is patched to workaround that by disallow compaction on buggy versions, which are 4.3.14, 4.4.0, 4.4.1 (build between 2/28/2020 and 4/09/2020). Please upgrade to 4.4.2 if you use writeback mode.
JuiceFS 4.4.1 (2020/04/12)
- New
- Supported TiKV as object storage.
- Added a rule to disallow background job for some clients (see access control in web console).
- Supported LZ4 as compression algorithm, faster than Zstandard, but lower compression ratio.
- Supported all flags for fallocate.
- Changes
- Improved performance for sequential read on large files.
- Improved performance in writeback mode.
- Changed the algorithm to distribute the cache blocks within multiple caching directories.
- Show PID in the logging.
- Add a configuration to change the replica of cached blocks.
- Bugfix
- Fixed a bug that wildcast can only match some caching directories.
- Fixed a bug in Hadoop SDK that fails to list files with more than 127 characters in the name.
- Fixed confusing error message after read/write failure in Hadoop SDK.
JuiceFS 4.4.0 (2020/03/12)
- New
- Added
--subdir
to specify the subdirectory to mount (default:/
). - Added
--buffer-size
to specify the memory used by read/write buffers, it's 300MB by default. - Added
--free-space-ratio
to specified the minimum free space for caching disk. - Added arguments to disable POSIX or BSD lock.
- Added
- Change
- Huge improvements on readahead and memory management, memory usage decreased signafically.
- Added retries for write to reduce I/O Error.
- Improved performance for disk cache.
- Bugfix
- Fixed a bug that could cause data corrupted under a random read pattern in Hadoop SDK .
JuiceFS 4.3.14 (2020/02/20)
- New
- Change the storage format of existing file system (compatible or optimized).
- Added benchmark command (
juicefs benchmark
).
- Change
- Reduced memory usage when writing files.
- Bugfix
- Fixed the problem that warmup command that it could not warm up the whole big file.
- Fixed the problem that it fail to create a GCS bucket when mounting for first time.
JuiceFS 4.3.13 (2020/01/20)
- New
- Added
--max-space
for mount command to limit the capacify of mount point. - Added
--put-timeout
to specify the timeout to upload a object, which will be retried. - Added a configuration (
juicefs.superuser
) for Hadoop SDK to specify the super user.
- Added
- Change
- Changed UserAgent to JuiceFS for requests to Tencent Cloud COS.
- Supported Amazon S3 bucket with
.
in the name. - Support listing a directory with more than 10 millions of files.
- No more syslog from Hadoop SDK.
- Bugfix
- Fixed the bug that posixlock/flock may fail with EIO.
- Fixed the bug that the cached nlink is not invalidated properly.
- Fixed that problem that temporate token for Aliyun OSS is not refreshed properly.
- Fixed that problem that mtime is not updated properly in Hadoop SDK.
JuiceFS 4.3.12 (2019/11/14)
- New
- Supports POSIX ACL of Hadoop File System.
- Supports file checksum in Hadoop File System, which is compatible with HDFS, allows DistCp to compare the checksum of files in JFS againt HDFS. It should be enabled by
juicefs.file.checksum = true
. - Added statistics for operations in Java client.
- Change
- Speedup rename() of Java client, only one RPC needed in common case.
- Improved memory efficiency when read many files.
- Bugfix
- Fixed a bug which may hang the mount point during poor network condition.
- Fixed a bug which cause wrong file syze for imported objects (since 4.3.11).
JuiceFS 4.3.11 (2019/10/17)
- New
- Supports Beansdb.
- Supports extended attributes in Hadoop connector.
- Cleanups files in Hadoop trash based on trash time.
- Added
--get-timeout
to specify the max number of seconds to download a object.
- Change
- Improved the performance when metadata is not cached yet.
- Interrupt timeouted read/write operations in close.
- Added checksum for S3/OSS/COS for better data intergraty.
- Allows more data (unlimited) to be cached in writeback mode.
- Slowdown deletions to avoid spikes.
- Create caching directories (matched with wildcast), could be turned off in Java client by
juicefs.auto-create-cache-dir=false
. - Cleanup cached blocks when free space ratio is low than 20%.
- Bugfix
- Fixed a bug that causes UID was mapped twice in snapshot/rmr.
- Fixed a bug that causes block can not be recovered correctly.
JuiceFS 4.3.10 (2019/9/2)
- New
- Allows concurrent write on same file from multiple clients.
- Allows use JuiceFS SDK with any schema, for example,
s3://volume/path
. - Added
--opencache
to speed up open operation. - For replicated volumes, writes will failover to secondary object storage in case of primary failure.
- The operations are idempotent during retring after failover.
- Change
- Improved the consistence guarantee for metadata cache.
- Improved write performance for compatible mode and random read performance for big files.
- Improved the compatibility and performance for JuiceFS SDK.
- Improved the performance when access JuiceFS via mount point in Hadoop (with JuiceFS SDK).
- Bugfix
- Fixed the problem that data could be corrupted if there are multiple flush during writes in compatible mode.
- Fixed the problem that DigitalOcean bucket can't be created during mounting.
JuiceFS 4.3.9 (2019/6/24)
- New:
- Hadoop client for JuiceFS is released as beta, is compatible with all Hadoop components.
- New profiling tool for JuiceFS:
juicefs profile
.
- Change:
- Improve write performance by reducing RPC calls to metadata service.
- Discover newly created user/group on client host.
JuiceFS 4.3.7 (2019/5/17)
- New:
- Supports using multiple directories for disk cache, by putting them in
--cache-dir
(separate by:
). - Supports kernel writeback cache with
-o writeback_cache
(needs Linux Kernel 3.15 and above), which can boost the performance for random write. - Supports Wasabi.
- Supports using multiple directories for disk cache, by putting them in
- Change:
- Improved performance for random write (merge continious write together).
- Change the fstype from
fuse
tofuse.juicefs
, so we can stop mlocate from indexing files in JuiceFS by putfuse.juicefs
into PRUNEFS. - Improved metadata cache for better performance.
- Improved readahead for better reading performance.
- Improved connection pool for OSS.
- Reduces the HEAD request during GC.
- Decreases the parallelism of compaction and synconization, reduces memory usage.
- Bugfix:
- Fixed a bug when importing a single object.
- Added a workaround for kernel 3.1- which does not unflock the file before release.
JuiceFS 4.3.6 (2019/4/1)
- New:
- Supports Huawei Cloud OBS.
- Supports MinIO as object storage.
- Bugfix:
- Fixed the counter of packets sent to metadata service.
- Fixed the problem that failed retry (fixed in 4.3.1) of appending causes broken file during failover. It's recommended to upgrade to latest version if the client is older than 4.3.1 .
JuiceFS 4.3.5 (2019/2/20)
- New:
- Supports 32-bit Linux.
- Added lsof: List open files in last 10 minutes.
- Added warmup: Download the blocks for all files in a directory in parallel, and fill them into local cache for future use.
- Support Aliyun RAM role for ECS: Once a RAM role with OSS permissions attached to ECS, no AK is required during mounting (use empty string instead)
- Change:
- Improved writing performance in writeback mode (upload all the blocks in background).
- Improved reading performance for small files when metadata cache is enabled.
- Bugfix:
- Fixed cache space overflow in writeback mode (
--writeback
). - Fixed permission error when metadata cache is enabled (
--metacache
)。 - Fixed the I/O error in batch mode (
--batch
).
- Fixed cache space overflow in writeback mode (
JuiceFS 4.3.3 (2018/11/20)
- New:
- Added new options to tune meta cache in kernel:
--attrcacheto
,--entrycacheto
,--direntrycacheto
。 - Allow remember passphrase (could be empty) using
juicefs auth --passphrase
.
- Added new options to tune meta cache in kernel:
- Change:
- Improved counters of API calls in
.stats
, more acurate. - Remove the floating-point encoding for size of directory in command line (no upgrade required).
- Added build date and Git revision to version string.
- Allow disable cache using
--cache-size 0
. - Disable the watch dog who checks the healthy of mount point.
- Disable HTTP/2 for Azure to increase parallism.
- Improved counters of API calls in
- Bugfix:
- Allow access Qiniu with HTTP (default is HTTPS).
- Fixed the problem which cause client crash when cleaning fragments in compatible mode.
- Fixed problem with concurrent cache loading.
- Fixed the AppID for COS.
- Fixed
juicefs grep -v
for inverse match.
JuiceFS 4.3.2 (2018/10/07)
- New
- Configurable compresssion: Compressed by Zstandard by default, could be turned off for better random read performance.
- Expose client metrics using APIs: The metrics (/.stats) from clients are exposed in JSON API and Prometheus API.
- New metrics in clients: read_bytes, write_bytes, uptime, cpuusage, memusage
- Added Append Only accessing rule: Allow read and write new data, deletion and modification on existing data are disallowed.
JuiceFS 4.3.1 (2018/09/14)
- New:
- Configurable block size: default is 4MB, could be configured to 64K - 16M. For example, a smaller block size could improve the performance for random read (lower latency and higher IOPS).
- Change:
- Improved performance and stability of mounting, especially when the DNS is slow or non-repsonsive.
- Improved support for KSYun, which can create the KS3 bucket as requested.
- Improved the error messages when invalid command is provided.
- Bugfix:
- Fixed the bug that the upgrade version is not showed properly.
- Fixed the duration between retry of connecting, which may cause IOError before.
- Fixed the bug when JuiceFS is mounted to a relative path.
JuiceFS 4.3.0 (2018/08/22)
- New:
- Data encryption: Objects are encrypted using AES-256-GCM with a random generated key. The key is encrypted by a RSA private key and stored together with encrypted objects. RSA private key could be managed separately, or by Juicedata (protected by passphrase).
- Added argument to limit the QPS of deletion to object store.
- Added argument to limit the bandwidth of writing to object store.
- Support Baidu Cloud.
- Support Digital Ocean.
- Changes:
juicefs
will not upgrade itself automatically, should be done manually byjuicefs version --upgrade
.- Support FUSE fallocate():
--fallocate=none
is not needed when benchmarking with fio. - Speedup importing: Added inode cache, skip imported objects faster.
- Bugfix:
- For busy read/write/truncate operations, stale length may cause I/O error.
- I/O error when decompressing objects with unpected more data.
- FD leak when concurrent open() in compatible mode.
- limit of LIST request for Tencent COS is over 1000.
- High CPU usage when localhost can't be resolved to 127.0.0.1.
- correctly handle the tailing
/
.
JuiceFS 4.2.7 (2018/03/24)
- New:
- Add stats for List operations.
- Support hardlink in compatible mode.
- Allow modification on existing files in compatible mode (slow).
- Changes:
- Disabled trash in compatible mode, which may cause data lose.
- Improved performance on listing huge directory.
- Wait for completion of file deletion in compatible mode.
- Improved memory efficiency.
- Bugfix:
- Fixed availble space and inodes in vfsstat.
- Fixed the pemission checking for rmr by non-root.
- Fixed a potential deadlock when busy writing.
JuiceFS 4.2.6 (2018/03/05)
- New:
- Add compatible mode, files will be saved as single object with the full path as key, so they could be accessed using the RESTful API.
- Small files could be combined into larger object to save PUT requests. This could be enabled by
--writeback --batch
. - Support Backblaze B2.
- Changes:
- When run in foreground (-f), DEBUG log will not go into syslog.
JuiceFS 4.2.5 (2018/01/31)
- New:
- Remove all files and subdirectories quickly, see
juicefs rmr
for details. - Add a option to serve files using HTTP when mounting.
- Add statistics for object storage accessing into .stats
- Remove all files and subdirectories quickly, see
- Improvements:
- Improve performance and reduce memory usage.
JuiceFS 4.2.4 (2017/12/10)
- New:
- Global Mirroring: we could help user to setup read-only mirror of JuiceFS in any regions of cloud provider, they have near real-time copy of all data (delay in seconds).
- Enabled cache sharing within group. A group name could be specified when mounting (--group-name), all the clients with the same group name will share cache with each other, greatly improve the performance for hot dataset.
- Enabled Web UI for trash, user could restore the files in trash from web console, or clean them up to release space.
- Support Jingdong Cloud.
- Support Meituan Cloud.
- Improvements:
- Improvement performance of cache sharing, decrease CPU and memory usage.
JuiceFS 4.2.3 (2017/11/15)
- New Features:
- Garbage collection: The client will scan all the objects to find out unused ones and clean them every week.
- Add new attribute
--gc
to run garbage collection immediately. - Add P2P cache sharing for clients, they in the same intranet could share memory and disk cache to increase the hit ratio, improve the performance for hot data, decrease requests/cost of object storage.
JuiceFS 4.2.2 (2017/11/08)
- New Features:
- Support zero-copy concat for files, see
juicefs merge -h
for details. This feature require all the clients to upgrade to 4.2.1 and above, otherwise the merged files can't be read by older clients - Allow mounting a non-empty directory.
- Support zero-copy concat for files, see
- Improvement:
- Improve the background replication to make sure that writing will not be slowed down when there is no enough bandwidth for replicaiton.
- Add DNS cache in process for UFile, improve the performace and stability.
- Bug Fix:
- Fixed the issue that cached root can't be invalidated correctly.
JuiceFS 4.2.1 (2017/11/02)
- New Features:
- Improve the performance of random write (ten times faster).
- Support Kubernetes Flex Volume, JuiceFS could be driver, implement init, mount and unmount
- Support Microsoft Azure.
- Support Netease Cloud.
- Forbideen xattr as default, could enable by
--enable-xattr
- Open transfer encrypted between metadata service and object storage as default.
- Auto synchronize replicated object storage, one time per week, don't run
juicefs heal
manually.
- Improvement:
- Compact small chunks of single files into bigger one in background.
- Improve read performance for small files, reduce the latency for first byte.
- Reuse the HTTP connections for better performance and stability.
- Increase the duration between retry.
- Bug Fix:
- Fixed the issue that JuiceFS overwrite the symlink during upgrading.
JuiceFS 4.1.26 (2017/10/5)
- New Features:
- Auto create bucket in object storage at you first mounting.
- Support non-root user mount
- Improvement:
- Use musl to replace glibc for static linking.
- Decrease memory usage on random write.
- Optimize Copy operation of the UFile, improve the performance and decrease the bandwidth requirement.
- JuiceFS auto selects Python2 or Python3 environment, support almost Linux distribution.
JuiceFS 4.1.25 (2017/9/16)
- New Features:
juicefs version
to show client version.- Add limit for the client currency amount, 10 for free plan, 100 for stanard trial, 1000 fro standard, no limit in enterprise plan.
- Support Tencent Cloud COS(V5 API).
- Add slow operation log for object storage(> 10s).
- Improvement:
- Exit with non-zero if there is something wrong in JuiceFS.
- Increase the parallism of upload to 50 to speed up performance for write.
- Cleanup cached chunk in local disk, when there is no enough space.
JuiceFS 4.1.24 (2017/9/3)
- New Features
- Change the nlink of directory to the number of inodes.
- Change the quota from number of files to number of inodes. Each directory or symlink will also be billed as 256K.
- Add operation time into oplog, add a syslog for operations which took longer than 10 seconds.
- Make all the operations to be interruptable, which could allow the application could be killed or interrupted if metadata service or objct storage is not available.
- Bug Fix:
- Fix bug for the client aborting on write failure
JuiceFS 4.1.23 (2017/8/4)
- Improvement:
- Add local cache for uncompressed data block, highly improved random reading performance
- Increase re-try times 3 to 10 for object storage operation
- Exit after mount is successful
JuiceFS 4.1.21 (2017/7/17)
- Improvement:
- Optimize encrypted transportation.
- Speed up the download in China.
JuiceFS 4.1.20 (2017/7/14)
- Improvement:
- Improve the performance on write with local cache.
JuiceFS 4.1.18 (2017/7/3)
- Improvement:
- Improve the performance of metadata service, support 300K+ QPS.
JuiceFS 4.1.17 (2017/6/20)
- New Features:
- Support Qiniu cloud storage.
- Bug Fix:
- Fix import file bug.
JuiceFS 4.1.15 (2017/6/2)
- New Features:
- Support Unix permissions based on username rather than local UID/GID. The clients tranlates local UID/GID to unique UID/GID based on username, make sure the users from different machines with same name works seamlessly like in same machines.
- Improvement:
- Support partitioning of objects to avoid the limitation in S3 that single partition can have limited QPS. This should be specified when creating the filesystem, can't be changed anymore.
- Improve the performance to 10K+ QPS on metadata writing
- Bug Fix:
- Fixed the problem that causes wrong mtime on files after untar.
JuiceFS 4.1.13 (2017/5/24)
- New Features:
- Support KSYun
- Support fast import from Object Storage, no data copy, more than 10K objects per second, see
juicefs import -h
- Improvement:
- Cache the directories in client to enable faster lookup, which are tracked by metadata service and invalidate when needed. This is enabled by
--dircache
. The cached items expire after 5 minutes. - Don't output log than quit when syslog is unavailable.
- Decrease size of the client from 18MB to 4MB, download faster.
- Improve the performance that copy to another object storage, reduce its impact on write performance.
- Cache the directories in client to enable faster lookup, which are tracked by metadata service and invalidate when needed. This is enabled by
- Bug Fix:
- Fix aborting issue when client can't connect to the metadata service.
JuiceFS 4.1.11 (2017/4/26)
- New Features:
- Replicate data to another object storage in different region or cloud.
- Check and sychronize all the objects in the replicated two object stores (
juicefs heal
). - Change the size of directory to billing size rather than the logical sum of length of all files. nlink of directory means the number of files in that directory.
- Bug Fix:
- Fixed an overflow issue that causes the client to hang under heavy concurrent write workload.