This is an automated email from the ASF dual-hosted git repository.
amashenkov 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 b5271a3def4 IGNITE-28311 Massive Integer boxing in index lockers
(#7834)
b5271a3def4 is described below
commit b5271a3def4e0905c501ce5bed20c54b6f658859
Author: Andrew V. Mashenkov <[email protected]>
AuthorDate: Fri Mar 20 18:28:35 2026 +0300
IGNITE-28311 Massive Integer boxing in index lockers (#7834)
---
...xDistributedTestSingleNodeNoCleanupMessage.java | 6 ++--
.../apache/ignite/internal/table/TableImpl.java | 9 +++---
.../ignite/internal/table/TableViewInternal.java | 4 +--
.../distributed/TableIndexStoragesSupplier.java | 4 +--
.../replicator/PartitionReplicaListener.java | 23 +++++++++-------
.../internal/table/distributed/IndexBaseTest.java | 10 +++----
.../table/distributed/StorageCleanupTest.java | 9 +++---
.../distributed/StorageUpdateHandlerTest.java | 9 +++---
.../gc/AbstractGcUpdateHandlerTest.java | 4 +--
.../distributed/index/IndexUpdateHandlerTest.java | 32 ++++++++++++----------
.../raft/PartitionCommandListenerTest.java | 3 +-
.../PartitionReplicaListenerIndexLockingTest.java | 19 +++++++------
...itionReplicaListenerSortedIndexLockingTest.java | 10 +++----
.../replication/PartitionReplicaListenerTest.java | 13 +++++++--
.../ZonePartitionReplicaListenerTest.java | 13 +++++++--
.../storage/InternalTableEstimatedSizeTest.java | 5 ++--
.../apache/ignite/distributed/ItTxTestCluster.java | 17 +++++++-----
.../table/impl/DummyInternalTableImpl.java | 12 ++++----
18 files changed, 115 insertions(+), 87 deletions(-)
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNodeNoCleanupMessage.java
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNodeNoCleanupMessage.java
index f4af6166011..2bf11c528c6 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNodeNoCleanupMessage.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNodeNoCleanupMessage.java
@@ -27,8 +27,8 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.mockito.Mockito.mock;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import java.util.List;
-import java.util.Map;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CopyOnWriteArrayList;
@@ -177,9 +177,9 @@ public class ItTxDistributedTestSingleNodeNoCleanupMessage
extends TxAbstractTes
Executor scanRequestExecutor,
ZonePartitionId replicationGroupId,
int tableId,
- Supplier<Map<Integer, IndexLocker>> indexesLockers,
+ Supplier<Int2ObjectMap<IndexLocker>> indexesLockers,
Lazy<TableSchemaAwareIndexStorage> pkIndexStorage,
- Supplier<Map<Integer, TableSchemaAwareIndexStorage>>
secondaryIndexStorages,
+ Supplier<Int2ObjectMap<TableSchemaAwareIndexStorage>>
secondaryIndexStorages,
ClockService clockService,
PendingComparableValuesTracker<HybridTimestamp, Void>
safeTime,
TransactionStateResolver transactionStateResolver,
diff --git
a/modules/table/src/main/java/org/apache/ignite/internal/table/TableImpl.java
b/modules/table/src/main/java/org/apache/ignite/internal/table/TableImpl.java
index 967e27ef347..3188e9a3721 100644
---
a/modules/table/src/main/java/org/apache/ignite/internal/table/TableImpl.java
+++
b/modules/table/src/main/java/org/apache/ignite/internal/table/TableImpl.java
@@ -17,8 +17,9 @@
package org.apache.ignite.internal.table;
+import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -252,7 +253,7 @@ public class TableImpl implements TableViewInternal {
return () -> {
var factories = new ArrayList<>(indexWrapperById.values());
- var adapters = new HashMap<Integer,
TableSchemaAwareIndexStorage>();
+ Int2ObjectMap<TableSchemaAwareIndexStorage> adapters = new
Int2ObjectArrayMap<>(factories.size());
for (IndexWrapper factory : factories) {
TableSchemaAwareIndexStorage storage =
factory.getStorage(partitionId);
@@ -267,11 +268,11 @@ public class TableImpl implements TableViewInternal {
}
@Override
- public Supplier<Map<Integer, IndexLocker>> indexesLockers(int partId) {
+ public Supplier<Int2ObjectMap<IndexLocker>> indexesLockers(int partId) {
return () -> {
List<IndexWrapper> factories = new
ArrayList<>(indexWrapperById.values());
- Map<Integer, IndexLocker> lockers = new
HashMap<>(factories.size());
+ Int2ObjectMap<IndexLocker> lockers = new
Int2ObjectArrayMap<>(factories.size());
for (IndexWrapper factory : factories) {
IndexLocker locker = factory.getLocker(partId);
diff --git
a/modules/table/src/main/java/org/apache/ignite/internal/table/TableViewInternal.java
b/modules/table/src/main/java/org/apache/ignite/internal/table/TableViewInternal.java
index cc715d1dbbb..e04fe5f29c9 100644
---
a/modules/table/src/main/java/org/apache/ignite/internal/table/TableViewInternal.java
+++
b/modules/table/src/main/java/org/apache/ignite/internal/table/TableViewInternal.java
@@ -17,7 +17,7 @@
package org.apache.ignite.internal.table;
-import java.util.Map;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import java.util.function.Supplier;
import org.apache.ignite.internal.schema.ColumnsExtractor;
import org.apache.ignite.internal.schema.SchemaRegistry;
@@ -87,7 +87,7 @@ public interface TableViewInternal extends Table {
TableIndexStoragesSupplier indexStorageAdapters(int partitionId);
/** Returns a supplier of index locker factories for given partition. */
- Supplier<Map<Integer, IndexLocker>> indexesLockers(int partId);
+ Supplier<Int2ObjectMap<IndexLocker>> indexesLockers(int partId);
/**
* Registers the index with given id in a table.
diff --git
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableIndexStoragesSupplier.java
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableIndexStoragesSupplier.java
index 39c0844846b..ab36cfd0c1b 100644
---
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableIndexStoragesSupplier.java
+++
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableIndexStoragesSupplier.java
@@ -17,7 +17,7 @@
package org.apache.ignite.internal.table.distributed;
-import java.util.Map;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
/** Supplier table index storages. */
@FunctionalInterface
@@ -27,5 +27,5 @@ public interface TableIndexStoragesSupplier {
*
* <p>Waits for the primary key index and all other registered indexes to
be created.
*/
- Map<Integer, TableSchemaAwareIndexStorage> get();
+ Int2ObjectMap<TableSchemaAwareIndexStorage> get();
}
diff --git
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
index 5c7276e53dd..c817d48540d 100644
---
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
+++
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
@@ -62,6 +62,7 @@ import static
org.apache.ignite.internal.util.IgniteUtils.inBusyLock;
import static org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync;
import static org.apache.ignite.lang.ErrorGroups.Replicator.CURSOR_CLOSE_ERR;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.BitSet;
@@ -264,7 +265,7 @@ public class PartitionReplicaListener implements
ReplicaTableProcessor {
private final Lazy<TableSchemaAwareIndexStorage> pkIndexStorage;
/** Secondary indices. */
- private final Supplier<Map<Integer, TableSchemaAwareIndexStorage>>
secondaryIndexStorages;
+ private final Supplier<Int2ObjectMap<TableSchemaAwareIndexStorage>>
secondaryIndexStorages;
/** Versioned partition storage. */
private final MvPartitionStorage mvDataStorage;
@@ -293,7 +294,7 @@ public class PartitionReplicaListener implements
ReplicaTableProcessor {
/** Runs async scan tasks for effective tail recursion execution (avoid
deep recursive calls). */
private final Executor scanRequestExecutor;
- private final Supplier<Map<Integer, IndexLocker>> indexesLockers;
+ private final Supplier<Int2ObjectMap<IndexLocker>> indexesLockers;
private final ConcurrentMap<UUID, TxCleanupReadyState>
txCleanupReadyFutures = new ConcurrentHashMap<>();
@@ -371,9 +372,9 @@ public class PartitionReplicaListener implements
ReplicaTableProcessor {
Executor scanRequestExecutor,
ZonePartitionId replicationGroupId,
int tableId,
- Supplier<Map<Integer, IndexLocker>> indexesLockers,
+ Supplier<Int2ObjectMap<IndexLocker>> indexesLockers,
Lazy<TableSchemaAwareIndexStorage> pkIndexStorage,
- Supplier<Map<Integer, TableSchemaAwareIndexStorage>>
secondaryIndexStorages,
+ Supplier<Int2ObjectMap<TableSchemaAwareIndexStorage>>
secondaryIndexStorages,
ClockService clockService,
PendingComparableValuesTracker<HybridTimestamp, Void> safeTime,
TransactionStateResolver transactionStateResolver,
@@ -636,10 +637,11 @@ public class PartitionReplicaListener implements
ReplicaTableProcessor {
? nullCompletedFuture()
: safeTime.waitFor(readTimestamp);
- if (request.indexToUse() != null) {
- TableSchemaAwareIndexStorage indexStorage =
secondaryIndexStorages.get().get(request.indexToUse());
+ Integer indexToUse = request.indexToUse();
+ if (indexToUse != null) {
+ TableSchemaAwareIndexStorage indexStorage =
secondaryIndexStorages.get().get(indexToUse.intValue());
- throwsIfIndexNotFound(request.indexToUse(), indexStorage);
+ throwsIfIndexNotFound(indexToUse, indexStorage);
if (request.exactKey() != null) {
assert request.lowerBoundPrefix() == null &&
request.upperBoundPrefix() == null : "Index lookup doesn't allow bounds.";
@@ -964,10 +966,11 @@ public class PartitionReplicaListener implements
ReplicaTableProcessor {
* @return Listener response.
*/
private CompletableFuture<List<BinaryRow>>
processScanRetrieveBatchAction(ReadWriteScanRetrieveBatchReplicaRequest
request) {
- if (request.indexToUse() != null) {
- TableSchemaAwareIndexStorage indexStorage =
secondaryIndexStorages.get().get(request.indexToUse());
+ Integer indexToUse = request.indexToUse();
+ if (indexToUse != null) {
+ TableSchemaAwareIndexStorage indexStorage =
secondaryIndexStorages.get().get(indexToUse.intValue());
- throwsIfIndexNotFound(request.indexToUse(), indexStorage);
+ throwsIfIndexNotFound(indexToUse, indexStorage);
if (request.exactKey() != null) {
assert request.lowerBoundPrefix() == null &&
request.upperBoundPrefix() == null : "Index lookup doesn't allow bounds.";
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/IndexBaseTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/IndexBaseTest.java
index bcfacaeaece..fb92b18e403 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/IndexBaseTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/IndexBaseTest.java
@@ -20,8 +20,8 @@ package org.apache.ignite.internal.table.distributed;
import static java.util.Collections.singletonMap;
import static java.util.stream.Collectors.toList;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import java.util.List;
-import java.util.Map;
import java.util.UUID;
import org.apache.ignite.distributed.TestPartitionDataStorage;
import org.apache.ignite.internal.binarytuple.BinaryTuple;
@@ -161,10 +161,10 @@ public abstract class IndexBaseTest extends
BaseMvStoragesTest {
storage = new TestMvPartitionStorage(PARTITION_ID);
- Map<Integer, TableSchemaAwareIndexStorage> indexes = Map.of(
- pkIndexId, pkStorage,
- sortedIndexId, sortedIndexStorage,
- hashIndexId, hashIndexStorage
+ Int2ObjectMap<TableSchemaAwareIndexStorage> indexes =
Int2ObjectMap.ofEntries(
+ Int2ObjectMap.entry(pkIndexId, pkStorage),
+ Int2ObjectMap.entry(sortedIndexId, sortedIndexStorage),
+ Int2ObjectMap.entry(hashIndexId, hashIndexStorage)
);
TestPartitionDataStorage partitionDataStorage = new
TestPartitionDataStorage(tableId, PARTITION_ID, storage);
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageCleanupTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageCleanupTest.java
index bb1c6f6b856..02e9a4a7fed 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageCleanupTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageCleanupTest.java
@@ -31,6 +31,7 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -163,10 +164,10 @@ public class StorageCleanupTest extends
BaseMvStoragesTest {
storage = spy(new TestMvPartitionStorage(PARTITION_ID));
- Map<Integer, TableSchemaAwareIndexStorage> indexes = Map.of(
- pkIndexId, pkStorage,
- sortedIndexId, sortedIndexStorage,
- hashIndexId, hashIndexStorage
+ Int2ObjectMap<TableSchemaAwareIndexStorage> indexes =
Int2ObjectMap.ofEntries(
+ Int2ObjectMap.entry(pkIndexId, pkStorage),
+ Int2ObjectMap.entry(sortedIndexId, sortedIndexStorage),
+ Int2ObjectMap.entry(hashIndexId, hashIndexStorage)
);
TestPartitionDataStorage partitionDataStorage = new
TestPartitionDataStorage(tableId, PARTITION_ID, storage);
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandlerTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandlerTest.java
index c4ce7d6d743..1f1ec0ddb89 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandlerTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandlerTest.java
@@ -30,6 +30,7 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -165,10 +166,10 @@ public class StorageUpdateHandlerTest extends
BaseMvStoragesTest {
lock = spy(new LockByRowId());
storage = spy(new TestMvPartitionStorage(PARTITION_ID, lock,
shouldReleaseSupplier));
- Map<Integer, TableSchemaAwareIndexStorage> indexes = Map.of(
- pkIndexId, pkStorage,
- sortedIndexId, sortedIndexStorage,
- hashIndexId, hashIndexStorage
+ Int2ObjectMap<TableSchemaAwareIndexStorage> indexes =
Int2ObjectMap.ofEntries(
+ Int2ObjectMap.entry(pkIndexId, pkStorage),
+ Int2ObjectMap.entry(sortedIndexId, sortedIndexStorage),
+ Int2ObjectMap.entry(hashIndexId, hashIndexStorage)
);
var partitionDataStorage = new TestPartitionDataStorage(tableId,
PARTITION_ID, storage);
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/gc/AbstractGcUpdateHandlerTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/gc/AbstractGcUpdateHandlerTest.java
index 86d94a9e6a9..ba4c15ecff5 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/gc/AbstractGcUpdateHandlerTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/gc/AbstractGcUpdateHandlerTest.java
@@ -32,8 +32,8 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import java.util.List;
-import java.util.Map;
import java.util.UUID;
import java.util.function.BooleanSupplier;
import java.util.stream.IntStream;
@@ -320,7 +320,7 @@ abstract class AbstractGcUpdateHandlerTest extends
BaseMvStoragesTest {
private static IndexUpdateHandler createIndexUpdateHandler() {
// Don’t use mocking to avoid performance degradation for concurrent
tests.
- return new
IndexUpdateHandler(DummyInternalTableImpl.createTableIndexStoragesSupplier(Map.of()))
{
+ return new
IndexUpdateHandler(DummyInternalTableImpl.createTableIndexStoragesSupplier(Int2ObjectMaps.emptyMap()))
{
@Override
public void tryRemoveFromIndexes(
BinaryRow rowToRemove,
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/index/IndexUpdateHandlerTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/index/IndexUpdateHandlerTest.java
index 86e57ef806e..b4ee7446f4a 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/index/IndexUpdateHandlerTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/index/IndexUpdateHandlerTest.java
@@ -30,8 +30,9 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import java.util.List;
-import java.util.Map;
import java.util.stream.Stream;
import org.apache.ignite.internal.binarytuple.BinaryTuple;
import org.apache.ignite.internal.schema.BinaryRow;
@@ -56,7 +57,8 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
void testBuildIndex() {
TableSchemaAwareIndexStorage indexStorage = createIndexStorage();
- IndexUpdateHandler indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ IndexUpdateHandler indexUpdateHandler = new IndexUpdateHandler(
+ indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
BinaryRowAndRowId row0 = new BinaryRowAndRowId(mock(BinaryRow.class),
new RowId(PARTITION_ID));
BinaryRowAndRowId row1 = new BinaryRowAndRowId(mock(BinaryRow.class),
new RowId(PARTITION_ID));
@@ -86,7 +88,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
doThrow(StorageDestroyedException.class).when(indexStorage).put(any(),
any());
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
var row = mock(BinaryRow.class);
var rowId = new RowId(PARTITION_ID);
@@ -102,7 +104,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
doThrow(StorageException.class).when(indexStorage).put(any(), any());
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
assertThrows(
StorageException.class,
@@ -116,7 +118,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
doThrow(StorageDestroyedException.class).when(indexStorage).put(any(),
any());
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
var row = mock(BinaryRow.class);
var rowId = new RowId(PARTITION_ID);
@@ -133,7 +135,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
doThrow(StorageException.class).when(indexStorage).put(any(), any());
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
assertThrows(StorageException.class, () ->
indexUpdateHandler.addToIndex(mock(BinaryRow.class), new RowId(PARTITION_ID),
INDEX_ID));
}
@@ -146,7 +148,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
doThrow(StorageDestroyedException.class).when(indexStorage).put(any(),
any());
doThrow(StorageDestroyedException.class).when(storage).setNextRowIdToBuild(any());
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
var row = mock(BinaryRow.class);
var rowId = new RowId(PARTITION_ID);
@@ -165,7 +167,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
doThrow(StorageException.class).when(indexStorage).put(any(), any());
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
var rowId = new RowId(PARTITION_ID);
var binaryRowAndRowId = new BinaryRowAndRowId(mock(BinaryRow.class),
rowId);
@@ -187,7 +189,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
doThrow(StorageDestroyedException.class).when(storage).getNextRowIdToBuild();
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
assertNull(indexUpdateHandler.getNextRowIdToBuildIndex(INDEX_ID));
assertNull(indexUpdateHandler.getNextRowIdToBuildIndex(INDEX_ID + 1));
@@ -202,7 +204,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
doThrow(StorageException.class).when(storage).getNextRowIdToBuild();
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
assertThrows(StorageException.class, () ->
indexUpdateHandler.getNextRowIdToBuildIndex(INDEX_ID));
}
@@ -216,7 +218,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
var rowId = new RowId(PARTITION_ID);
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
assertDoesNotThrow(() ->
indexUpdateHandler.setNextRowIdToBuildIndex(INDEX_ID, rowId));
assertDoesNotThrow(() ->
indexUpdateHandler.setNextRowIdToBuildIndex(INDEX_ID + 1, rowId));
@@ -233,7 +235,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
var rowId = new RowId(PARTITION_ID);
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
assertThrows(StorageException.class, () ->
indexUpdateHandler.setNextRowIdToBuildIndex(INDEX_ID, rowId));
}
@@ -246,7 +248,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
doThrow(StorageDestroyedException.class).when(indexStorage).remove(any(),
any());
when(columnsExtractor.extractColumns(any())).thenReturn(mock(BinaryTuple.class));
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
var row = mock(BinaryRow.class);
var rowId = new RowId(PARTITION_ID);
@@ -264,7 +266,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
doThrow(StorageException.class).when(indexStorage).remove(any(),
any());
when(columnsExtractor.extractColumns(any())).thenReturn(mock(BinaryTuple.class));
- var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Map.of(INDEX_ID, indexStorage)));
+ var indexUpdateHandler = new
IndexUpdateHandler(indexStoragesSupplier(Int2ObjectMaps.singleton(INDEX_ID,
indexStorage)));
var row = mock(BinaryRow.class);
var rowId = new RowId(PARTITION_ID);
@@ -289,7 +291,7 @@ public class IndexUpdateHandlerTest extends
BaseIgniteAbstractTest {
return indexStorage;
}
- private static TableIndexStoragesSupplier
indexStoragesSupplier(Map<Integer, TableSchemaAwareIndexStorage>
indexStorageById) {
+ private static TableIndexStoragesSupplier
indexStoragesSupplier(Int2ObjectMap<TableSchemaAwareIndexStorage>
indexStorageById) {
return () -> indexStorageById;
}
}
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java
index 613b5361dda..4d6b06cdeba 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java
@@ -46,6 +46,7 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Collections;
@@ -220,7 +221,7 @@ public class PartitionCommandListenerTest extends
BaseIgniteAbstractTest {
int indexId = pkStorage.id();
indexUpdateHandler = spy(new IndexUpdateHandler(
-
DummyInternalTableImpl.createTableIndexStoragesSupplier(Map.of(indexId,
pkStorage))
+
DummyInternalTableImpl.createTableIndexStoragesSupplier(Int2ObjectMaps.singleton(indexId,
pkStorage))
));
storageUpdateHandler = spy(new StorageUpdateHandler(
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerIndexLockingTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerIndexLockingTest.java
index 91859e8034f..8dc3e18b68f 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerIndexLockingTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerIndexLockingTest.java
@@ -46,11 +46,12 @@ import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
-import java.util.Map;
import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
@@ -228,7 +229,7 @@ public class PartitionReplicaListenerIndexLockingTest
extends IgniteAbstractTest
PendingComparableValuesTracker<HybridTimestamp, Void> safeTime = new
PendingComparableValuesTracker<>(CLOCK.now());
IndexUpdateHandler indexUpdateHandler = new IndexUpdateHandler(
-
DummyInternalTableImpl.createTableIndexStoragesSupplier(Map.of(pkStorage.get().id(),
pkStorage.get()))
+
DummyInternalTableImpl.createTableIndexStoragesSupplier(Int2ObjectMaps.singleton(pkStorage.get().id(),
pkStorage.get()))
);
TestPartitionDataStorage partitionDataStorage = new
TestPartitionDataStorage(TABLE_ID, PART_ID, TEST_MV_PARTITION_STORAGE);
@@ -259,15 +260,15 @@ public class PartitionReplicaListenerIndexLockingTest
extends IgniteAbstractTest
Runnable::run,
new ZonePartitionId(ZONE_ID, PART_ID),
TABLE_ID,
- () -> Map.of(
- pkLocker.id(), pkLocker,
- hashIndexLocker.id(), hashIndexLocker,
- sortedIndexLocker.id(), sortedIndexLocker
+ () -> Int2ObjectMap.ofEntries(
+ Int2ObjectMap.entry(pkLocker.id(), pkLocker),
+ Int2ObjectMap.entry(hashIndexLocker.id(),
hashIndexLocker),
+ Int2ObjectMap.entry(sortedIndexLocker.id(),
sortedIndexLocker)
),
pkStorage,
- () -> Map.of(
- sortedIndexLocker.id(), sortedIndexStorage,
- hashIndexLocker.id(), hashIndexStorage
+ () -> Int2ObjectMap.ofEntries(
+ Int2ObjectMap.entry(sortedIndexLocker.id(),
sortedIndexStorage),
+ Int2ObjectMap.entry(hashIndexLocker.id(),
hashIndexStorage)
),
CLOCK_SERVICE,
safeTime,
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerSortedIndexLockingTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerSortedIndexLockingTest.java
index 056847698ed..1da1c1da85e 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerSortedIndexLockingTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerSortedIndexLockingTest.java
@@ -47,11 +47,11 @@ import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
-import java.util.Map;
import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
@@ -201,7 +201,7 @@ public class PartitionReplicaListenerSortedIndexLockingTest
extends IgniteAbstra
PendingComparableValuesTracker<HybridTimestamp, Void> safeTime = new
PendingComparableValuesTracker<>(CLOCK.now());
IndexUpdateHandler indexUpdateHandler = new IndexUpdateHandler(
-
DummyInternalTableImpl.createTableIndexStoragesSupplier(Map.of(pkStorage.get().id(),
pkStorage.get()))
+
DummyInternalTableImpl.createTableIndexStoragesSupplier(Int2ObjectMaps.singleton(pkStorage.get().id(),
pkStorage.get()))
);
TestPartitionDataStorage partitionDataStorage = new
TestPartitionDataStorage(TABLE_ID, PART_ID, TEST_MV_PARTITION_STORAGE);
@@ -234,11 +234,9 @@ public class
PartitionReplicaListenerSortedIndexLockingTest extends IgniteAbstra
Runnable::run,
new ZonePartitionId(ZONE_ID, PART_ID),
TABLE_ID,
- () -> Map.of(
- pkLocker.id(), pkLocker
- ),
+ () -> Int2ObjectMaps.singleton(pkLocker.id(), pkLocker),
pkStorage,
- () -> Map.of(),
+ Int2ObjectMaps::emptyMap,
CLOCK_SERVICE,
safeTime,
mock(TransactionStateResolver.class),
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java
index 1ec87c9b292..3f40636db2e 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java
@@ -92,6 +92,8 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import it.unimi.dsi.fastutil.ints.IntList;
import java.nio.ByteBuffer;
import java.util.Arrays;
@@ -591,7 +593,7 @@ public class PartitionReplicaListenerTest extends
IgniteAbstractTest {
IndexLocker hashIndexLocker = new HashIndexLocker(hashIndexId, false,
lockManager, row2Tuple);
IndexUpdateHandler indexUpdateHandler = new IndexUpdateHandler(
-
DummyInternalTableImpl.createTableIndexStoragesSupplier(Map.of(pkStorage().id(),
pkStorage()))
+
DummyInternalTableImpl.createTableIndexStoragesSupplier(Int2ObjectMaps.singleton(pkStorage().id(),
pkStorage()))
);
CatalogIndexDescriptor indexDescriptor =
mock(CatalogIndexDescriptor.class);
@@ -665,9 +667,14 @@ public class PartitionReplicaListenerTest extends
IgniteAbstractTest {
Runnable::run,
new ZonePartitionId(tableDescriptor.zoneId(), PART_ID),
TABLE_ID,
- () -> Map.of(pkLocker.id(), pkLocker, sortedIndexId,
sortedIndexLocker, hashIndexId, hashIndexLocker),
+ () -> Int2ObjectMap.ofEntries(
+ Int2ObjectMap.entry(pkLocker.id(), pkLocker),
+ Int2ObjectMap.entry(sortedIndexId, sortedIndexLocker),
+ Int2ObjectMap.entry(hashIndexId, hashIndexLocker)),
pkStorageSupplier,
- () -> Map.of(sortedIndexId, sortedIndexStorage, hashIndexId,
hashIndexStorage),
+ () -> Int2ObjectMap.ofEntries(
+ Int2ObjectMap.entry(sortedIndexId, sortedIndexStorage),
+ Int2ObjectMap.entry(hashIndexId, hashIndexStorage)),
clockService,
safeTimeClock,
transactionStateResolver,
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/ZonePartitionReplicaListenerTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/ZonePartitionReplicaListenerTest.java
index 1ffffb15ac5..b0ddc123a86 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/ZonePartitionReplicaListenerTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/ZonePartitionReplicaListenerTest.java
@@ -71,6 +71,8 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import it.unimi.dsi.fastutil.ints.IntList;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -559,7 +561,7 @@ public class ZonePartitionReplicaListenerTest extends
IgniteAbstractTest {
IndexLocker hashIndexLocker = new HashIndexLocker(hashIndexId, false,
lockManager, row2Tuple);
IndexUpdateHandler indexUpdateHandler = new IndexUpdateHandler(
-
DummyInternalTableImpl.createTableIndexStoragesSupplier(Map.of(pkStorage().id(),
pkStorage()))
+
DummyInternalTableImpl.createTableIndexStoragesSupplier(Int2ObjectMaps.singleton(pkStorage().id(),
pkStorage()))
);
pkIndexDescriptor = mock(CatalogIndexDescriptor.class);
@@ -668,9 +670,14 @@ public class ZonePartitionReplicaListenerTest extends
IgniteAbstractTest {
Runnable::run,
new ZonePartitionId(tableDescriptor.zoneId(), PART_ID),
TABLE_ID,
- () -> Map.of(pkLocker.id(), pkLocker, sortedIndexId,
sortedIndexLocker, hashIndexId, hashIndexLocker),
+ () -> Int2ObjectMap.ofEntries(
+ Int2ObjectMap.entry(pkLocker.id(), pkLocker),
+ Int2ObjectMap.entry(sortedIndexId, sortedIndexLocker),
+ Int2ObjectMap.entry(hashIndexId, hashIndexLocker)),
pkStorageSupplier,
- () -> Map.of(sortedIndexId, sortedIndexStorage, hashIndexId,
hashIndexStorage),
+ () -> Int2ObjectMap.ofEntries(
+ Int2ObjectMap.entry(sortedIndexId, sortedIndexStorage),
+ Int2ObjectMap.entry(hashIndexId, hashIndexStorage)),
clockService,
safeTimeTracker,
transactionStateResolver,
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/storage/InternalTableEstimatedSizeTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/storage/InternalTableEstimatedSizeTest.java
index 12797dd12f6..c900bfdb91e 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/storage/InternalTableEstimatedSizeTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/storage/InternalTableEstimatedSizeTest.java
@@ -42,6 +42,7 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -330,9 +331,9 @@ public class InternalTableEstimatedSizeTest extends
BaseIgniteAbstractTest {
ForkJoinPool.commonPool(),
new ZonePartitionId(ZONE_ID, partId),
TABLE_ID,
- Map::of,
+ Int2ObjectMaps::emptyMap,
new Lazy<>(() -> null),
- Map::of,
+ Int2ObjectMaps::emptyMap,
clockService,
new
PendingComparableValuesTracker<>(HybridTimestamp.MIN_VALUE),
transactionStateResolver,
diff --git
a/modules/table/src/testFixtures/java/org/apache/ignite/distributed/ItTxTestCluster.java
b/modules/table/src/testFixtures/java/org/apache/ignite/distributed/ItTxTestCluster.java
index 000c34dc4ec..9e440becf70 100644
---
a/modules/table/src/testFixtures/java/org/apache/ignite/distributed/ItTxTestCluster.java
+++
b/modules/table/src/testFixtures/java/org/apache/ignite/distributed/ItTxTestCluster.java
@@ -43,6 +43,8 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collection;
@@ -776,7 +778,8 @@ public class ItTxTestCluster {
PartitionDataStorage partitionDataStorage = new
TestPartitionDataStorage(tableId, partId, mvPartStorage);
IndexUpdateHandler indexUpdateHandler = new IndexUpdateHandler(
-
DummyInternalTableImpl.createTableIndexStoragesSupplier(Map.of(pkStorage.get().id(),
pkStorage.get()))
+
DummyInternalTableImpl.createTableIndexStoragesSupplier(
+ Int2ObjectMaps.singleton(pkStorage.get().id(),
pkStorage.get()))
);
StorageUpdateHandler storageUpdateHandler = new
StorageUpdateHandler(
@@ -814,9 +817,9 @@ public class ItTxTestCluster {
txManagers.get(assignment),
new ZonePartitionId(predefinedZoneId, partId),
tableId,
- () -> Map.of(pkLocker.id(), pkLocker),
+ () -> Int2ObjectMaps.singleton(pkLocker.id(),
pkLocker),
pkStorage,
- Map::of,
+ Int2ObjectMaps::emptyMap,
clockServices.get(assignment),
safeTime,
txStateStorage,
@@ -951,9 +954,9 @@ public class ItTxTestCluster {
TxManager txManager,
ZonePartitionId zonePartitionId,
int tableId,
- Supplier<Map<Integer, IndexLocker>> indexesLockers,
+ Supplier<Int2ObjectMap<IndexLocker>> indexesLockers,
Lazy<TableSchemaAwareIndexStorage> pkIndexStorage,
- Supplier<Map<Integer, TableSchemaAwareIndexStorage>>
secondaryIndexStorages,
+ Supplier<Int2ObjectMap<TableSchemaAwareIndexStorage>>
secondaryIndexStorages,
ClockService clockService,
PendingComparableValuesTracker<HybridTimestamp, Void> safeTime,
TxStatePartitionStorage txStatePartitionStorage,
@@ -1067,9 +1070,9 @@ public class ItTxTestCluster {
Executor scanRequestExecutor,
ZonePartitionId replicationGroupId,
int tableId,
- Supplier<Map<Integer, IndexLocker>> indexesLockers,
+ Supplier<Int2ObjectMap<IndexLocker>> indexesLockers,
Lazy<TableSchemaAwareIndexStorage> pkIndexStorage,
- Supplier<Map<Integer, TableSchemaAwareIndexStorage>>
secondaryIndexStorages,
+ Supplier<Int2ObjectMap<TableSchemaAwareIndexStorage>>
secondaryIndexStorages,
ClockService clockService,
PendingComparableValuesTracker<HybridTimestamp, Void> safeTime,
TransactionStateResolver transactionStateResolver,
diff --git
a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
index d44eb9f8286..428cc88459a 100644
---
a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
+++
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
@@ -33,10 +33,11 @@ import static org.mockito.Mockito.lenient;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
-import java.util.Map;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
@@ -443,7 +444,8 @@ public class DummyInternalTableImpl extends
InternalTableImpl {
safeTime = new SafeTimeValuesTracker(HybridTimestamp.MIN_VALUE);
PartitionDataStorage partitionDataStorage = new
TestPartitionDataStorage(tableId, PART_ID, mvPartStorage);
- TableIndexStoragesSupplier indexes =
createTableIndexStoragesSupplier(Map.of(pkStorage.get().id(), pkStorage.get()));
+ TableIndexStoragesSupplier indexes = createTableIndexStoragesSupplier(
+ Int2ObjectMaps.singleton(pkStorage.get().id(),
pkStorage.get()));
IndexUpdateHandler indexUpdateHandler = new
IndexUpdateHandler(indexes);
@@ -484,9 +486,9 @@ public class DummyInternalTableImpl extends
InternalTableImpl {
Runnable::run,
zonePartitionId,
tableId,
- () -> Map.of(pkLocker.id(), pkLocker),
+ () -> Int2ObjectMaps.singleton(pkLocker.id(), pkLocker),
pkStorage,
- Map::of,
+ Int2ObjectMaps::emptyMap,
CLOCK_SERVICE,
safeTime,
transactionStateResolver,
@@ -740,7 +742,7 @@ public class DummyInternalTableImpl extends
InternalTableImpl {
*
* @param indexes Index storage by ID.
*/
- public static TableIndexStoragesSupplier
createTableIndexStoragesSupplier(Map<Integer, TableSchemaAwareIndexStorage>
indexes) {
+ public static TableIndexStoragesSupplier
createTableIndexStoragesSupplier(Int2ObjectMap<TableSchemaAwareIndexStorage>
indexes) {
return () -> indexes;
}