Releases: juicedata/juicefs
Releases · juicedata/juicefs
v0.12.1
JuiceFS v0.12.1 had fixed a few bugs and improvements on scalability.
Changes
- Only cleanup leaked chunk in
juicefs gc
, which may overload redis on larger cluster (6358e38). - Improve sessions cleanup to avoid scanning all keys (#293).
- Use hash set for refcount of slices to avoid scanning all keys (#294).
- Cleanup zero refcount of slices to save memory (#295).
- Support case insensitivity in Windows (#303).
Bugfix
v0.12.0
JuiceFS v0.12 was arrived 1 month after v0.11, with more than 70 changes from 7 contributors (@davies @xiaogaozi @chnliyong @tangyoupeng @Arvintian @luohy15 @angristan), thanks to them.
New
- Supports Windows (#195, #268 #271).
- Added
juicefs gc
to collect garbage in object store (#248, #290). - Added
juicefs fsck
to check the consistency of file system (#253). - Added
juicefs info
to show internal information for file/directory (slow for large directory)(#288).
Changes
- Added prefix (
juicefs_
) and labels (vol_name
andmp
) for exposed metrics. - Support path-style endpoint for S3 compatible storage (#175).
- Added
--verbose
as an alias to--debug
. - Support proxy setting from environment variables for OBS (#245).
- Wait for block to be persistent in disk in writeback mode (#255).
- Change the default number of prefetch threads to 1.
- Fail the mount if the mount point is not ready in 10 second in daemon mode.
- Speed up
juicefs rmr
by parallelizing it. - Limit the used memory to 200% of
--buffer-size
(slow down if it's above 100%). - Reload the Lua scripts after Redis is restarted.
- Improved compaction to skip first few large slices to reduce traffic to object store (#276).
- Added logging when operation is interrupted.
- Disable compression by default (#286).
- Limit the concurrent deletion of objects to 2 (#282).
- Accept named options after positional argument (#274).
Bugfix
- Accepts malformed repsonse from UFile (f4f5f53).
- Fixed
juicefs umount
in Linux (#242). - Fixed order of returned objects from listing on SCS (#240).
- Fixed fetching list of nodes in Java SDK when a customized URL handler is set (#247).
- Support IPv6 address for sftp(#259).
- Fixed build with librados (#260).
- Supports relative path when mount in background (#266).
- Fixed
juicefs rmr
with relative path. - Cleanup unused objects after failed compaction.
- Fixed updated files and permissions in sftp.
v0.11.0
New
- Added S3-compatible gateway based on MinIO (#178).
- Expose metrics for Prometheus (#181), also a Grafana dashboard template.
- Support copy_file_range in FUSE (#172) and concat in Hadoop SDK (#173).
- Support data encryption at-rest (#185).
- Support China Mobile Cloud (ECloud) (#206).
- Added
juicefs rmr
to remove all files in a directory recursively (#207). - Support Redis with Senitel (#180).
- Support multiple directories for disk cache.
Changed
- Increased read timeout for Redis from 3 seconds to 30 seconds to avoid IO error (#196).
Bugfix
- Fixed a bug that caused recent written data can't be read back (#157).
v0.10.0
New
- A Java SDK was released to provide HDFS compatible API for Hadoop ecosystem.
- Added
juicefs umount
to umount a volume. - Added
juicefs benchmark
to do simple benchmark (read/write on big/small files) - Merged juicesync into
juicefs sync
. - Support Sina Cloud Storage.
- Support Swift as object store.
Changed
- Release memory in read buffer after idle for 1 minute.
- Ignore invalid IP (for example, IPv6) returned from DNS of object store.
- Improve performance for huge directory (over 1 millions)
- Retry operations after Redis is disconnected or restarted.
- Added cache for symlink.
Bugfix
- Fixed errno for getattr in Darwin when no extented attributes found.
- Updated length in readers to allow read latest data written by other clients.
v0.9.3
This release includes BREAKING changes and a few bugfix:
New
- Support rados in Ceph.
- Allow update access key and secret key with existing volume.
Changes
- Changed to logging into syslog only when running in background.
- Changed to use lower cases for command options.
- Disable extended attributes by default, which slow down operations even it's not used.
Improvements
- Allow non-root to allow in macOS.
- Check configs of redis and show warning when there are risks for data safety or functions.
- Added volume name in macOS.
- wait the mountpoint to be ready when it's mounted in background.
Bugfix
- Fixed a bug in ReaddirPlus which slows down tree travelling.
- Fixed leaking of extended attributes in Redis.
- Fix a bug that truncate may delete slices written in future.
v0.9.2
This release addressed all the known issue reported from community since first public release.
- Added a flag
-d
to mount in background - Finish compaction part 2: copy small objects into bigger one.
- Added pessimistic lock to reduce contention for Redis transaction, to avoid failure under high pressure.
- Show
.
and..
when list a directory with-a
in Linux. - Fixed errno for getxattr on internal files.
- Fixed local block cache.
- Support Scaleway and Minio as object store.
- Support mount using /etc/fstab and auto mount after boot.
- Added an option
--force
to overwrite existing format in Redis. - log INFO into syslog, also DEBUG in daemon mode.