thanos-io/thanos · error
proto: wrong wireType =
Error message
proto: wrong wireType = %d for field Data
What it means
Hand-written protobuf unmarshalling of Chunk: field 2 (Data, the raw chunk bytes) arrived with a wire type other than length-delimited (2). The dAtA payload is corrupted or was produced by an incompatible encoder, so the chunk payload cannot be trusted.
Solutions
- Discard and re-fetch the affected chunk
- Run bucket verification on the source block
- Check for encoding/version mismatch between components
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/store/storepb/custom.go:635 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of thanos-io/thanos@35b8b99117 (2026-09-07).
Data as JSON: /api/errors/0d7708acc02080f6.
Report an issue: GitHub.
Appendix: source
Thrown at pkg/store/storepb/custom.go:635
}
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTypes
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.Type |= Chunk_Encoding(b&0x7F) << shift
if b < 0x80 {
break
}
}
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTypes
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthTypesView on GitHub (pinned to 35b8b99117)