This fix ensures that memory-mapped files are not released
before pointers into them are copied into heap memory.
MeasurementNamesByExpr() and MeasurementNamesByPredicate() can
cause panics by copying memory from mmapped files that have been
released. The functions they call use iterators to files which
are closed (releasing the mmapped files) before the memory is
safely copied to the heap.
closes https://github.com/influxdata/influxdb/issues/22000
(cherry picked from commit a989f8f8b6)
closes https://github.com/influxdata/influxdb/issues/22002
* chore: add unit test coverage to inspect dump-wal
* chore: ran make fmt
* refactor: small styling change in conditional statement
* refactor: passed cobra cmd as pointer instead of an object
Co-authored-by: Michelle McFarland <michellemcfarland@Michelles-MacBook-Pro.local>
This updates the flux integration to use the `flux/array` package rather
than directly using the `arrow/array` package.
Flux recently switched to wrapping the array types from arrow and
creating its own array package to be used for table columns instead of
directly referencing the arrow package. This allows us to keep a
consistent interface, but potentially change internal implementations
without changing downstream consumers. Most recently, the
`*array.String` type has some of its own optimizations for certain array
patterns.
This change updates the flux integration to use the new API.
* fix: field metaqueries take fast path if predicate is only on `_measurement`
* chore: update CHANGELOG
* test: add test for fields with measurement predicate
* feat: record telemetry data only on successful response codes
* feat: re-write request path in file handler
* fix: use a slug for the replacement path
* chore: update CHANGELOG
* fix: report for 5XX also
* fix: address review comments
* feat: port influxd inspect build-tsi
* refactor: changes based on code review, not including logging changes
* refactor: improved logging based on code review
* chore: updated CHANGELOG.md
Co-authored-by: Michelle McFarland <michellemcfarland@Michelles-MacBook-Pro.local>
CVE-2020-26160[0] is an access restriction bypass under certain
circumstances when validating audience checks. The original
dgrijalva/jwt-go project is no longer maintained[1] and will not be
issuing a fix for this CVE[2]. Instead, they have transferred ownership
to golang-jwt/jwt[2][3][4].
The following was performed:
1. update chronograf and jsonweb to import golang-jwt/jwt
2. go mod edit -require github.com/golang-jwt/jwt@v3.2.1+incompatible
3. go mod edit -droprequire github.com/dgrijalva/jwt-go
4. go mod tidy
5. make
6. make test
References:
[0] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26160
[1] dgrijalva/jwt-go#462
[2] dgrijalva/jwt-go#463
[3] https://github.com/dgrijalva/jwt-go/blob/master/README.md
[4] https://github.com/golang-jwt/jwt
* feat: porting influxd inspect dump-wal from 1.x
* refactor: adapted 1.x logic to cobra command syntax
* refactor: improved clarity of printed output and help documentation
* chore: ran make fmt
* chore: updated CHANGELOG.md
* refactor: made small changes suggested in code review
* Regenerate protos using gogo 1.3.2
* Add protos to generate, add checkgenerate to CI
* Address proto warning
* Add generator tooling to Makefile
* Delete recursive Makefiles, simplify generation run by goreleaser
* Use env bash for fetch-ui-assets
* Add static-data to clean target
tsdb.Engine.IsIdle and tsdb.Engine.Digest now return a reason string for why the engine & shard are not idle.
Callers can then use this string for logging, if desired. The returned reason does not allocate memory, so the
caller may want to add the shard ID and path for more information in the log. This is intended to be used in
calls from the anti-entropy service in Enterprise.
(cherry picked from commit bf45841359)
fixes https://github.com/influxdata/influxdb/issues/21448
(cherry picked from commit c8da9bafbf)
closes https://github.com/influxdata/influxdb/issues/21894
* build(flux): update flux to v0.123.0
* fix(cmd/influxd/launcher): modify selector aggregate tests to use create empty false
Co-authored-by: Jonathan A. Sternberg <jonathan@influxdata.com>
* feat: port influxd inspect report-tsi
* chore: restored tsi1.IsIndexDir() functionality
* refactor: changed inspect report-tsi to work with 2.x file system structure
* chore: fixed output tab alignment
* chore: ran make fmt
* chore: ran make fmt on changed file after resolving merge conflicts
* refactor: made changes based on code review
* refactor: avoiding defer build-up in loop
* refactor: replaced path with filepath and added shardIdx closures
* chore: updated changelog
* refactor: handled shardIdx closures in error case
Co-authored-by: Michelle McFarland <michellemcfarland@Michelles-MacBook-Pro.local>