Skip to content

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 24 Feb 02:47

What's Changed

Added

  • Distributed backend wiring (internal/distributed/): ClusterManager.SetBackend and Coordinator.backend wire the types.Backend S3 backend into executeLocally, replacing the in-process stub with real GetObject/PutObject/DeleteObject/ListObjects calls; nil backend returns a descriptive error instead of phantom data (#85)

  • Distributed cache invalidation (internal/distributed/): New MessageTypeCacheInvalidate gossip message type, ClusterManager.SetCache / InvalidateCacheKey methods, and handleIncomingMessage dispatch that calls cache.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-posix target added to Makefile (#89)

  • Java 17 SDK (sdks/java/): Maven SDK with ObjectFSClient (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/): All log.Printf calls migrated to structured slog.Info/slog.Warn/slog.Error with key-value attributes across 13 internal packages; log.Fatal retained in cmd/objectfs/main.go (#87)

Full Changelog

https://github.com/scttfrdmn/objectfs/blob/main/CHANGELOG.md