Unexpected cbor code `0xa1` when decoding `banyan::index::Index<trees::axtrees::AxTrees>`.
- 主要言語
- Rust
- スター
- 42
- フォーク
- 6
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
This error basically says “I don’t want to read this dictionary of length 1”, which is the “kinded” representation of `Index` (DagCbor doesn’t like definite-length encoding, IIRC). I encountered this while developing event dump/restore functionality in Actyx. The restore part feeds events to `BanyanStore::append0` (to preserve timestamps) and does not mess with the internals, so I don’t see how my code could influence the encoding of a Banyan index block.
How much work would it be to replace all DagCbor with cbor-data? I trust that implementation much more, it is very thoroughly tested to actually accept all valid CBOR.
/cc @rklaehn
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
Start at BanyanStore::append0 and trace the event dump/restore path into banyan::index::Index. Reproduce the unexpected 0xa1 decoding error, then compare the current DagCbor handling with cbor-data. Done means the restore path can decode the Banyan index block without that error and the scope of any DagCbor replacement is documented.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- databases
- issue の種類
- バグ
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100