Interface YieldingKeyValueIterator<K extends<?>,V extends>

All Known Subinterfaces:
All Known Implementing Classes:
AgeOffFilter, BigDecimalCombiner, BigDecimalCombiner.BigDecimalMaxCombiner, BigDecimalCombiner.BigDecimalMinCombiner, BigDecimalCombiner.BigDecimalSummingCombiner, CfCqSliceFilter, CfCqSliceSeekingFilter, ColumnAgeOffFilter, ColumnFamilyCounter, ColumnSliceFilter, Combiner, DebugIterator, DevNull, Filter, FirstEntryInRowIterator, GrepIterator, IndexedDocIterator, IntersectingIterator, LargeRowFilter, LongCombiner, MaxCombiner, MinCombiner, OrIterator, RegExFilter, ReqVisFilter, RowDeletingIterator, RowEncodingIterator, RowFilter, SeekingFilter, ServerFilter, ServerSkippingIterator, ServerWrappingIterator, SkippingIterator, SortedKeyIterator, SummingArrayCombiner, SummingCombiner, SynchronizedServerFilter, TimestampFilter, TransformingIterator, TypedValueCombiner, VersioningIterator, VisibilityFilter, WholeColumnFamilyIterator, WholeRowIterator, WrappingIterator

public interface YieldingKeyValueIterator<K extends<?>,V extends>
An iterator that supports yielding on a next or seek call (only used by SortedKeyValueIterators)
  • Method Summary

    Modifier and Type
    default void
    Allows implementations to preempt further iteration of this iterator in the current RPC.
  • Method Details

    • enableYielding

      default void enableYielding(YieldCallback<K> callback)
      Allows implementations to preempt further iteration of this iterator in the current RPC. Implementations can use the yield method on the callback to instruct the caller to cease collecting more results within this RPC. An implementation would only need to implement this mechanism if a next or seek call has been taking so long as to starve out other scans within the same thread pool. Most iterators do not need to implement this method. The yield method on the callback accepts a Key which will be used as the start key (non-inclusive) on the seek call in the next RPC. This feature is not supported for isolated scans.