Skip to content

Commit

Permalink
IGNITE-23151 Reserve WAL record index for further improvements (#11513)
Browse files Browse the repository at this point in the history
  • Loading branch information
sk0x50 committed Sep 5, 2024
1 parent 15c7d74 commit 3c3deb1
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,10 @@ public enum RecordType {
CDC_MANAGER_STOP_RECORD(80, CUSTOM),

/** Physical WAL record that represents a fragment of an entry update. (Placeholder) */
DATA_PAGE_FRAGMENTED_UPDATE_RECORD(81, PHYSICAL);
DATA_PAGE_FRAGMENTED_UPDATE_RECORD(81, PHYSICAL),

/** Reserved for further improvements. */
RESERVED_IDX2(82);

/** Index for serialization. Should be consistent throughout all versions. */
private final int idx;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@
import static org.apache.ignite.internal.pagemem.wal.record.WALRecord.RecordType.PART_META_UPDATE_STATE;
import static org.apache.ignite.internal.pagemem.wal.record.WALRecord.RecordType.REENCRYPTION_START_RECORD;
import static org.apache.ignite.internal.pagemem.wal.record.WALRecord.RecordType.RESERVED;
import static org.apache.ignite.internal.pagemem.wal.record.WALRecord.RecordType.RESERVED_IDX2;
import static org.apache.ignite.internal.pagemem.wal.record.WALRecord.RecordType.ROLLBACK_TX_RECORD;
import static org.apache.ignite.internal.pagemem.wal.record.WALRecord.RecordType.ROTATED_ID_PART_RECORD;
import static org.apache.ignite.internal.pagemem.wal.record.WALRecord.RecordType.SNAPSHOT;
Expand Down Expand Up @@ -194,7 +195,7 @@ public class RecordUtils {
put(DATA_RECORD_V2, RecordUtils::buildDataRecord);
put(CDC_DATA_RECORD, RecordUtils::buildDataRecord);
put(CHECKPOINT_RECORD, RecordUtils::buildCheckpointRecord);
put(HEADER_RECORD, buildUpsupportedWalRecord(HEADER_RECORD));
put(HEADER_RECORD, buildUnsupportedWalRecord(HEADER_RECORD));
put(INIT_NEW_PAGE_RECORD, RecordUtils::buildInitNewPageRecord);
put(DATA_PAGE_INSERT_RECORD, RecordUtils::buildDataPageInsertRecord);
put(DATA_PAGE_INSERT_FRAGMENT_RECORD, RecordUtils::buildDataPageInsertFragmentRecord);
Expand All @@ -210,11 +211,11 @@ public class RecordUtils {
put(BTREE_FIX_COUNT, RecordUtils::buildFixCountRecord);
put(BTREE_PAGE_REPLACE, RecordUtils::buildReplaceRecord);
put(BTREE_PAGE_REMOVE, RecordUtils::buildRemoveRecord);
put(BTREE_PAGE_INNER_REPLACE, buildUpsupportedWalRecord(BTREE_PAGE_INNER_REPLACE));
put(BTREE_PAGE_INNER_REPLACE, buildUnsupportedWalRecord(BTREE_PAGE_INNER_REPLACE));
put(BTREE_FIX_REMOVE_ID, RecordUtils::buildFixRemoveId);
put(BTREE_FORWARD_PAGE_SPLIT, buildUpsupportedWalRecord(BTREE_FORWARD_PAGE_SPLIT));
put(BTREE_FORWARD_PAGE_SPLIT, buildUnsupportedWalRecord(BTREE_FORWARD_PAGE_SPLIT));
put(BTREE_EXISTING_PAGE_SPLIT, RecordUtils::buildSplitExistingPageRecord);
put(BTREE_PAGE_MERGE, buildUpsupportedWalRecord(BTREE_PAGE_MERGE));
put(BTREE_PAGE_MERGE, buildUnsupportedWalRecord(BTREE_PAGE_MERGE));
put(PAGES_LIST_SET_NEXT, RecordUtils::buildPagesListSetNextRecord);
put(PAGES_LIST_SET_PREVIOUS, RecordUtils::buildPagesListSetPreviousRecord);
put(PAGES_LIST_INIT_NEW_PAGE, RecordUtils::buildPagesListInitNewPageRecord);
Expand All @@ -239,40 +240,42 @@ public class RecordUtils {
put(SNAPSHOT, RecordUtils::buildSnapshotRecord);
put(METASTORE_DATA_RECORD, RecordUtils::buildMetastoreDataRecord);
put(EXCHANGE, RecordUtils::buildExchangeRecord);
put(RESERVED, buildUpsupportedWalRecord(RESERVED));
put(RESERVED, buildUnsupportedWalRecord(RESERVED));
put(ROLLBACK_TX_RECORD, RecordUtils::buildRollbackRecord);
put(PARTITION_META_PAGE_UPDATE_COUNTERS_V2, RecordUtils::buildMetaPageUpdatePartitionDataRecordV2);
put(PARTITION_META_PAGE_DELTA_RECORD_V3, RecordUtils::buildMetaPageUpdatePartitionDataRecordV3);
put(PARTITION_META_PAGE_DELTA_RECORD_V4, buildUpsupportedWalRecord(PARTITION_META_PAGE_DELTA_RECORD_V4));
put(MASTER_KEY_CHANGE_RECORD, buildUpsupportedWalRecord(MASTER_KEY_CHANGE_RECORD));
put(PARTITION_META_PAGE_DELTA_RECORD_V4, buildUnsupportedWalRecord(PARTITION_META_PAGE_DELTA_RECORD_V4));
put(MASTER_KEY_CHANGE_RECORD, buildUnsupportedWalRecord(MASTER_KEY_CHANGE_RECORD));
put(MASTER_KEY_CHANGE_RECORD_V2, RecordUtils::buildMasterKeyChangeRecordV2);
put(REENCRYPTION_START_RECORD, RecordUtils::buildEncryptionStatusRecord);
put(ROTATED_ID_PART_RECORD, RecordUtils::buildRotatedIdPartRecord);
put(ENCRYPTED_RECORD, buildUpsupportedWalRecord(ENCRYPTED_RECORD));
put(ENCRYPTED_DATA_RECORD, buildUpsupportedWalRecord(ENCRYPTED_DATA_RECORD));
put(ENCRYPTED_RECORD_V2, buildUpsupportedWalRecord(ENCRYPTED_RECORD_V2));
put(ENCRYPTED_DATA_RECORD_V2, buildUpsupportedWalRecord(ENCRYPTED_DATA_RECORD_V2));
put(ENCRYPTED_DATA_RECORD_V3, buildUpsupportedWalRecord(ENCRYPTED_DATA_RECORD_V3));
put(CONSISTENT_CUT, buildUpsupportedWalRecord(CONSISTENT_CUT));
put(BTREE_META_PAGE_INIT_ROOT_V3, buildUpsupportedWalRecord(BTREE_META_PAGE_INIT_ROOT_V3));
put(OUT_OF_ORDER_UPDATE, buildUpsupportedWalRecord(OUT_OF_ORDER_UPDATE));
put(ENCRYPTED_RECORD, buildUnsupportedWalRecord(ENCRYPTED_RECORD));
put(ENCRYPTED_DATA_RECORD, buildUnsupportedWalRecord(ENCRYPTED_DATA_RECORD));
put(ENCRYPTED_RECORD_V2, buildUnsupportedWalRecord(ENCRYPTED_RECORD_V2));
put(ENCRYPTED_DATA_RECORD_V2, buildUnsupportedWalRecord(ENCRYPTED_DATA_RECORD_V2));
put(ENCRYPTED_DATA_RECORD_V3, buildUnsupportedWalRecord(ENCRYPTED_DATA_RECORD_V3));
put(CONSISTENT_CUT, buildUnsupportedWalRecord(CONSISTENT_CUT));
put(BTREE_META_PAGE_INIT_ROOT_V3, buildUnsupportedWalRecord(BTREE_META_PAGE_INIT_ROOT_V3));
put(OUT_OF_ORDER_UPDATE, buildUnsupportedWalRecord(OUT_OF_ORDER_UPDATE));
put(INDEX_ROOT_PAGE_RENAME_RECORD, RecordUtils::buildIndexRenameRootPageRecord);
put(PARTITION_CLEARING_START_RECORD, RecordUtils::buildPartitionClearingStartedRecord);
put(ENCRYPTED_OUT_OF_ORDER_UPDATE, buildUpsupportedWalRecord(ENCRYPTED_OUT_OF_ORDER_UPDATE));
put(ENCRYPTED_OUT_OF_ORDER_UPDATE, buildUnsupportedWalRecord(ENCRYPTED_OUT_OF_ORDER_UPDATE));
put(CLUSTER_SNAPSHOT, RecordUtils::buildClusterSnapshotRecord);
put(INCREMENTAL_SNAPSHOT_START_RECORD, RecordUtils::buildIncrementalSnapshotStartRecord);
put(INCREMENTAL_SNAPSHOT_FINISH_RECORD, RecordUtils::buildIncrementalSnapshotFinishRecord);
put(CDC_MANAGER_RECORD, RecordUtils::buildCdcManagerStopRecord);
put(CDC_MANAGER_STOP_RECORD, RecordUtils::buildCdcManagerStopRecord);
put(DATA_PAGE_FRAGMENTED_UPDATE_RECORD, buildUpsupportedWalRecord(DATA_PAGE_FRAGMENTED_UPDATE_RECORD));
put(DATA_PAGE_FRAGMENTED_UPDATE_RECORD, buildUnsupportedWalRecord(DATA_PAGE_FRAGMENTED_UPDATE_RECORD));

put(MVCC_DATA_RECORD, buildUpsupportedWalRecord(MVCC_DATA_RECORD));
put(MVCC_TX_RECORD, buildUpsupportedWalRecord(MVCC_TX_RECORD));
put(MVCC_DATA_PAGE_MARK_UPDATED_RECORD, buildUpsupportedWalRecord(MVCC_DATA_PAGE_MARK_UPDATED_RECORD));
put(MVCC_DATA_RECORD, buildUnsupportedWalRecord(MVCC_DATA_RECORD));
put(MVCC_TX_RECORD, buildUnsupportedWalRecord(MVCC_TX_RECORD));
put(MVCC_DATA_PAGE_MARK_UPDATED_RECORD, buildUnsupportedWalRecord(MVCC_DATA_PAGE_MARK_UPDATED_RECORD));
put(MVCC_DATA_PAGE_TX_STATE_HINT_UPDATED_RECORD,
buildUpsupportedWalRecord(MVCC_DATA_PAGE_TX_STATE_HINT_UPDATED_RECORD));
buildUnsupportedWalRecord(MVCC_DATA_PAGE_TX_STATE_HINT_UPDATED_RECORD));
put(MVCC_DATA_PAGE_NEW_TX_STATE_HINT_UPDATED_RECORD,
buildUpsupportedWalRecord(MVCC_DATA_PAGE_NEW_TX_STATE_HINT_UPDATED_RECORD));
buildUnsupportedWalRecord(MVCC_DATA_PAGE_NEW_TX_STATE_HINT_UPDATED_RECORD));

put(RESERVED_IDX2, buildUnsupportedWalRecord(RESERVED_IDX2));
}

/** */
Expand Down Expand Up @@ -610,7 +613,7 @@ public static ClusterSnapshotRecord buildClusterSnapshotRecord() {
* @param type WAL record type.
* @return Supplier that always return UnsupportedWalRecord.
*/
private static Supplier<WALRecord> buildUpsupportedWalRecord(WALRecord.RecordType type) {
private static Supplier<WALRecord> buildUnsupportedWalRecord(WALRecord.RecordType type) {
return () -> new UnsupportedWalRecord(type);
}

Expand Down

0 comments on commit 3c3deb1

Please sign in to comment.