Class LinkingIterator

  • All Implemented Interfaces:
    Iterator<TabletMetadata>

    public class LinkingIterator
    extends Object
    implements Iterator<TabletMetadata>
    Tablets for a table in the metadata table should form a linked list. This iterator detects when tablets do not form a linked list and backs up when this happens.

    The purpose of this is to hide inconsistencies caused by splits and detect anomalies in the metadata table.

    If a tablet that was returned by this iterator is subsequently deleted from the metadata table, then this iterator will throw a TabletDeletedException. This could occur when a table is merged.