-
-
Notifications
You must be signed in to change notification settings - Fork 584
[store] row length guards for prolly serial messages #7533
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
Conversation
go/store/val/tuple.go
Outdated
|
|
||
| // MaxTupleDataSize is the maximum KV length considering the extra | ||
| // flatbuffer metadata required to serialize the message. This number | ||
| // is only useful for checking the "last row" per-es, because every field |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"per-es" is this a typo?
go/store/val/tuple.go
Outdated
| // is only useful for checking the "last row" per-es, because every field | ||
| // has offsets but field count, content hash, etc are global properties | ||
| // of the message. | ||
| // (uint16) - (2 kv offsets) - (field count) - (content hash) - (node count) - (tree level) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure I understand why there are exactly two kv offsets in the message?
|
@nicktobey I made two notable changes
|
|
@max-hoffman DOLT
|
|
@coffeegoddd DOLT
|
|
@max-hoffman DOLT
|
|
@max-hoffman DOLT
|
|
@max-hoffman DOLT
|
|
@coffeegoddd DOLT
|
|
@coffeegoddd DOLT
|
|
@coffeegoddd DOLT
|
|
@coffeegoddd DOLT
|
Prevent writing rows that exceed the prolly serial message max size. When writing fields we use the current buffer size, the new field length, and the serial message metadata size to validate inserts.
fixes: #7487
fixes: #7524
companion: dolthub/go-mysql-server#2342