* feat: error out when config file contains invalid options
* feat: debug logging when loading a config file
* fix: only detect flags from 1.x
* test: update tests to use toml configs
* refactor: eliminate sqlite query in case of no configured replications
* refactor: updated write-related tests to reflect tracking of orgID and localBucket by the queue manager
* refactor: removed redundant trackedReplications field
* refactor: corrected slice init in GetReplications and added TestGetReplications
* refactor: eliminated tracked package and moved TrackedReplication struct to influxdb package via replication.go
* chore: ran make fmt
* fix: added closeRq function back in to address flaky tests
* refactor: small changes to queue manager test based on code review
When a file rename fails with EXDEV
(cross device or volume error), copy the
file and delete the original instead.
closes https://github.com/influxdata/influxdb/issues/22890
Co-authored-by: Chris Pahl <sahib@online.de>
* fix: advance replications queue after successful remote writes to prevent data duplication on errors
* fix: loop on sendwrite
* chore: remove flaky test
* chore: add TODO about future optimization
Fixes a race condition in the restore code path that could cause shard data restores to fail. When the race condition occurs, `Error while freeing cold shard resources` appears in the log files.
This is port of PR 22796 from master-1.x to master. Attempts at creating a test case for master failed, so the fix has ported without a corresponding unit test.
fixes#22957
* feat: remote write function for replications
* chore: implement UpdateResponseInfo store method
* chore: only set gzip heading for non-empty requests
* fix: address review feedback
* fix(build): checksum failed on FreeBSD
* fix(build): avoid BSD make evaluate Makefile
This Makefile use GNU make functions which is not compatible with the BSD
make. In order to avoid BSD make to try evaluation the Makefile and because
the Makefile use GNU make functions renaming the from Makefile to GNUmakefile
does not change anything for GNU make users and expose a clear error
when someone try to evaluate with BSD make.
* fix(build): invalid shebang on FreeBSD
* fix: duplicated X-version and X-Build headers for /ping endpoint
Signed-off-by: Jakub Bednar <jakub.bednar@gmail.com>
* chore: change branch to master
* chore: only http/handler.go is responsible for sets headers
Signed-off-by: Jakub Bednar <jakub.bednar@gmail.com>
* feat: added replications queue management to launcher tasks
* refactor: separated sql logic into replications service rather than durable queue manager
* refactor: extended replications feature flag to launcher code and minor change to startup function param
* chore: added unit test coverage for replications server startup queue management
* refactor: made error messages reusable and factored out unecessary string from queue management tests
* refactor: changed queue management error names to pass linter check