mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-26 22:19:40 -08:00
b815956341
This is (hopefully) a fix for #1653 Specifically, this makes it so that if the length for the stored delta/doubleDelta is somehow corrupted to be too small, the attempt to unmarshal will return an error. The current (broken) behavior is to return a malformed chunk, which can then lead to a panic when there is an attempt to read header values. The referenced issue proposed creating chunks with a minimum length -- I instead opted to just error on the attempt to unmarshal, since I'm not clear on how it could be safe to proceed when the length is incorrect/unknown. The issue also talked about possibly "quarantining series", but I don't know the surrounding code well enough to understand how to make that happen. |
||
---|---|---|
.. | ||
codable | ||
fixtures/b0 | ||
index | ||
storagetool | ||
chunk.go | ||
crashrecovery.go | ||
delta.go | ||
delta_helpers.go | ||
delta_test.go | ||
doubledelta.go | ||
heads.go | ||
instrumentation.go | ||
interface.go | ||
locker.go | ||
locker_test.go | ||
mapper.go | ||
mapper_test.go | ||
persistence.go | ||
persistence_test.go | ||
series.go | ||
series_test.go | ||
storage.go | ||
storage_test.go | ||
test_helpers.go | ||
varbit.go | ||
varbit_helpers.go | ||
varbit_test.go |