In the previous implementation, due to concurrent thread safety issues, asynchronous execution could not be enabled for the deletion vectors mode, as there were also an asynchronous compaction thread to write deletion vectors when the main thread materialize them.
We can avoid this situation by handing over the materialization of the deletion vectors to the asynchronous compaction thread. After each compaction is completed, we actively materialize the deletion vectors as a deletion file.
Purpose
In the previous implementation, due to concurrent thread safety issues, asynchronous execution could not be enabled for the deletion vectors mode, as there were also an asynchronous compaction thread to write deletion vectors when the main thread materialize them.
We can avoid this situation by handing over the materialization of the deletion vectors to the asynchronous compaction thread. After each compaction is completed, we actively materialize the deletion vectors as a deletion file.
Tests
PrimaryKeyFileStoreTableITCase
already coverred this.API and Format
Documentation
/primary-key-table/deletion-vectors
modified.