4.04
What's New
This release added a weed mini -dir=xxx command. It is a convenient command for beginners or test/dev environment. It would automatically starts a master, a volume server, a filer, a s3 server, a web DAV server, an admin server, and a worker. It would also automatically avoid already allocated ports and find another port to use.
The easiest way to get an object store up and running:
export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
weed mini -dir=/data
What's Changed
-
Mini
- Add 'weed mini' command for S3 beginners and small/dev use cases by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7831
- feat: auto-configure optimal volume size limit based on available disk space by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7833
- feat: add automatic port detection and fallback for mini command by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7836
-
Shell
- Humanize output for
weed.serverby default by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7758 - Fix uncleanable size=0 orphans with volume.fsck -forcePurging by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7783
- fix: sync replica entries before ec.encode and volume.tier.move by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7798
- Give
cluster.statusdetailed file metrics for regular volumes by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/7791 - Add cluster.raft.leader.transfer command for graceful leader change by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7819
- fix: EC rebalance fails with replica placement 000 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7812
- Humanize output for
-
S3 API
- s3: fix PutObject ETag format for multi-chunk uploads by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7771
- s3: warm bucket config cache on startup for multi-filer consistency by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7772
- fix: add S3 bucket traffic sent metric tracking by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7774
- feat: add S3 bucket size and object count metrics by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7776
- s3: fix memory leak in ListObjectVersions with early termination by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7785
- s3: add pagination to getObjectVersionList and reduce memory by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7787
- s3: reduce ObjectVersion memory by not retaining full Entry by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7786
- s3: fix remote object not caching by @G-OD in https://github.com/seaweedfs/seaweedfs/pull/7790
- Fix S3 server panic when -s3.port.https equals -s3.port by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7794
- fix: ListBuckets returns empty for users with bucket-specific permissions by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7799
- fix: use unique bucket name in TestS3IAMPresignedURLIntegration to avoid flaky test by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7801
- fix: authenticate before parsing form in IAM API by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7803
- fix: S3 versioning memory leak in ListObjectVersions pagination by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7813
- fix: reduce N+1 queries in S3 versioned object list operations by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7814
- fix: S3 remote storage cold-cache read fails with 'size reported but no content available' by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7817
- s3api: fix bucket-root listing w/ delimiter by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7827
- Fix SeaweedFS S3 bucket extended attributes handling by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7854
- Fix: Eliminate duplicate versioned objects in S3 list operations by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7850
-
Filer
- filer: improve FoundationDB performance by disabling batch by default by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7770
- fix: JWT validation failures during replication (#7788) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7795
-
Volume Server
- fix: handle missing idx file for empty volumes during copy (#7777) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7778
- fix: correctly detect missing source file during volume copy by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7784
- Fix volume repeatedly toggling between crowded and uncrowded by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7793
-
Admin Server
- Fix EC Volumes page header styling to match admin theme by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7780
- Fix admin GUI list ordering on refresh by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7782
- Fix worker and admin CA by @MorezMartin in https://github.com/seaweedfs/seaweedfs/pull/7807
- fix: improve worker reconnection robustness and prevent handleOutgoing hang by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7838
- Fix worker reconnection race condition causing context canceled errors by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7825
- fix: prevent panic on close of closed channel in worker client reconnection by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7837
-
FUSE Mount
- fix: improve mount quota enforcement to prevent overflow by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7804
- mount: efficient file lookup in large directories, skipping directory caching by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7818
-
Master
- fix: initialize missing MasterOptions fields in master.follower by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7808
- fix: use consistent telemetryUrl default in master.follower by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7809
- Upgrade raft to v1.1.6 to fix panic on log compaction by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7811
-
Misc
- Add consistent -debug and -debug.port flags to commands by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7816
- refactor: remove unused gRPC connection age parameters by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7852
- Make lock_manager.RenewInterval configurable in LiveLock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7830
- fix: enable RetryForever for active-active cluster sync to prevent out-of-sync by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/7840
New Contributors
- @G-OD made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/7790
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.03...4.04