-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
storage: key seeker out-of-bounds #132964
Comments
|
This shouldn't be allowed. Perhaps a problem when building the logical time column. I meant to add some assertions for this. |
Hm, we are writing a key like this, not sure how/why. This a key passed to |
We can investigate the zero walltime thing separately, it does not explain the issue, our encoding/decoding code should allow it. In an instance of this, we write a key:
and then when we read it we see a non-zero logical:
I'm suspecting a bug with the "default value" handling of If I add this, I can't repro it anymore: switch versionLen {
case 0:
// No-op.
+ kw.logicalTimes.Set(row, 0)
case 9:
wallTime = binary.BigEndian.Uint64(key[keyPrefixLen : keyPrefixLen+8])
+ kw.logicalTimes.Set(row, 0)
case 13, 14:
wallTime = binary.BigEndian.Uint64(key[keyPrefixLen : keyPrefixLen+8])
kw.logicalTimes.Set(row, uint64(binary.BigEndian.Uint32(key[keyPrefixLen+8:keyPrefixLen+12])))
// NOTE: byte 13 used to store the timestamp's synthetic bit, but this is no
// longer consulted and can be ignored during decoding.
default:
// Not a MVCC timestamp.
untypedVersion = key[keyPrefixLen:]
+ kw.logicalTimes.Set(row, 0)
} |
Encountered when attempting to enable columnar blocks metamorphically: #132935
Seems like it's likely a bug in either the key seeker or the recording of the maximum key length within a data block.
https://mesolite.cluster.engflow.com/api/contentaddressablestorage/v1/instances/default/blobs/00129a68b75c23eee1956d724723a3d21b84d56c36cb8dc6cc2f6dc574be6b2c/1464900
Jira issue: CRDB-43365
The text was updated successfully, but these errors were encountered: