A {@link StreamConsumer} that read events from stream file and uses a table to store consumer states.
State table ROW key schema:
{@code row_key = group_id = 8 bytes consumer group id stream_file_offset = partition_start = 8 bytes timestamp of partition start time partition_end = 8 bytes timestamp of partition end time name_prefix = DataOutput UTF-8 output. sequence_id = 4 bytes stream file sequence id offset = 8 bytes offset inside the stream file}
The state table has single column ( {@link QueueEntryRow#COLUMN_FAMILY}: {@link QueueEntryRow#STATE_COLUMN_PREFIX}) to store state. The state value:
{@code state_value = write_pointer = 8 bytes Transaction write point of the consumer who update this state. instance_id = 4 bytes Instance id of the consumer who update this state. state = ConsumerEntryState.getState(), either CLAIMED or PROCESSED}