hyrise icon indicating copy to clipboard operation
hyrise copied to clipboard

Proper way to determine if a chunk can be finalized

Open Bouncner opened this issue 2 years ago • 1 comments

Currently, we lack a proper way to determine if a chunk can be finalized (and thus encoded). That means that all transactions are either committed or rollbacked.

#2457 might or might not remove a job that checked it this way: if (mvcc_data->get_begin_cid(chunk_offset) == MvccData::MAX_COMMIT_ID) return CHUNK_NOT_FINALIZABLE; However, reading the non-atomic begin_cid might be UB.

Bouncner avatar May 10 '22 19:05 Bouncner

One thing that might help here is to count (atomic_int or alikes) how many Insert operations are currently still being active (uncommitted, not yet rollbacked) per chunk.

Bouncner avatar May 10 '22 21:05 Bouncner