This is an automated email from the ASF dual-hosted git repository.
rpuch pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new 3995a15fc3 IGNITE-23630 Store catalog object IDs as varints (#4777)
3995a15fc3 is described below
commit 3995a15fc37686bc4f4046cede39ccfc37d6988a
Author: Roman Puchkovskiy <[email protected]>
AuthorDate: Sat Nov 23 11:23:02 2024 +0400
IGNITE-23630 Store catalog object IDs as varints (#4777)
Also, collection/array lengths, tokens and other ints/longs that will most
probably be small are switched to varint encoding to save space
---
.../descriptors/CatalogHashIndexDescriptor.java | 12 ++++-----
.../descriptors/CatalogSchemaDescriptor.java | 8 +++---
.../descriptors/CatalogSortedIndexDescriptor.java | 12 ++++-----
.../descriptors/CatalogSystemViewDescriptor.java | 12 ++++-----
.../descriptors/CatalogTableColumnDescriptor.java | 16 ++++++------
.../descriptors/CatalogTableDescriptor.java | 30 +++++++++++-----------
.../descriptors/CatalogTableSchemaVersions.java | 4 +--
.../catalog/descriptors/CatalogZoneDescriptor.java | 28 ++++++++++----------
.../internal/catalog/storage/AlterColumnEntry.java | 4 +--
.../internal/catalog/storage/DropColumnsEntry.java | 4 +--
.../internal/catalog/storage/DropIndexEntry.java | 4 +--
.../internal/catalog/storage/DropTableEntry.java | 4 +--
.../internal/catalog/storage/DropZoneEntry.java | 4 +--
.../catalog/storage/MakeIndexAvailableEntry.java | 4 +--
.../internal/catalog/storage/NewColumnsEntry.java | 4 +--
.../catalog/storage/ObjectIdGenUpdateEntry.java | 4 +--
.../internal/catalog/storage/RemoveIndexEntry.java | 4 +--
.../internal/catalog/storage/RenameIndexEntry.java | 4 +--
.../internal/catalog/storage/RenameTableEntry.java | 4 +--
.../catalog/storage/SetDefaultZoneEntry.java | 4 +--
.../internal/catalog/storage/SnapshotEntry.java | 12 ++++-----
.../catalog/storage/StartBuildingIndexEntry.java | 4 +--
.../internal/catalog/storage/VersionedUpdate.java | 16 ++++++------
.../serialization/CatalogSerializationUtils.java | 19 +++++++-------
.../catalog/storage/UpdateLogImplTest.java | 4 +--
25 files changed, 113 insertions(+), 112 deletions(-)
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogHashIndexDescriptor.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogHashIndexDescriptor.java
index 4df0614392..cacf0c7637 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogHashIndexDescriptor.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogHashIndexDescriptor.java
@@ -118,10 +118,10 @@ public class CatalogHashIndexDescriptor extends
CatalogIndexDescriptor {
private static class HashIndexDescriptorSerializer implements
CatalogObjectSerializer<CatalogHashIndexDescriptor> {
@Override
public CatalogHashIndexDescriptor readFrom(IgniteDataInput input)
throws IOException {
- int id = input.readInt();
+ int id = input.readVarIntAsInt();
String name = input.readUTF();
- long updateToken = input.readLong();
- int tableId = input.readInt();
+ long updateToken = input.readVarInt();
+ int tableId = input.readVarIntAsInt();
boolean unique = input.readBoolean();
CatalogIndexStatus status =
CatalogIndexStatus.forId(input.readByte());
boolean isCreatedWithTable = input.readBoolean();
@@ -132,10 +132,10 @@ public class CatalogHashIndexDescriptor extends
CatalogIndexDescriptor {
@Override
public void writeTo(CatalogHashIndexDescriptor descriptor,
IgniteDataOutput output) throws IOException {
- output.writeInt(descriptor.id());
+ output.writeVarInt(descriptor.id());
output.writeUTF(descriptor.name());
- output.writeLong(descriptor.updateToken());
- output.writeInt(descriptor.tableId());
+ output.writeVarInt(descriptor.updateToken());
+ output.writeVarInt(descriptor.tableId());
output.writeBoolean(descriptor.unique());
output.writeByte(descriptor.status().id());
output.writeBoolean(descriptor.isCreatedWithTable());
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSchemaDescriptor.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSchemaDescriptor.java
index 76c6f228a1..ec3567bcdd 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSchemaDescriptor.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSchemaDescriptor.java
@@ -119,9 +119,9 @@ public class CatalogSchemaDescriptor extends
CatalogObjectDescriptor {
private static class SchemaDescriptorSerializer implements
CatalogObjectSerializer<CatalogSchemaDescriptor> {
@Override
public CatalogSchemaDescriptor readFrom(IgniteDataInput input) throws
IOException {
- int id = input.readInt();
+ int id = input.readVarIntAsInt();
String name = input.readUTF();
- long updateToken = input.readLong();
+ long updateToken = input.readVarInt();
CatalogTableDescriptor[] tables =
readArray(CatalogTableDescriptor.SERIALIZER, input,
CatalogTableDescriptor.class);
CatalogIndexDescriptor[] indexes =
readArray(CatalogSerializationUtils.IDX_SERIALIZER, input,
CatalogIndexDescriptor.class);
CatalogSystemViewDescriptor[] systemViews =
@@ -132,9 +132,9 @@ public class CatalogSchemaDescriptor extends
CatalogObjectDescriptor {
@Override
public void writeTo(CatalogSchemaDescriptor descriptor,
IgniteDataOutput output) throws IOException {
- output.writeInt(descriptor.id());
+ output.writeVarInt(descriptor.id());
output.writeUTF(descriptor.name());
- output.writeLong(descriptor.updateToken());
+ output.writeVarInt(descriptor.updateToken());
writeArray(descriptor.tables(), CatalogTableDescriptor.SERIALIZER,
output);
writeArray(descriptor.indexes(),
CatalogSerializationUtils.IDX_SERIALIZER, output);
writeArray(descriptor.systemViews(),
CatalogSystemViewDescriptor.SERIALIZER, output);
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSortedIndexDescriptor.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSortedIndexDescriptor.java
index aac9af8d06..c3f894222c 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSortedIndexDescriptor.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSortedIndexDescriptor.java
@@ -125,10 +125,10 @@ public class CatalogSortedIndexDescriptor extends
CatalogIndexDescriptor {
private static class SortedIndexDescriptorSerializer implements
CatalogObjectSerializer<CatalogSortedIndexDescriptor> {
@Override
public CatalogSortedIndexDescriptor readFrom(IgniteDataInput input)
throws IOException {
- int id = input.readInt();
+ int id = input.readVarIntAsInt();
String name = input.readUTF();
- long updateToken = input.readLong();
- int tableId = input.readInt();
+ long updateToken = input.readVarInt();
+ int tableId = input.readVarIntAsInt();
boolean unique = input.readBoolean();
CatalogIndexStatus status =
CatalogIndexStatus.forId(input.readByte());
boolean isCreatedWithTable = input.readBoolean();
@@ -139,10 +139,10 @@ public class CatalogSortedIndexDescriptor extends
CatalogIndexDescriptor {
@Override
public void writeTo(CatalogSortedIndexDescriptor descriptor,
IgniteDataOutput output) throws IOException {
- output.writeInt(descriptor.id());
+ output.writeVarInt(descriptor.id());
output.writeUTF(descriptor.name());
- output.writeLong(descriptor.updateToken());
- output.writeInt(descriptor.tableId());
+ output.writeVarInt(descriptor.updateToken());
+ output.writeVarInt(descriptor.tableId());
output.writeBoolean(descriptor.unique());
output.writeByte(descriptor.status().id());
output.writeBoolean(descriptor.isCreatedWithTable());
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSystemViewDescriptor.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSystemViewDescriptor.java
index edbb46b650..61155728d1 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSystemViewDescriptor.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogSystemViewDescriptor.java
@@ -186,10 +186,10 @@ public class CatalogSystemViewDescriptor extends
CatalogObjectDescriptor {
private static class SystemViewDescriptorSerializer implements
CatalogObjectSerializer<CatalogSystemViewDescriptor> {
@Override
public CatalogSystemViewDescriptor readFrom(IgniteDataInput input)
throws IOException {
- int id = input.readInt();
- int schemaId = input.readInt();
+ int id = input.readVarIntAsInt();
+ int schemaId = input.readVarIntAsInt();
String name = input.readUTF();
- long updateToken = input.readLong();
+ long updateToken = input.readVarInt();
List<CatalogTableColumnDescriptor> columns =
readList(CatalogTableColumnDescriptor.SERIALIZER, input);
byte sysViewTypeId = input.readByte();
@@ -200,10 +200,10 @@ public class CatalogSystemViewDescriptor extends
CatalogObjectDescriptor {
@Override
public void writeTo(CatalogSystemViewDescriptor descriptor,
IgniteDataOutput output) throws IOException {
- output.writeInt(descriptor.id());
- output.writeInt(descriptor.schemaId);
+ output.writeVarInt(descriptor.id());
+ output.writeVarInt(descriptor.schemaId);
output.writeUTF(descriptor.name());
- output.writeLong(descriptor.updateToken());
+ output.writeVarInt(descriptor.updateToken());
writeList(descriptor.columns(),
CatalogTableColumnDescriptor.SERIALIZER, output);
output.writeByte(descriptor.systemViewType().id());
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableColumnDescriptor.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableColumnDescriptor.java
index a6ce2dc4a7..72529637c8 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableColumnDescriptor.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableColumnDescriptor.java
@@ -146,15 +146,15 @@ public class CatalogTableColumnDescriptor {
@Override
public CatalogTableColumnDescriptor readFrom(IgniteDataInput input)
throws IOException {
String name = input.readUTF();
- int typeId = input.readInt();
+ int typeId = input.readVarIntAsInt();
ColumnType type = ColumnType.getById(typeId);
assert type != null : "Unknown column type: " + typeId;
boolean nullable = input.readBoolean();
- int precision = input.readInt();
- int scale = input.readInt();
- int length = input.readInt();
+ int precision = input.readVarIntAsInt();
+ int scale = input.readVarIntAsInt();
+ int length = input.readVarIntAsInt();
DefaultValue defaultValue = DefaultValue.readFrom(input);
@@ -164,11 +164,11 @@ public class CatalogTableColumnDescriptor {
@Override
public void writeTo(CatalogTableColumnDescriptor descriptor,
IgniteDataOutput output) throws IOException {
output.writeUTF(descriptor.name());
- output.writeInt(descriptor.type().id());
+ output.writeVarInt(descriptor.type().id());
output.writeBoolean(descriptor.nullable());
- output.writeInt(descriptor.precision());
- output.writeInt(descriptor.scale());
- output.writeInt(descriptor.length());
+ output.writeVarInt(descriptor.precision());
+ output.writeVarInt(descriptor.scale());
+ output.writeVarInt(descriptor.length());
DefaultValue.writeTo(descriptor.defaultValue(), output);
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableDescriptor.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableDescriptor.java
index 1de7901f85..e035380494 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableDescriptor.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableDescriptor.java
@@ -291,19 +291,19 @@ public class CatalogTableDescriptor extends
CatalogObjectDescriptor {
private static class TableDescriptorSerializer implements
CatalogObjectSerializer<CatalogTableDescriptor> {
@Override
public CatalogTableDescriptor readFrom(IgniteDataInput input) throws
IOException {
- int id = input.readInt();
+ int id = input.readVarIntAsInt();
String name = input.readUTF();
- long updateToken = input.readLong();
+ long updateToken = input.readVarInt();
CatalogTableSchemaVersions schemaVersions =
CatalogTableSchemaVersions.SERIALIZER.readFrom(input);
List<CatalogTableColumnDescriptor> columns =
readList(CatalogTableColumnDescriptor.SERIALIZER, input);
String storageProfile = input.readUTF();
- int schemaId = input.readInt();
- int pkIndexId = input.readInt();
- int zoneId = input.readInt();
+ int schemaId = input.readVarIntAsInt();
+ int pkIndexId = input.readVarIntAsInt();
+ int zoneId = input.readVarIntAsInt();
- int pkKeysLen = input.readInt();
+ int pkKeysLen = input.readVarIntAsInt();
int[] pkColumnIndexes = input.readIntArray(pkKeysLen);
List<String> primaryKeyColumns = new
ArrayList<>(pkColumnIndexes.length);
@@ -311,7 +311,7 @@ public class CatalogTableDescriptor extends
CatalogObjectDescriptor {
primaryKeyColumns.add(columns.get(idx).name());
}
- int colocationColumnsLen = input.readInt();
+ int colocationColumnsLen = input.readVarIntAsInt();
List<String> colocationColumns;
@@ -344,28 +344,28 @@ public class CatalogTableDescriptor extends
CatalogObjectDescriptor {
@Override
public void writeTo(CatalogTableDescriptor descriptor,
IgniteDataOutput output) throws IOException {
- output.writeInt(descriptor.id());
+ output.writeVarInt(descriptor.id());
output.writeUTF(descriptor.name());
- output.writeLong(descriptor.updateToken());
+ output.writeVarInt(descriptor.updateToken());
CatalogTableSchemaVersions.SERIALIZER.writeTo(descriptor.schemaVersions(),
output);
writeList(descriptor.columns(),
CatalogTableColumnDescriptor.SERIALIZER, output);
output.writeUTF(descriptor.storageProfile());
- output.writeInt(descriptor.schemaId());
- output.writeInt(descriptor.primaryKeyIndexId());
- output.writeInt(descriptor.zoneId());
+ output.writeVarInt(descriptor.schemaId());
+ output.writeVarInt(descriptor.primaryKeyIndexId());
+ output.writeVarInt(descriptor.zoneId());
int[] pkIndexes = resolvePkColumnIndexes(descriptor);
- output.writeInt(pkIndexes.length);
+ output.writeVarInt(pkIndexes.length);
output.writeIntArray(pkIndexes);
if (descriptor.colocationColumns() ==
descriptor.primaryKeyColumns()) {
- output.writeInt(-1);
+ output.writeVarInt(-1);
} else {
int[] colocationIndexes =
resolveColocationColumnIndexes(pkIndexes, descriptor);
- output.writeInt(colocationIndexes.length);
+ output.writeVarInt(colocationIndexes.length);
output.writeIntArray(colocationIndexes);
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableSchemaVersions.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableSchemaVersions.java
index d45de8c45d..c310e97fb9 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableSchemaVersions.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableSchemaVersions.java
@@ -110,7 +110,7 @@ public class CatalogTableSchemaVersions {
@Override
public CatalogTableSchemaVersions readFrom(IgniteDataInput input)
throws IOException {
TableVersion[] versions =
readArray(TableVersionSerializer.INSTANCE, input, TableVersion.class);
- int base = input.readInt();
+ int base = input.readVarIntAsInt();
return new CatalogTableSchemaVersions(base, versions);
}
@@ -118,7 +118,7 @@ public class CatalogTableSchemaVersions {
@Override
public void writeTo(CatalogTableSchemaVersions tabVersions,
IgniteDataOutput output) throws IOException {
writeArray(tabVersions.versions, TableVersionSerializer.INSTANCE,
output);
- output.writeInt(tabVersions.base);
+ output.writeVarInt(tabVersions.base);
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogZoneDescriptor.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogZoneDescriptor.java
index 6af1345473..b3b739cd45 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogZoneDescriptor.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogZoneDescriptor.java
@@ -198,17 +198,17 @@ public class CatalogZoneDescriptor extends
CatalogObjectDescriptor {
private static class ZoneDescriptorSerializer implements
CatalogObjectSerializer<CatalogZoneDescriptor> {
@Override
public CatalogZoneDescriptor readFrom(IgniteDataInput input) throws
IOException {
- int id = input.readInt();
+ int id = input.readVarIntAsInt();
String name = input.readUTF();
- long updateToken = input.readLong();
+ long updateToken = input.readVarInt();
CatalogStorageProfilesDescriptor catalogStorageProfilesDescriptor
= CatalogStorageProfilesDescriptor.SERIALIZER.readFrom(input);
- int partitions = input.readInt();
- int replicas = input.readInt();
- int dataNodesAutoAdjust = input.readInt();
- int dataNodesAutoAdjustScaleUp = input.readInt();
- int dataNodesAutoAdjustScaleDown = input.readInt();
+ int partitions = input.readVarIntAsInt();
+ int replicas = input.readVarIntAsInt();
+ int dataNodesAutoAdjust = input.readVarIntAsInt();
+ int dataNodesAutoAdjustScaleUp = input.readVarIntAsInt();
+ int dataNodesAutoAdjustScaleDown = input.readVarIntAsInt();
String filter = input.readUTF();
ConsistencyMode consistencyMode =
ConsistencyMode.forId(input.readByte());
@@ -229,17 +229,17 @@ public class CatalogZoneDescriptor extends
CatalogObjectDescriptor {
@Override
public void writeTo(CatalogZoneDescriptor descriptor, IgniteDataOutput
output) throws IOException {
- output.writeInt(descriptor.id());
+ output.writeVarInt(descriptor.id());
output.writeUTF(descriptor.name());
- output.writeLong(descriptor.updateToken());
+ output.writeVarInt(descriptor.updateToken());
CatalogStorageProfilesDescriptor.SERIALIZER.writeTo(descriptor.storageProfiles(),
output);
- output.writeInt(descriptor.partitions());
- output.writeInt(descriptor.replicas());
- output.writeInt(descriptor.dataNodesAutoAdjust());
- output.writeInt(descriptor.dataNodesAutoAdjustScaleUp());
- output.writeInt(descriptor.dataNodesAutoAdjustScaleDown());
+ output.writeVarInt(descriptor.partitions());
+ output.writeVarInt(descriptor.replicas());
+ output.writeVarInt(descriptor.dataNodesAutoAdjust());
+ output.writeVarInt(descriptor.dataNodesAutoAdjustScaleUp());
+ output.writeVarInt(descriptor.dataNodesAutoAdjustScaleDown());
output.writeUTF(descriptor.filter());
output.writeByte(descriptor.consistencyMode().id());
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/AlterColumnEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/AlterColumnEntry.java
index 0d08df2bb9..5d4fdbe559 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/AlterColumnEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/AlterColumnEntry.java
@@ -121,7 +121,7 @@ public class AlterColumnEntry implements UpdateEntry,
Fireable {
@Override
public AlterColumnEntry readFrom(IgniteDataInput input) throws
IOException {
CatalogTableColumnDescriptor descriptor =
CatalogTableColumnDescriptor.SERIALIZER.readFrom(input);
- int tableId = input.readInt();
+ int tableId = input.readVarIntAsInt();
return new AlterColumnEntry(tableId, descriptor);
}
@@ -130,7 +130,7 @@ public class AlterColumnEntry implements UpdateEntry,
Fireable {
public void writeTo(AlterColumnEntry value, IgniteDataOutput output)
throws IOException {
CatalogTableColumnDescriptor.SERIALIZER.writeTo(value.descriptor(), output);
- output.writeInt(value.tableId);
+ output.writeVarInt(value.tableId);
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropColumnsEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropColumnsEntry.java
index c31f5fcd12..3da4eb80b4 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropColumnsEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropColumnsEntry.java
@@ -123,7 +123,7 @@ public class DropColumnsEntry implements UpdateEntry,
Fireable {
private static class DropColumnEntrySerializer implements
CatalogObjectSerializer<DropColumnsEntry> {
@Override
public DropColumnsEntry readFrom(IgniteDataInput input) throws
IOException {
- int tableId = input.readInt();
+ int tableId = input.readVarIntAsInt();
Set<String> columns =
CatalogSerializationUtils.readStringCollection(input, size -> new
HashSet<>(capacity(size)));
return new DropColumnsEntry(tableId, columns);
@@ -131,7 +131,7 @@ public class DropColumnsEntry implements UpdateEntry,
Fireable {
@Override
public void writeTo(DropColumnsEntry object, IgniteDataOutput output)
throws IOException {
- output.writeInt(object.tableId());
+ output.writeVarInt(object.tableId());
writeStringCollection(object.columns(), output);
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropIndexEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropIndexEntry.java
index 4241dee915..431a6d6123 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropIndexEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropIndexEntry.java
@@ -75,14 +75,14 @@ public class DropIndexEntry extends
AbstractChangeIndexStatusEntry implements Fi
private static class DropIndexEntrySerializer implements
CatalogObjectSerializer<DropIndexEntry> {
@Override
public DropIndexEntry readFrom(IgniteDataInput input) throws
IOException {
- int indexId = input.readInt();
+ int indexId = input.readVarIntAsInt();
return new DropIndexEntry(indexId);
}
@Override
public void writeTo(DropIndexEntry entry, IgniteDataOutput out) throws
IOException {
- out.writeInt(entry.indexId());
+ out.writeVarInt(entry.indexId());
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropTableEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropTableEntry.java
index 06ccd5aee3..d4384b6f2a 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropTableEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropTableEntry.java
@@ -106,14 +106,14 @@ public class DropTableEntry implements UpdateEntry,
Fireable {
private static class DropTableEntrySerializer implements
CatalogObjectSerializer<DropTableEntry> {
@Override
public DropTableEntry readFrom(IgniteDataInput input) throws
IOException {
- int tableId = input.readInt();
+ int tableId = input.readVarIntAsInt();
return new DropTableEntry(tableId);
}
@Override
public void writeTo(DropTableEntry entry, IgniteDataOutput out) throws
IOException {
- out.writeInt(entry.tableId());
+ out.writeVarInt(entry.tableId());
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropZoneEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropZoneEntry.java
index eaeec8558a..0cba32ebe9 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropZoneEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/DropZoneEntry.java
@@ -91,14 +91,14 @@ public class DropZoneEntry implements UpdateEntry, Fireable
{
private static class DropZoneEntrySerializer implements
CatalogObjectSerializer<DropZoneEntry> {
@Override
public DropZoneEntry readFrom(IgniteDataInput input) throws
IOException {
- int zoneId = input.readInt();
+ int zoneId = input.readVarIntAsInt();
return new DropZoneEntry(zoneId);
}
@Override
public void writeTo(DropZoneEntry entry, IgniteDataOutput output)
throws IOException {
- output.writeInt(entry.zoneId());
+ output.writeVarInt(entry.zoneId());
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/MakeIndexAvailableEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/MakeIndexAvailableEntry.java
index efb3625e6a..3ddd39a393 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/MakeIndexAvailableEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/MakeIndexAvailableEntry.java
@@ -59,14 +59,14 @@ public class MakeIndexAvailableEntry extends
AbstractChangeIndexStatusEntry impl
private static class MakeIndexAvailableEntrySerializer implements
CatalogObjectSerializer<MakeIndexAvailableEntry> {
@Override
public MakeIndexAvailableEntry readFrom(IgniteDataInput input) throws
IOException {
- int indexId = input.readInt();
+ int indexId = input.readVarIntAsInt();
return new MakeIndexAvailableEntry(indexId);
}
@Override
public void writeTo(MakeIndexAvailableEntry object, IgniteDataOutput
output) throws IOException {
- output.writeInt(object.indexId);
+ output.writeVarInt(object.indexId);
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/NewColumnsEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/NewColumnsEntry.java
index 9e29a5f971..c1d30c778b 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/NewColumnsEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/NewColumnsEntry.java
@@ -121,7 +121,7 @@ public class NewColumnsEntry implements UpdateEntry,
Fireable {
@Override
public NewColumnsEntry readFrom(IgniteDataInput in) throws IOException
{
List<CatalogTableColumnDescriptor> columns =
readList(CatalogTableColumnDescriptor.SERIALIZER, in);
- int tableId = in.readInt();
+ int tableId = in.readVarIntAsInt();
return new NewColumnsEntry(tableId, columns);
}
@@ -129,7 +129,7 @@ public class NewColumnsEntry implements UpdateEntry,
Fireable {
@Override
public void writeTo(NewColumnsEntry entry, IgniteDataOutput out)
throws IOException {
writeList(entry.descriptors(),
CatalogTableColumnDescriptor.SERIALIZER, out);
- out.writeInt(entry.tableId());
+ out.writeVarInt(entry.tableId());
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/ObjectIdGenUpdateEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/ObjectIdGenUpdateEntry.java
index 7fe128d803..9e714e97fa 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/ObjectIdGenUpdateEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/ObjectIdGenUpdateEntry.java
@@ -77,14 +77,14 @@ public class ObjectIdGenUpdateEntry implements UpdateEntry {
private static class ObjectIdGenUpdateEntrySerializer implements
CatalogObjectSerializer<ObjectIdGenUpdateEntry> {
@Override
public ObjectIdGenUpdateEntry readFrom(IgniteDataInput input) throws
IOException {
- int delta = input.readInt();
+ int delta = input.readVarIntAsInt();
return new ObjectIdGenUpdateEntry(delta);
}
@Override
public void writeTo(ObjectIdGenUpdateEntry entry, IgniteDataOutput
output) throws IOException {
- output.writeInt(entry.delta());
+ output.writeVarInt(entry.delta());
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RemoveIndexEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RemoveIndexEntry.java
index a660e69874..1b373ed119 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RemoveIndexEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RemoveIndexEntry.java
@@ -99,14 +99,14 @@ public class RemoveIndexEntry implements UpdateEntry,
Fireable {
private static class RemoveIndexEntrySerializer implements
CatalogObjectSerializer<RemoveIndexEntry> {
@Override
public RemoveIndexEntry readFrom(IgniteDataInput input) throws
IOException {
- int indexId = input.readInt();
+ int indexId = input.readVarIntAsInt();
return new RemoveIndexEntry(indexId);
}
@Override
public void writeTo(RemoveIndexEntry entry, IgniteDataOutput out)
throws IOException {
- out.writeInt(entry.indexId);
+ out.writeVarInt(entry.indexId);
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RenameIndexEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RenameIndexEntry.java
index 803cbd8c30..c4da89cd8b 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RenameIndexEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RenameIndexEntry.java
@@ -125,7 +125,7 @@ public class RenameIndexEntry implements UpdateEntry {
private static class RenameIndexEntrySerializer implements
CatalogObjectSerializer<RenameIndexEntry> {
@Override
public RenameIndexEntry readFrom(IgniteDataInput input) throws
IOException {
- int indexId = input.readInt();
+ int indexId = input.readVarIntAsInt();
String newIndexName = input.readUTF();
@@ -134,7 +134,7 @@ public class RenameIndexEntry implements UpdateEntry {
@Override
public void writeTo(RenameIndexEntry entry, IgniteDataOutput out)
throws IOException {
- out.writeInt(entry.indexId);
+ out.writeVarInt(entry.indexId);
out.writeUTF(entry.newIndexName);
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RenameTableEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RenameTableEntry.java
index 69c3cdb135..83e636820c 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RenameTableEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RenameTableEntry.java
@@ -92,7 +92,7 @@ public class RenameTableEntry implements UpdateEntry,
Fireable {
private static class RenameTableEntrySerializer implements
CatalogObjectSerializer<RenameTableEntry> {
@Override
public RenameTableEntry readFrom(IgniteDataInput input) throws
IOException {
- int tableId = input.readInt();
+ int tableId = input.readVarIntAsInt();
String newTableName = input.readUTF();
return new RenameTableEntry(tableId, newTableName);
@@ -100,7 +100,7 @@ public class RenameTableEntry implements UpdateEntry,
Fireable {
@Override
public void writeTo(RenameTableEntry entry, IgniteDataOutput output)
throws IOException {
- output.writeInt(entry.tableId);
+ output.writeVarInt(entry.tableId);
output.writeUTF(entry.newTableName);
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/SetDefaultZoneEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/SetDefaultZoneEntry.java
index c089dfc87d..6066e828d3 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/SetDefaultZoneEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/SetDefaultZoneEntry.java
@@ -87,14 +87,14 @@ public class SetDefaultZoneEntry implements UpdateEntry,
Fireable {
private static class SetDefaultZoneEntrySerializer implements
CatalogObjectSerializer<SetDefaultZoneEntry> {
@Override
public SetDefaultZoneEntry readFrom(IgniteDataInput input) throws
IOException {
- int zoneId = input.readInt();
+ int zoneId = input.readVarIntAsInt();
return new SetDefaultZoneEntry(zoneId);
}
@Override
public void writeTo(SetDefaultZoneEntry entry, IgniteDataOutput
output) throws IOException {
- output.writeInt(entry.zoneId());
+ output.writeVarInt(entry.zoneId());
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/SnapshotEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/SnapshotEntry.java
index f9134be6d4..0937441f58 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/SnapshotEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/SnapshotEntry.java
@@ -130,9 +130,9 @@ public class SnapshotEntry implements UpdateLogEvent {
private static class SnapshotEntrySerializer implements
CatalogObjectSerializer<SnapshotEntry> {
@Override
public SnapshotEntry readFrom(IgniteDataInput input) throws
IOException {
- int catalogVersion = input.readInt();
+ int catalogVersion = input.readVarIntAsInt();
long activationTime = input.readLong();
- int objectIdGenState = input.readInt();
+ int objectIdGenState = input.readVarIntAsInt();
CatalogZoneDescriptor[] zones =
CatalogSerializationUtils.readArray(CatalogZoneDescriptor.SERIALIZER, input,
CatalogZoneDescriptor.class);
@@ -142,7 +142,7 @@ public class SnapshotEntry implements UpdateLogEvent {
Integer defaultZoneId = null;
if (input.readBoolean()) {
- defaultZoneId = input.readInt();
+ defaultZoneId = input.readVarIntAsInt();
}
return new SnapshotEntry(catalogVersion, activationTime,
objectIdGenState, zones, schemas, defaultZoneId);
@@ -150,16 +150,16 @@ public class SnapshotEntry implements UpdateLogEvent {
@Override
public void writeTo(SnapshotEntry entry, IgniteDataOutput output)
throws IOException {
- output.writeInt(entry.version);
+ output.writeVarInt(entry.version);
output.writeLong(entry.activationTime);
- output.writeInt(entry.objectIdGenState);
+ output.writeVarInt(entry.objectIdGenState);
CatalogSerializationUtils.writeArray(entry.zones,
CatalogZoneDescriptor.SERIALIZER, output);
CatalogSerializationUtils.writeArray(entry.schemas,
CatalogSchemaDescriptor.SERIALIZER, output);
output.writeBoolean(entry.defaultZoneId != null);
if (entry.defaultZoneId != null) {
- output.writeInt(entry.defaultZoneId);
+ output.writeVarInt(entry.defaultZoneId);
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/StartBuildingIndexEntry.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/StartBuildingIndexEntry.java
index 63e2537b05..082e1d7a7f 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/StartBuildingIndexEntry.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/StartBuildingIndexEntry.java
@@ -59,14 +59,14 @@ public class StartBuildingIndexEntry extends
AbstractChangeIndexStatusEntry impl
private static class StartBuildingIndexEntrySerializer implements
CatalogObjectSerializer<StartBuildingIndexEntry> {
@Override
public StartBuildingIndexEntry readFrom(IgniteDataInput input) throws
IOException {
- int indexId = input.readInt();
+ int indexId = input.readVarIntAsInt();
return new StartBuildingIndexEntry(indexId);
}
@Override
public void writeTo(StartBuildingIndexEntry object, IgniteDataOutput
output) throws IOException {
- output.writeInt(object.indexId);
+ output.writeVarInt(object.indexId);
}
}
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/VersionedUpdate.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/VersionedUpdate.java
index fe59ab66c5..f06ce94ce9 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/VersionedUpdate.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/VersionedUpdate.java
@@ -111,14 +111,14 @@ public class VersionedUpdate implements UpdateLogEvent {
@Override
public VersionedUpdate readFrom(IgniteDataInput input) throws
IOException {
- int ver = input.readInt();
- long delayDurationMs = input.readLong();
+ int ver = input.readVarIntAsInt();
+ long delayDurationMs = input.readVarInt();
- int size = input.readInt();
+ int size = input.readVarIntAsInt();
List<UpdateEntry> entries = new ArrayList<>(size);
for (int i = 0; i < size; i++) {
- short entryTypeId = input.readShort();
+ short entryTypeId = (short) input.readVarIntAsInt();
CatalogObjectSerializer<MarshallableEntry> serializer =
serializers.get(entryTypeId);
@@ -130,12 +130,12 @@ public class VersionedUpdate implements UpdateLogEvent {
@Override
public void writeTo(VersionedUpdate update, IgniteDataOutput output)
throws IOException {
- output.writeInt(update.version());
- output.writeLong(update.delayDurationMs());
+ output.writeVarInt(update.version());
+ output.writeVarInt(update.delayDurationMs());
- output.writeInt(update.entries().size());
+ output.writeVarInt(update.entries().size());
for (UpdateEntry entry : update.entries()) {
- output.writeShort(entry.typeId());
+ output.writeVarInt(entry.typeId());
serializers.get(entry.typeId()).writeTo(entry, output);
}
diff --git
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/serialization/CatalogSerializationUtils.java
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/serialization/CatalogSerializationUtils.java
index d4e9a9f358..2a300253c1 100644
---
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/serialization/CatalogSerializationUtils.java
+++
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/serialization/CatalogSerializationUtils.java
@@ -58,14 +58,14 @@ public class CatalogSerializationUtils {
}
/** Writes collection containing strings. */
- public static void writeStringCollection(@Nullable Collection<String>
list, DataOutput out) throws IOException {
+ public static void writeStringCollection(@Nullable Collection<String>
list, IgniteDataOutput out) throws IOException {
if (list == null) {
- out.writeInt(-1);
+ out.writeVarInt(-1);
return;
}
- out.writeInt(list.size());
+ out.writeVarInt(list.size());
for (String item : list) {
out.writeUTF(item);
@@ -73,8 +73,9 @@ public class CatalogSerializationUtils {
}
/** Reads collection containing strings. */
- public static <T extends Collection<String>> @Nullable T
readStringCollection(DataInput in, IntFunction<T> factory) throws IOException {
- int size = in.readInt();
+ public static <T extends Collection<String>> @Nullable T
readStringCollection(IgniteDataInput in, IntFunction<T> factory)
+ throws IOException {
+ int size = in.readVarIntAsInt();
if (size == -1) {
return null;
@@ -92,7 +93,7 @@ public class CatalogSerializationUtils {
/** Reads array of objects. */
public static <T> T[] readArray(CatalogObjectSerializer<T> serializer,
IgniteDataInput input, Class<T> clazz)
throws IOException {
- int len = input.readInt();
+ int len = input.readVarIntAsInt();
T[] arr = (T[]) Array.newInstance(clazz, len);
@@ -106,7 +107,7 @@ public class CatalogSerializationUtils {
/** Writes array of objects. */
public static <T> void writeArray(T[] items, CatalogObjectSerializer<T>
serializer, IgniteDataOutput output)
throws IOException {
- output.writeInt(items.length);
+ output.writeVarInt(items.length);
for (T item : items) {
serializer.writeTo(item, output);
@@ -115,7 +116,7 @@ public class CatalogSerializationUtils {
/** Reads list of objects. */
public static <T> List<T> readList(CatalogObjectSerializer<T> serializer,
IgniteDataInput input) throws IOException {
- int len = input.readInt();
+ int len = input.readVarIntAsInt();
List<T> entries = new ArrayList<>(len);
@@ -131,7 +132,7 @@ public class CatalogSerializationUtils {
/** Writes list of objects. */
public static <T> void writeList(List<T> items, CatalogObjectSerializer<T>
serializer, IgniteDataOutput output)
throws IOException {
- output.writeInt(items.size());
+ output.writeVarInt(items.size());
for (T item : items) {
serializer.writeTo(item, output);
diff --git
a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/storage/UpdateLogImplTest.java
b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/storage/UpdateLogImplTest.java
index 1b12e81868..ec06adec01 100644
---
a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/storage/UpdateLogImplTest.java
+++
b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/storage/UpdateLogImplTest.java
@@ -422,7 +422,7 @@ class UpdateLogImplTest extends BaseIgniteAbstractTest {
serializer = new CatalogObjectSerializer<>() {
@Override
public MarshallableEntry readFrom(IgniteDataInput input)
throws IOException {
- int length = input.readInt();
+ int length = input.readVarIntAsInt();
byte[] data = input.readByteArray(length);
return ByteUtils.fromBytes(data);
@@ -432,7 +432,7 @@ class UpdateLogImplTest extends BaseIgniteAbstractTest {
public void writeTo(MarshallableEntry value,
IgniteDataOutput output) throws IOException {
byte[] bytes = ByteUtils.toBytes(value);
- output.writeInt(bytes.length);
+ output.writeVarInt(bytes.length);
output.writeByteArray(bytes);
}
};