1717
1818package org .apache .ignite .internal .table .distributed ;
1919
20- import static java .util .Collections .unmodifiableMap ;
2120import static java .util .concurrent .CompletableFuture .allOf ;
2221import static java .util .concurrent .CompletableFuture .anyOf ;
2322import static java .util .concurrent .CompletableFuture .completedFuture ;
@@ -464,11 +463,11 @@ private CompletableFuture<Void> prepareTableResourcesOnRecovery(
464463 schemaRegistry
465464 );
466465
467- tableRegistry .tables (). put (tableId , table );
466+ tableRegistry .register (tableId , table );
468467
469468 zoneCoordinator .addTableToZone (zoneDescriptor .id (), table );
470469
471- tableRegistry .startedTables (). put ( tableId , table );
470+ tableRegistry .markStarted ( tableId );
472471 }));
473472 });
474473 }
@@ -499,7 +498,7 @@ private CompletableFuture<Void> loadTableToZoneOnTableCreate(
499498 return schemaManager .schemaRegistry (causalityToken , tableId ).thenAccept (schemaRegistry -> {
500499 TableImpl table = createTableImpl (causalityToken , tableDescriptor , zoneDescriptor , schemaDescriptor , schemaRegistry );
501500
502- tableRegistry .tables (). put (tableId , table );
501+ tableRegistry .register (tableId , table );
503502 });
504503 }));
505504
@@ -524,7 +523,7 @@ private void unlockZoneForRead(CatalogZoneDescriptor zoneDescriptor, Completable
524523
525524 private void onTableDrop (DropTableEventParameters parameters ) {
526525 inBusyLock (busyLock , () -> {
527- unregisterMetricsSource (tableRegistry .startedTables (). get (parameters .tableId ()));
526+ unregisterMetricsSource (tableRegistry .startedTable (parameters .tableId ()));
528527
529528 destructionEventsQueue .enqueue (new DestroyTableEvent (parameters .catalogVersion (), parameters .tableId ()));
530529 });
@@ -569,7 +568,7 @@ private CompletableFuture<?> onTablePropertiesChanged(AlterTablePropertiesEventP
569568 return failedFuture (e );
570569 }
571570
572- TableViewInternal table = tableRegistry .tables (). get (parameters .tableId ());
571+ TableViewInternal table = tableRegistry .table (parameters .tableId ());
573572
574573 table .updateStalenessConfiguration (parameters .staleRowsFraction (), parameters .minStaleRowsCount ());
575574
@@ -586,7 +585,7 @@ private CompletableFuture<?> onTableRename(RenameTableEventParameters parameters
586585 return failedFuture (e );
587586 }
588587
589- TableViewInternal table = tableRegistry .tables (). get (parameters .tableId ());
588+ TableViewInternal table = tableRegistry .table (parameters .tableId ());
590589
591590 // TODO: revisit this approach, see https://issues.apache.org/jira/browse/IGNITE-21235.
592591 ((TableImpl ) table ).name (parameters .newTableName ());
@@ -633,7 +632,7 @@ public CompletableFuture<Void> stopAsync(ComponentContext componentContext) {
633632 try {
634633 closeAllManually (
635634 zoneCoordinator ::stop ,
636- () -> closeAllManually (tableRegistry .tables ().values ().stream ().map (table -> () -> closeTable (table ))),
635+ () -> closeAllManually (tableRegistry .allRegisteredTables ().values ().stream ().map (table -> () -> closeTable (table ))),
637636 () -> shutdownAndAwaitTermination (scanRequestExecutor , shutdownTimeoutSeconds , TimeUnit .SECONDS ),
638637 () -> streamerFlushExecutorFactory .stop (shutdownTimeoutSeconds )
639638 );
@@ -688,9 +687,7 @@ private TableImpl createTableImpl(
688687 * @param tableId Table id to destroy.
689688 */
690689 private CompletableFuture <Void > destroyTableLocally (int tableId ) {
691- TableViewInternal table = tableRegistry .startedTables ().remove (tableId );
692-
693- tableRegistry .localPartsByTableId ().remove (tableId );
690+ TableViewInternal table = tableRegistry .removeStarted (tableId );
694691
695692 assert table != null : tableId ;
696693
@@ -699,7 +696,7 @@ private CompletableFuture<Void> destroyTableLocally(int tableId) {
699696 return zoneCoordinator .stopAndDestroyTableProcessors (table )
700697 .thenComposeAsync (unused -> inBusyLockAsync (busyLock , () -> internalTable .storage ().destroy ()), ioExecutor )
701698 .thenAccept (unused -> inBusyLock (busyLock , () -> {
702- tableRegistry .tables (). remove (tableId );
699+ tableRegistry .unregister (tableId );
703700 schemaManager .dropRegistry (tableId );
704701 }))
705702 .whenComplete ((v , e ) -> {
@@ -751,22 +748,22 @@ private CompletableFuture<List<Table>> tablesAsyncInternalBusy() {
751748 * @see #assignmentsUpdatedVv
752749 */
753750 private CompletableFuture <Map <Integer , TableViewInternal >> tablesById (long causalityToken ) {
754- return assignmentsUpdatedVv .get (causalityToken ).thenApply (v -> unmodifiableMap ( tableRegistry .startedTables () ));
751+ return assignmentsUpdatedVv .get (causalityToken ).thenApply (v -> tableRegistry .allStartedTables ( ));
755752 }
756753
757754 /**
758755 * Returns an internal map, which contains all managed tables by their ID.
759756 */
760757 private Map <Integer , TableViewInternal > tablesById () {
761- return unmodifiableMap ( tableRegistry .tables () );
758+ return tableRegistry .allRegisteredTables ( );
762759 }
763760
764761 /**
765762 * Returns a map with started tables.
766763 */
767764 @ TestOnly
768765 public Map <Integer , TableViewInternal > startedTables () {
769- return unmodifiableMap ( tableRegistry .startedTables () );
766+ return tableRegistry .allStartedTables ( );
770767 }
771768
772769 @ Override
@@ -828,7 +825,7 @@ public CompletableFuture<PartitionSet> localPartitionSetAsync(long causalityToke
828825
829826 try {
830827 return localPartitionsVv .get (causalityToken )
831- .thenApply (unused -> tableRegistry .localPartsByTableId (). getOrDefault ( tableId , PartitionSet . EMPTY_SET ));
828+ .thenApply (unused -> tableRegistry .localPartitions ( tableId ));
832829 } finally {
833830 busyLock .leaveBusy ();
834831 }
@@ -870,7 +867,7 @@ private CompletableFuture<TableViewInternal> tableAsyncInternal(QualifiedName na
870867 }
871868
872869 private CompletableFuture <TableViewInternal > tableAsyncInternalBusy (int tableId ) {
873- TableViewInternal tableImpl = tableRegistry .startedTables (). get (tableId );
870+ TableViewInternal tableImpl = tableRegistry .startedTable (tableId );
874871
875872 if (tableImpl != null ) {
876873 return completedFuture (tableImpl );
@@ -886,7 +883,7 @@ private CompletableFuture<TableViewInternal> tableAsyncInternalBusy(int tableId)
886883 if (e != null ) {
887884 getLatestTableFuture .completeExceptionally (e );
888885 } else {
889- getLatestTableFuture .complete (tableRegistry .startedTables (). get (tableId ));
886+ getLatestTableFuture .complete (tableRegistry .startedTable (tableId ));
890887 }
891888 });
892889 } else {
@@ -900,7 +897,7 @@ private CompletableFuture<TableViewInternal> tableAsyncInternalBusy(int tableId)
900897
901898 // This check is needed for the case when we have registered tablesListener,
902899 // but tablesVv has already been completed, so listener would be triggered only for the next versioned value update.
903- tableImpl = tableRegistry .startedTables (). get (tableId );
900+ tableImpl = tableRegistry .startedTable (tableId );
904901
905902 if (tableImpl != null ) {
906903 assignmentsUpdatedVv .removeWhenComplete (tablesListener );
@@ -923,7 +920,7 @@ private static <T> T sync(CompletableFuture<T> future) {
923920 */
924921 @ Override
925922 public @ Nullable TableViewInternal cachedTable (int tableId ) {
926- return tableRegistry .tables (). get (tableId );
923+ return tableRegistry .table (tableId );
927924 }
928925
929926 /**
@@ -933,7 +930,7 @@ private static <T> T sync(CompletableFuture<T> future) {
933930 */
934931 @ TestOnly
935932 public @ Nullable TableViewInternal cachedTable (String name ) {
936- return findTableImplByName (tableRegistry .tables ().values (), name );
933+ return findTableImplByName (tableRegistry .allRegisteredTables ().values (), name );
937934 }
938935
939936 private CatalogZoneDescriptor getZoneDescriptor (CatalogTableDescriptor tableDescriptor , int catalogVersion ) {
0 commit comments