korlov42 commented on code in PR #6834:
URL: https://github.com/apache/ignite-3/pull/6834#discussion_r2465624888
##########
modules/catalog/src/test/java/org/apache/ignite/internal/catalog/storage/CatalogSerializationCompatibilityTest.java:
##########
@@ -87,305 +81,39 @@ public void reset() {
checker.reset();
}
- @Test
- public void snapshotEntry() {
- List<CatalogZoneDescriptor> zones =
TestZoneDescriptors.zones(protocolVersion(), state, entryVersion());
-
- EnumMap<Type, Integer> objectVersions = new
EnumMap<>(CatalogObjectDescriptor.Type.class);
- objectVersions.put(Type.TABLE, entryVersion());
- objectVersions.put(Type.INDEX, entryVersion());
- objectVersions.put(Type.SYSTEM_VIEW, entryVersion());
-
- Catalog catalog1 = new Catalog(
- 2367,
- 5675344L,
- 100,
- zones,
- TestSchemaDescriptors.schemas(state, entryVersion(),
objectVersions),
- zones.get(0).id()
- );
-
- SnapshotEntry snapshotEntry = new SnapshotEntry(catalog1);
-
- checker.compareSnapshotEntry(snapshotEntry, "SnapshotEntry",
entryVersion());
- }
-
- @Test
- public void snapshotEntryNoDefaultZone() {
- List<CatalogZoneDescriptor> zones =
TestZoneDescriptors.zones(protocolVersion(), state, entryVersion());
-
- EnumMap<Type, Integer> objectVersions = new
EnumMap<>(CatalogObjectDescriptor.Type.class);
- objectVersions.put(Type.TABLE, entryVersion());
- objectVersions.put(Type.INDEX, entryVersion());
- objectVersions.put(Type.SYSTEM_VIEW, entryVersion());
-
- Catalog catalog1 = new Catalog(
- 789879,
- 23432L,
- 2343,
- zones,
- TestSchemaDescriptors.schemas(state, entryVersion(),
objectVersions),
- null
- );
-
- SnapshotEntry snapshotEntry = new SnapshotEntry(catalog1);
-
- checker.compareSnapshotEntry(snapshotEntry,
"SnapshotEntryNoDefaultZone", entryVersion());
- }
-
- @Test
- public void objectIdUpdate() {
- List<UpdateEntry> entries = List.of(new ObjectIdGenUpdateEntry(23431),
new ObjectIdGenUpdateEntry(1204));
-
- checker.compareEntries(entries, "ObjectIdGenUpdateEntry",
entryVersion());
- }
-
- // Zones
-
- @Test
- public void newZone() {
- List<CatalogZoneDescriptor> zones =
TestZoneDescriptors.zones(protocolVersion(), state, entryVersion());
- List<UpdateEntry> entries =
zones.stream().map(NewZoneEntry::new).collect(Collectors.toList());
-
- checker.compareEntries(entries, "NewZoneEntry", entryVersion());
- }
-
- @Test
- public void alterZone() {
- List<CatalogZoneDescriptor> zones =
TestZoneDescriptors.zones(protocolVersion(), state, entryVersion());
-
- List<UpdateEntry> entries = List.of(
- new AlterZoneEntry(zones.get(1)),
- new AlterZoneEntry(zones.get(2))
- );
-
- checker.compareEntries(entries, "AlterZoneEntry", entryVersion());
- }
-
- @Test
- public void setDefaultZone() {
- List<UpdateEntry> entries = List.of(
- new SetDefaultZoneEntry(state.id()),
- new SetDefaultZoneEntry(state.id())
- );
-
- checker.compareEntries(entries, "SetDefaultZoneEntry", entryVersion());
- }
-
- @Test
- public void dropZone() {
- List<UpdateEntry> entries = List.of(
- new DropZoneEntry(state.id()),
- new DropZoneEntry(state.id())
- );
-
- checker.compareEntries(entries, "DropZoneEntry", entryVersion());
- }
-
- // Schemas
-
- @Test
- public void newSchema() {
- EnumMap<Type, Integer> objectVersions = new
EnumMap<>(CatalogObjectDescriptor.Type.class);
- objectVersions.put(Type.TABLE, entryVersion());
- objectVersions.put(Type.INDEX, entryVersion());
- objectVersions.put(Type.SYSTEM_VIEW, entryVersion());
-
- List<UpdateEntry> entries = TestSchemaDescriptors.schemas(state,
entryVersion(), objectVersions)
- .stream()
- .map(NewSchemaEntry::new)
- .collect(Collectors.toList());
-
- checker.compareEntries(entries, "NewSchemaEntry", entryVersion());
- }
-
- @Test
- public void dropSchema() {
- List<UpdateEntry> entries = List.of(
- new DropSchemaEntry(state.id()),
- new DropSchemaEntry(state.id())
- );
-
- checker.compareEntries(entries, "DropSchemaEntry", entryVersion());
- }
-
- // Tables
-
- @Test
- public void newTable() {
- int version = entryVersion();
-
- List<UpdateEntry> entries = TestTableDescriptors.tables(state, version)
- .stream()
- .map(NewTableEntry::new)
- .collect(Collectors.toList());
-
- checker.compareEntries(entries, "NewTableEntry", version);
- }
-
- @Test
- public void renameTable() {
- List<UpdateEntry> entries = List.of(
- new RenameTableEntry(state.id(), "NEW_NAME1"),
- new RenameTableEntry(state.id(), "NEW_NAME2")
- );
-
- checker.compareEntries(entries, "RenameTableEntry", entryVersion());
- }
-
- @Test
- public void dropTable() {
- List<UpdateEntry> entries = List.of(
- new DropTableEntry(state.id()),
- new DropTableEntry(state.id())
- );
-
- checker.compareEntries(entries, "DropTableEntry", entryVersion());
- }
-
- // Indexes
-
- @Test
- public void newIndex() {
- int version = entryVersion();
-
- List<UpdateEntry> entries1 = TestIndexDescriptors.sortedIndices(state,
version)
- .stream()
- .map(NewIndexEntry::new)
- .collect(Collectors.toList());
-
- List<UpdateEntry> entries2 = TestIndexDescriptors.hashIndices(state,
version)
- .stream()
- .map(NewIndexEntry::new)
- .collect(Collectors.toList());
-
- List<UpdateEntry> entries = new ArrayList<>(entries1);
- entries.addAll(entries2);
-
- Collections.shuffle(entries, state.random());
-
- checker.compareEntries(entries, "NewIndexEntry", version);
- }
-
- @Test
- public void renameIndex() {
- List<UpdateEntry> entries = List.of(new RenameIndexEntry(state.id(),
"NEW_NAME"));
-
- checker.compareEntries(entries, "RenameIndexEntry", entryVersion());
- }
-
- @Test
- public void removeIndex() {
- List<UpdateEntry> entries = List.of(
- new RemoveIndexEntry(state.id()),
- new RemoveIndexEntry(state.id())
- );
-
- checker.compareEntries(entries, "RemoveIndexEntry", entryVersion());
- }
-
- @Test
- public void makeIndexAvailable() {
- List<UpdateEntry> entries = List.of(
- new MakeIndexAvailableEntry(state.id()),
- new MakeIndexAvailableEntry(state.id())
- );
-
- checker.compareEntries(entries, "MakeIndexAvailableEntry",
entryVersion());
- }
-
- @Test
- public void startBuildingIndex() {
- List<UpdateEntry> entries = List.of(
- new StartBuildingIndexEntry(state.id()),
- new StartBuildingIndexEntry(state.id())
- );
-
- checker.compareEntries(entries, "StartBuildingIndexEntry",
entryVersion());
- }
-
- @Test
- public void dropIndex() {
- List<UpdateEntry> entries = List.of(
- new DropIndexEntry(state.id()),
- new DropIndexEntry(state.id())
- );
-
- checker.compareEntries(entries, "DropIndexEntry", entryVersion());
- }
-
- // Columns
-
- @Test
- public void newColumns() {
- List<CatalogTableColumnDescriptor> columns1 =
TestTableColumnDescriptors.columns(state);
- List<CatalogTableColumnDescriptor> columns2 =
TestTableColumnDescriptors.columns(state);
-
- Collections.shuffle(columns1, state.random());
- Collections.shuffle(columns2, state.random());
-
- List<UpdateEntry> entries = List.of(
- new NewColumnsEntry(state.id(), columns1),
- new NewColumnsEntry(state.id(), columns2)
- );
-
- checker.compareEntries(entries, "NewColumnsEntry", entryVersion());
- }
-
- @Test
- public void alterColumn() {
- List<CatalogTableColumnDescriptor> columns =
TestTableColumnDescriptors.columns(state);
- Collections.shuffle(columns, state.random());
+ /** Serialization protocol version. */
+ protected abstract int protocolVersion();
- List<UpdateEntry> entries = List.of(
- new AlterColumnEntry(state.id(), columns.get(0)),
- new AlterColumnEntry(state.id(), columns.get(1))
- );
- checker.compareEntries(entries, "AlterColumnsEntry", entryVersion());
- }
-
- @Test
- public void dropColumns() {
- List<CatalogTableColumnDescriptor> columns1 =
TestTableColumnDescriptors.columns(state);
- List<CatalogTableColumnDescriptor> columns2 =
TestTableColumnDescriptors.columns(state);
-
- Collections.shuffle(columns1, state.random());
- Collections.shuffle(columns2, state.random());
-
- List<UpdateEntry> entries = List.of(
- new DropColumnsEntry(state.id(), Set.of("C1", "C2")),
- new DropColumnsEntry(state.id(), Set.of("C3"))
- );
- checker.compareEntries(entries, "DropColumnsEntry", entryVersion());
- }
+ /**
+ * Default entry serializer version, This version is used for very object
unless another version is added via
+ * {@link CatalogSerializationChecker#addExpectedVersion(int, int)}.
+ */
+ protected abstract int entryVersion();
Review Comment:
I would rename it to `defaultEntryVersion` to better reflect semantic
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]