release-25.4: Revert "sql: remove AllowUnsafeInternals deserialization workaround"#164389
Conversation
This reverts commit 32d9056 which removed the workaround that forces `AllowUnsafeInternals` to `true` during session deserialization. The workaround is still needed because multi-tenant clusters may still be running mixed versions where older pods serialize sessions without the `AllowUnsafeInternals` field. When such a session is deserialized on a 25.4 node, protobuf sets the field to its zero value (`false`), which incorrectly blocks access to internal tables. Fixes: CRDB-57952 Epic: None Release note: None
|
Thanks for opening a backport. Before merging, please confirm that it falls into one of the following categories (select one):
Add a brief release justification to the PR description explaining your selection. Also, confirm that the change does not break backward compatibility and complies with all aspects of the backport policy. All backports must be reviewed by the TL and EM for the owning area. |
|
✅ PR #164389 is compliant with backport policy Confidence: high ✅ ENGREQ Check Passed: No ENGREQ required (non-production code or serious issues). 🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf. |
This reverts commit 32d9056 which removed the workaround that forces
AllowUnsafeInternalstotrueduring session deserialization.The workaround is still needed because multi-tenant clusters may still be running mixed versions where older pods serialize sessions without the
AllowUnsafeInternalsfield. When such a session is deserialized on a 25.4 node, protobuf sets the field to its zero value (false), which incorrectly blocks access to internal tables.Fixes: CRDB-57952
Epic: None
Release note: None
Release justification: Prevents the accidental deserialization of a zero value for a non-zero default session var in a mixed-version multi-tenant cluster.