- Added
--shift-portsglobal flag that shifts all Firehose service port numbers by a given offset, useful for running multiple instances on the same machine without port conflicts. Both server listen addresses and internal client connection addresses are shifted so wiring stays consistent. Infrastructure ports (Prometheus metrics, pprof, log-level-switcher) are also shifted. Example:fire{chain} start --shift-ports 100shifts all ports by +100. - Added
--merger-max-merging-threads(defaults: 4) so that the merger can merge blocks in parallel (still using way less RAM than previous one-block-preloading method) - S3 store: configurable HTTP connection pool via
DSTORE_S3_MAX_IDLE_CONNS,DSTORE_S3_MAX_IDLE_CONNS_PER_HOST,DSTORE_S3_IDLE_CONN_TIMEOUTenv vars
Changed
- Removed parallel preloading of one-block-files to reduce RAM usage when merging big blocks.
Note
With this change, HEAD block timestamp is now updated maximum every 5 seconds instead of at every block, by reading the first 500 bytes of the last one-block-file.
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=100by default