Skip to content

Releases: juicedata/juicefs

v0.12.1

15 Apr 08:30
Compare
Choose a tag to compare

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

  • Fixed ranged get for swift (dcd7057).
  • Fixed random read benchmark on files larger than 2G (#305).
  • Fixed listing of files on root directory in Windows (#306)

v0.12.0

12 Apr 04:09
Compare
Choose a tag to compare

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 and mp) 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

01 Mar 08:38
a354b98
Compare
Choose a tag to compare

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

29 Jan 07:00
4c56261
Compare
Choose a tag to compare

New

  1. A Java SDK was released to provide HDFS compatible API for Hadoop ecosystem.
  2. Added juicefs umount to umount a volume.
  3. Added juicefs benchmark to do simple benchmark (read/write on big/small files)
  4. Merged juicesync into juicefs sync.
  5. Support Sina Cloud Storage.
  6. Support Swift as object store.

Changed

  1. Release memory in read buffer after idle for 1 minute.
  2. Ignore invalid IP (for example, IPv6) returned from DNS of object store.
  3. Improve performance for huge directory (over 1 millions)
  4. Retry operations after Redis is disconnected or restarted.
  5. Added cache for symlink.

Bugfix

  1. Fixed errno for getattr in Darwin when no extented attributes found.
  2. Updated length in readers to allow read latest data written by other clients.

v0.9.3

18 Jan 15:33
b65dc21
Compare
Choose a tag to compare

This release includes BREAKING changes and a few bugfix:

New

  1. Support rados in Ceph.
  2. Allow update access key and secret key with existing volume.

Changes

  1. Changed to logging into syslog only when running in background.
  2. Changed to use lower cases for command options.
  3. Disable extended attributes by default, which slow down operations even it's not used.

Improvements

  1. Allow non-root to allow in macOS.
  2. Check configs of redis and show warning when there are risks for data safety or functions.
  3. Added volume name in macOS.
  4. wait the mountpoint to be ready when it's mounted in background.

Bugfix

  1. Fixed a bug in ReaddirPlus which slows down tree travelling.
  2. Fixed leaking of extended attributes in Redis.
  3. Fix a bug that truncate may delete slices written in future.

v0.9.2

15 Jan 07:40
Compare
Choose a tag to compare

This release addressed all the known issue reported from community since first public release.

  1. Added a flag -d to mount in background
  2. Finish compaction part 2: copy small objects into bigger one.
  3. Added pessimistic lock to reduce contention for Redis transaction, to avoid failure under high pressure.
  4. Show . and .. when list a directory with -a in Linux.
  5. Fixed errno for getxattr on internal files.
  6. Fixed local block cache.
  7. Support Scaleway and Minio as object store.
  8. Support mount using /etc/fstab and auto mount after boot.
  9. Added an option --force to overwrite existing format in Redis.
  10. log INFO into syslog, also DEBUG in daemon mode.