Commit 36b2f28
fix: skip timestamp-prefix heuristic for audit values (classic-record collision)
When typed random-access structures are off, records use classic shared
structures whose first byte can be 66 (0x42 = structure-id #2). RecordEncoder's
rocksdb metadata heuristic treats a leading 66 as a local-timestamp prefix and
strips 8 bytes, corrupting the record (decoded as null). The audit store's
getValue decodes a value that carries no on-disk timestamp prefix, so it now
passes { noMetadata: true } to skip the heuristic entirely. Surfaced by the
MQTT "can publish non-JSON" path.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>1 parent e9786f6 commit 36b2f28
2 files changed
Lines changed: 12 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
265 | | - | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
266 | 273 | | |
267 | 274 | | |
268 | 275 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
563 | 563 | | |
564 | 564 | | |
565 | 565 | | |
566 | | - | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
567 | 570 | | |
568 | 571 | | |
569 | 572 | | |
| |||
0 commit comments