v0.8.0
What's Changed
Added
-
Distributed backend wiring (
internal/distributed/):ClusterManager.SetBackendandCoordinator.backendwire thetypes.BackendS3 backend intoexecuteLocally, replacing the in-process stub with realGetObject/PutObject/DeleteObject/ListObjectscalls; nil backend returns a descriptive error instead of phantom data (#85) -
Distributed cache invalidation (
internal/distributed/): NewMessageTypeCacheInvalidategossip message type,ClusterManager.SetCache/InvalidateCacheKeymethods, andhandleIncomingMessagedispatch that callscache.Delete(key)on all peers within one gossip round-trip (#86) -
S3 backend benchmarks (
internal/storage/s3/backend_bench_test.go): Nine benchmarks covering GetObject 1 KB / 1 MB / 10 MB, PutObject 1 KB / 1 MB, DeleteObject, ListObjects 100 / 1000 entries, concurrent Get, and latency distribution; use an in-process stub — no AWS credentials required (go test -bench=. ./internal/storage/s3/...) (#88) -
pjdfstest POSIX harness (
scripts/pjdfstest.sh): Shell script that mounts ObjectFS against a test bucket, runs the pjdfstest suite for POSIX compliance validation, and unmounts on exit;make test-posixtarget added to Makefile (#89) -
Java 17 SDK (
sdks/java/): Maven SDK withObjectFSClient(get, put, delete, list, head, mount, unmount, isHealthy),ObjectFSConfig(builder pattern),ObjectInfo,MountOptions,ObjectFSException,NotFoundException, and a full JUnit 4 test suite using MockWebServer (#90)
Changed
- Structured logging (
internal/distributed/,internal/health/,internal/fuse/,internal/adapter/,internal/cache/redis/,pkg/profiling/): Alllog.Printfcalls migrated to structuredslog.Info/slog.Warn/slog.Errorwith key-value attributes across 13 internal packages;log.Fatalretained incmd/objectfs/main.go(#87)
Full Changelog
https://github.com/scttfrdmn/objectfs/blob/main/CHANGELOG.md