Re: reftable [v6]: new ref storage format
- Date: Tue, 8 Aug 2017 16:52:47 -0700
- From: Stefan Beller <sbeller@xxxxxxxxxx>
- Subject: Re: reftable [v6]: new ref storage format
On Mon, Aug 7, 2017 at 11:30 AM, Shawn Pearce <spearce@xxxxxxxxxxx> wrote:
> On Mon, Aug 7, 2017 at 11:27 AM, Stefan Beller <sbeller@xxxxxxxxxx> wrote:
>> On Sun, Aug 6, 2017 at 6:47 PM, Shawn Pearce <spearce@xxxxxxxxxxx> wrote:
>>> 6th iteration of the reftable storage format.
>>> You can read a rendered version of this here:
>>> The index may be organized into a multi-level index, where ...
>>> which may in turn point to either index blocks (3rd level) or ref blocks (leaf level).
>> So we allow 3 levels at most?
> No, its just an example. Large ref sets with small block size need 4
> levels. Or more.
A malicious (or buggy) writer can produce indexes pointing to
each other producing a circle. (Who would do that?)
A reader should - instead of segfaulting due to unbounded
recursion or being stuck in an infinite loop - ignore the indexes
in this case and fallback to the slow non-indexed behavior,
i.e. while the file format allows for unbounded levels, a reader