Uh oh!
There was an error while loading. Please reload this page.
Update Prometheus fork to start-timestamps branch - #7
Conversation
Point go.mod replace directive at Invoca/prometheus@307a9562c (invoca-3.13/start-timestamps) which includes: - xrate/xincrease/xdelta removal - yrate/yincrease start-timestamp support - temporary debug logging for integration testing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Shannon Price <sprice@invoca.com>
lhaven-invoca
commented
Aug 17, 2026
This PR will not unblock the red.prodref integration testing it is aimed at, because the blocker is in Thanos's own code rather than in the embedded Prometheus dependency. The compactor is already crashlooping on red.prodref
Four blocks: Bumping the Prometheus replace directive does not fix itI checked both commits in this diff. Both already have full XOR2 support in the embedded TSDB:
So the dependency can read XOR2 either way. The failure is in funcexpandChunkIterator(it chunkenc.Iterator, encoding chunkenc.Encoding, samples*[]sample) error {
switchencoding {
casechunkenc.EncXOR:
returnexpandXorChunkIterator(it, samples)
casechunkenc.EncFloatHistogram:
returnexpandFloatHistogramChunkIterator(it, samples)
casechunkenc.EncHistogram:
returnexpandHistogramChunkIterator(it, samples)
default:
returnerrors.Errorf("unexpected chunk encoding %d %s", encoding, encoding)
}
}
Suggested scopeAdding a case looks small, assuming casechunkenc.EncXOR, chunkenc.EncXOR2:
returnexpandXorChunkIterator(it, samples)Worth checking whether anything else in the downsample path enumerates encodings the same way, and whether the aggregate chunk writer needs to emit XOR2 or can keep writing XOR. SeparatelyThe four blocks already written stay poisoned after any code fix, so the compactor needs them deleted or marked for deletion in the bucket before it recovers. Also worth knowing: the 🤖 Generated with LLM |
Summary
go.modreplace directive to point atInvoca/prometheus@307a9562c(invoca-3.13/start-timestampsbranch)Context
Companion to Invoca/prometheus#34. The Prometheus fork now includes start-timestamp-aware yrate/yincrease logic. This updates Thanos's embedded Prometheus dependency so the Thanos sidecar, Query, Store, and Compactor all use the new PromQL engine.
Once both images are built, they'll be deployed to
red.prodref.us-east-1via kubernetes-observability#17 for integration testing withst-synthesisfeature flags enabled.Test plan
go build ./...passes (verified locally)Dockerfile.invoca🤖 Generated with Claude Code