Skip to content

Releases: streamingfast/dstore

v0.2.3

20 Apr 19:20

Choose a tag to compare

Fixed

  • GCS store: disable gRPC DirectPath when both a project is set and client_protocol=grpc is used, preventing connection issues in that configuration.
  • S3 store: share a single HTTP transport across all store clones for proper HTTP/2 multiplexing, replacing the previous per-clone transport that broke connection sharing.

v0.2.2

30 Mar 16:24

Choose a tag to compare

Added

  • GCS store: opt-in gRPC transport via client_protocol=grpc query parameter (e.g. gs://bucket/path?client_protocol=grpc). Defaults to the existing HTTP client; the gRPC client is selected only when this parameter is explicitly set.
  • S3 store: storage_class query parameter as the canonical snake_case name for storageClass.

Changed

  • S3 store: each store clone now gets its own transport for failure isolation; adds ResponseHeaderTimeout to prevent hung requests and configures HTTP/2 health checks via x/net/http2; default connection pool sizes are reduced.

Deprecated

  • S3 store: storageClass query parameter is deprecated in favour of storage_class; a warning is logged when the old form is used.

v0.2.1

25 Mar 17:29

Choose a tag to compare

Added

  • S3 store: fixed connection pool leak when closing an object after a partial read; the raw HTTP body must be drained before closing the outer reader chain — closing outer first (when there is no compression layer) already closes the body, making the subsequent drain a no-op and preventing connection reuse

v0.2.0

24 Mar 15:56

Choose a tag to compare

Added

  • Added docker-compose.yml with MinIO, Ceph RGW, and fake-gcs-server for local integration testing
  • Added S3 integration tests for Ceph RGW (TestS3Store_Ceph, TestS3Store_Ceph_EmptyBucket_FilePrefix, TestS3Store_Ceph_CompressionAndMetering)
  • Added GCS integration tests for fake-gcs-server emulator (TestGSStore_Emulator, TestGSStore_Emulator_Overwrite, TestGSStore_Emulator_CompressionAndMetering)

Added

  • S3 store: configurable HTTP connection pool via DSTORE_S3_MAX_IDLE_CONNS, DSTORE_S3_MAX_IDLE_CONNS_PER_HOST, DSTORE_S3_IDLE_CONN_TIMEOUT env vars

Fixed

  • S3 store: fixed goroutine leak caused by connection pool exhaustion on single-host S3 stores (e.g. MinIO); HTTP body is now explicitly drained and closed, and the transport is configured with MaxIdleConnsPerHost=100 by default
  • GCS store now uses the JSON API for object reads when STORAGE_EMULATOR_HOST is set, fixing compatibility with fake-gcs-server (which does not handle the XML API with percent-encoded path slashes)

v0.1.2