diff --git a/modules/affinity/src/main/java/org/apache/ignite/internal/affinity/AffinityManager.java b/modules/affinity/src/main/java/org/apache/ignite/internal/affinity/AffinityManager.java
index 8ed1879..c8dbe88 100644
--- a/modules/affinity/src/main/java/org/apache/ignite/internal/affinity/AffinityManager.java
+++ b/modules/affinity/src/main/java/org/apache/ignite/internal/affinity/AffinityManager.java
@@ -31,11 +31,11 @@
 import org.apache.ignite.internal.util.ByteUtils;
 import org.apache.ignite.lang.ByteArray;
 import org.apache.ignite.lang.IgniteLogger;
-import org.apache.ignite.metastorage.client.Conditions;
-import org.apache.ignite.metastorage.client.EntryEvent;
-import org.apache.ignite.metastorage.client.Operations;
-import org.apache.ignite.metastorage.client.WatchEvent;
-import org.apache.ignite.metastorage.client.WatchListener;
+import org.apache.ignite.internal.metastorage.client.Conditions;
+import org.apache.ignite.internal.metastorage.client.EntryEvent;
+import org.apache.ignite.internal.metastorage.client.Operations;
+import org.apache.ignite.internal.metastorage.client.WatchEvent;
+import org.apache.ignite.internal.metastorage.client.WatchListener;
 import org.apache.ignite.network.ClusterNode;
 import org.jetbrains.annotations.NotNull;
 
diff --git a/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/AffinityManagerTest.java b/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/AffinityManagerTest.java
index 9c55e2e..09b2064 100644
--- a/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/AffinityManagerTest.java
+++ b/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/AffinityManagerTest.java
@@ -34,12 +34,12 @@
 import org.apache.ignite.internal.vault.VaultManager;
 import org.apache.ignite.lang.ByteArray;
 import org.apache.ignite.lang.IgniteLogger;
-import org.apache.ignite.metastorage.client.Condition;
-import org.apache.ignite.metastorage.client.Entry;
-import org.apache.ignite.metastorage.client.EntryEvent;
-import org.apache.ignite.metastorage.client.Operation;
-import org.apache.ignite.metastorage.client.WatchEvent;
-import org.apache.ignite.metastorage.client.WatchListener;
+import org.apache.ignite.internal.metastorage.client.Condition;
+import org.apache.ignite.internal.metastorage.client.Entry;
+import org.apache.ignite.internal.metastorage.client.EntryEvent;
+import org.apache.ignite.internal.metastorage.client.Operation;
+import org.apache.ignite.internal.metastorage.client.WatchEvent;
+import org.apache.ignite.internal.metastorage.client.WatchListener;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
diff --git a/modules/metastorage-client/src/integrationTest/java/org/apache/ignite/internal/metastorage/client/ITMetaStorageServiceTest.java b/modules/metastorage-client/src/integrationTest/java/org/apache/ignite/internal/metastorage/client/ITMetaStorageServiceTest.java
index 36c04c0..3689696 100644
--- a/modules/metastorage-client/src/integrationTest/java/org/apache/ignite/internal/metastorage/client/ITMetaStorageServiceTest.java
+++ b/modules/metastorage-client/src/integrationTest/java/org/apache/ignite/internal/metastorage/client/ITMetaStorageServiceTest.java
@@ -36,17 +36,6 @@
 import org.apache.ignite.lang.ByteArray;
 import org.apache.ignite.lang.IgniteLogger;
 import org.apache.ignite.lang.IgniteUuid;
-import org.apache.ignite.metastorage.client.CompactedException;
-import org.apache.ignite.metastorage.client.Condition;
-import org.apache.ignite.metastorage.client.Conditions;
-import org.apache.ignite.metastorage.client.Entry;
-import org.apache.ignite.metastorage.client.EntryEvent;
-import org.apache.ignite.metastorage.client.MetaStorageService;
-import org.apache.ignite.metastorage.client.Operation;
-import org.apache.ignite.metastorage.client.OperationTimeoutException;
-import org.apache.ignite.metastorage.client.Operations;
-import org.apache.ignite.metastorage.client.WatchEvent;
-import org.apache.ignite.metastorage.client.WatchListener;
 import org.apache.ignite.network.ClusterLocalConfiguration;
 import org.apache.ignite.network.ClusterService;
 import org.apache.ignite.network.ClusterServiceFactory;
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/CompactedException.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/CompactedException.java
similarity index 96%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/CompactedException.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/CompactedException.java
index c256442..6db20c3 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/CompactedException.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/CompactedException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 /**
  * Thrown when a requested operation on meta storage could not be performed because target revisions were removed
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Condition.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Condition.java
similarity index 99%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Condition.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Condition.java
index f78b113..45c41c3 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Condition.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Condition.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 import java.util.Collection;
 import org.apache.ignite.internal.metastorage.common.ConditionType;
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Conditions.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Conditions.java
similarity index 97%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Conditions.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Conditions.java
index 3d4f370..60b5576 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Conditions.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Conditions.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 import org.apache.ignite.lang.ByteArray;
 import org.jetbrains.annotations.NotNull;
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Entry.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Entry.java
similarity index 97%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Entry.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Entry.java
index 8895aac..6b119cf 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Entry.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Entry.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 import org.apache.ignite.lang.ByteArray;
 import org.jetbrains.annotations.NotNull;
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/EntryEvent.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/EntryEvent.java
similarity index 97%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/EntryEvent.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/EntryEvent.java
index 9e9a70d..7986dff 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/EntryEvent.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/EntryEvent.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 import java.io.Serializable;
 import org.jetbrains.annotations.NotNull;
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/EntryImpl.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/EntryImpl.java
index 94164a0..73819fb 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/EntryImpl.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/EntryImpl.java
@@ -19,7 +19,6 @@
 
 import java.util.Arrays;
 import org.apache.ignite.lang.ByteArray;
-import org.apache.ignite.metastorage.client.Entry;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/MetaStorageService.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageService.java
similarity index 98%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/MetaStorageService.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageService.java
index 787a463..932bb6c 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/MetaStorageService.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageService.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 import java.util.Collection;
 import java.util.Map;
@@ -301,7 +301,7 @@
     /**
      * Subscribes on meta storage updates for given keys.
      *
-     * @param keys Set of target keys. Could be {@code null}.
+     * @param keys Set of target keys. Couldn't be {@code null} or empty.
      * @param revision Start revision inclusive. {@code 0} - all revision,
      * {@code -1} - latest revision (accordingly to current meta storage state).
      * @param lsnr Listener which will be notified for each update.
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageServiceImpl.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageServiceImpl.java
index 3d7bde9..c8202f3 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageServiceImpl.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageServiceImpl.java
@@ -50,13 +50,6 @@
 import org.apache.ignite.lang.IgniteInternalException;
 import org.apache.ignite.lang.IgniteLogger;
 import org.apache.ignite.lang.IgniteUuid;
-import org.apache.ignite.metastorage.client.Condition;
-import org.apache.ignite.metastorage.client.Entry;
-import org.apache.ignite.metastorage.client.EntryEvent;
-import org.apache.ignite.metastorage.client.MetaStorageService;
-import org.apache.ignite.metastorage.client.Operation;
-import org.apache.ignite.metastorage.client.WatchEvent;
-import org.apache.ignite.metastorage.client.WatchListener;
 import org.apache.ignite.raft.client.service.RaftGroupService;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Operation.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Operation.java
similarity index 98%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Operation.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Operation.java
index cf7a43e..307aa55 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Operation.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Operation.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 import org.apache.ignite.internal.metastorage.common.OperationType;
 import org.jetbrains.annotations.NotNull;
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/OperationTimeoutException.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/OperationTimeoutException.java
similarity index 96%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/OperationTimeoutException.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/OperationTimeoutException.java
index 3428f39..9080371 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/OperationTimeoutException.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/OperationTimeoutException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 /**
  * Thrown when an operation is not executed within a specified time period. Usually in such cases the operation
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Operations.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Operations.java
similarity index 97%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Operations.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Operations.java
index 87f806f..f0b8e15 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Operations.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/Operations.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 import org.apache.ignite.lang.ByteArray;
 
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/WatchEvent.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/WatchEvent.java
similarity index 97%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/WatchEvent.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/WatchEvent.java
index 147ff63..1b56b93 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/WatchEvent.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/WatchEvent.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 import java.util.Collection;
 import java.util.List;
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/WatchListener.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/WatchListener.java
similarity index 96%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/WatchListener.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/WatchListener.java
index 37c6a6f..245be81 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/WatchListener.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/WatchListener.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.metastorage.client;
+package org.apache.ignite.internal.metastorage.client;
 
 import org.jetbrains.annotations.NotNull;
 
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/package-info.java b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/package-info.java
similarity index 93%
rename from modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/package-info.java
rename to modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/package-info.java
index 26bfb69..5250092 100644
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/package-info.java
+++ b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/package-info.java
@@ -18,4 +18,4 @@
 /**
  * Defines client interface for access to a meta storage server.
  */
-package org.apache.ignite.metastorage.client;
\ No newline at end of file
+package org.apache.ignite.internal.metastorage.client;
\ No newline at end of file
diff --git a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Key.java b/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Key.java
deleted file mode 100644
index 58d416e..0000000
--- a/modules/metastorage-client/src/main/java/org/apache/ignite/metastorage/client/Key.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.metastorage.client;
-
-import java.io.Serializable;
-import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
-import org.jetbrains.annotations.NotNull;
-
-/**
- * A wrapper for meta storage key represented by byte array.
- */
-public final class Key implements Comparable<Key>, Serializable {
-    /** Byte-wise representation of the key. */
-    @NotNull
-    private final byte[] arr;
-
-    /**
-     * Constructs key instance from the given string.
-     *
-     * @param s The string key representation. Can't be {@code null}.
-     */
-    public Key(@NotNull String s) {
-        this(s.getBytes(StandardCharsets.UTF_8));
-    }
-
-    /**
-     * Constructs key instance from the given byte array. <em>Note:</em> copy of the given byte array will not be
-     * created in order to avoid redundant memory consumption.
-     *
-     * @param arr Byte array. Can't be {@code null}.
-     */
-    public Key(@NotNull byte[] arr) {
-        this.arr = arr;
-    }
-
-    /**
-     * Returns the key as byte array.
-     *
-     * @return Bytes of the key.
-     */
-    public byte[] bytes() {
-        return arr;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean equals(Object o) {
-        if (this == o) return true;
-
-        if (o == null || getClass() != o.getClass()) return false;
-
-        Key key = (Key)o;
-
-        return Arrays.equals(arr, key.arr);
-    }
-
-    /** {@inheritDoc} */
-    @Override public int hashCode() {
-        return Arrays.hashCode(arr);
-    }
-
-    /** {@inheritDoc} */
-    @Override public int compareTo(@NotNull Key other) {
-        return Arrays.compare(this.arr, other.arr);
-    }
-}
diff --git a/modules/metastorage-common/src/main/java/org/apache/ignite/metastorage/common/package-info.java b/modules/metastorage-common/src/main/java/org/apache/ignite/internal/metastorage/common/package-info.java
similarity index 93%
rename from modules/metastorage-common/src/main/java/org/apache/ignite/metastorage/common/package-info.java
rename to modules/metastorage-common/src/main/java/org/apache/ignite/internal/metastorage/common/package-info.java
index 084638b..1d97086 100644
--- a/modules/metastorage-common/src/main/java/org/apache/ignite/metastorage/common/package-info.java
+++ b/modules/metastorage-common/src/main/java/org/apache/ignite/internal/metastorage/common/package-info.java
@@ -18,4 +18,4 @@
 /**
  * Contains entities required by both meta storage client and server implementations.
  */
-package org.apache.ignite.metastorage.common;
+package org.apache.ignite.internal.metastorage.common;
diff --git a/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/MetaStorageManager.java b/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/MetaStorageManager.java
index f0c90f9..676ff20 100644
--- a/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/MetaStorageManager.java
+++ b/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/MetaStorageManager.java
@@ -43,13 +43,13 @@
 import org.apache.ignite.lang.IgniteInternalCheckedException;
 import org.apache.ignite.lang.IgniteInternalException;
 import org.apache.ignite.lang.IgniteUuid;
-import org.apache.ignite.metastorage.client.CompactedException;
-import org.apache.ignite.metastorage.client.Condition;
-import org.apache.ignite.metastorage.client.Entry;
-import org.apache.ignite.metastorage.client.MetaStorageService;
-import org.apache.ignite.metastorage.client.Operation;
-import org.apache.ignite.metastorage.client.OperationTimeoutException;
-import org.apache.ignite.metastorage.client.WatchListener;
+import org.apache.ignite.internal.metastorage.client.CompactedException;
+import org.apache.ignite.internal.metastorage.client.Condition;
+import org.apache.ignite.internal.metastorage.client.Entry;
+import org.apache.ignite.internal.metastorage.client.MetaStorageService;
+import org.apache.ignite.internal.metastorage.client.Operation;
+import org.apache.ignite.internal.metastorage.client.OperationTimeoutException;
+import org.apache.ignite.internal.metastorage.client.WatchListener;
 import org.apache.ignite.network.ClusterNode;
 import org.apache.ignite.network.ClusterService;
 import org.jetbrains.annotations.NotNull;
diff --git a/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/watch/AggregatedWatch.java b/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/watch/AggregatedWatch.java
index cfedfbf..307bef3 100644
--- a/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/watch/AggregatedWatch.java
+++ b/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/watch/AggregatedWatch.java
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.internal.metastorage.watch;
 
-import org.apache.ignite.metastorage.client.WatchListener;
+import org.apache.ignite.internal.metastorage.client.WatchListener;
 
 /**
  * Watch implementation with associated revision.
diff --git a/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/watch/WatchAggregator.java b/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/watch/WatchAggregator.java
index 6c59290..e2c5501 100644
--- a/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/watch/WatchAggregator.java
+++ b/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/watch/WatchAggregator.java
@@ -27,9 +27,9 @@
 import java.util.function.BiConsumer;
 import org.apache.ignite.lang.ByteArray;
 import org.apache.ignite.lang.IgniteBiTuple;
-import org.apache.ignite.metastorage.client.EntryEvent;
-import org.apache.ignite.metastorage.client.WatchEvent;
-import org.apache.ignite.metastorage.client.WatchListener;
+import org.apache.ignite.internal.metastorage.client.EntryEvent;
+import org.apache.ignite.internal.metastorage.client.WatchEvent;
+import org.apache.ignite.internal.metastorage.client.WatchListener;
 import org.jetbrains.annotations.NotNull;
 
 /**
diff --git a/modules/metastorage/src/test/java/org/apache/ignite/internal/metastorage/WatchAggregatorTest.java b/modules/metastorage/src/test/java/org/apache/ignite/internal/metastorage/WatchAggregatorTest.java
index 461a1bd..cbfcdc3 100644
--- a/modules/metastorage/src/test/java/org/apache/ignite/internal/metastorage/WatchAggregatorTest.java
+++ b/modules/metastorage/src/test/java/org/apache/ignite/internal/metastorage/WatchAggregatorTest.java
@@ -24,10 +24,10 @@
 import org.apache.ignite.internal.metastorage.watch.KeyCriterion;
 import org.apache.ignite.internal.metastorage.watch.WatchAggregator;
 import org.apache.ignite.lang.ByteArray;
-import org.apache.ignite.metastorage.client.Entry;
-import org.apache.ignite.metastorage.client.EntryEvent;
-import org.apache.ignite.metastorage.client.WatchEvent;
-import org.apache.ignite.metastorage.client.WatchListener;
+import org.apache.ignite.internal.metastorage.client.Entry;
+import org.apache.ignite.internal.metastorage.client.EntryEvent;
+import org.apache.ignite.internal.metastorage.client.WatchEvent;
+import org.apache.ignite.internal.metastorage.client.WatchListener;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.junit.jupiter.api.Test;
diff --git a/modules/runner/src/main/java/org/apache/ignite/internal/storage/DistributedConfigurationStorage.java b/modules/runner/src/main/java/org/apache/ignite/internal/storage/DistributedConfigurationStorage.java
index 5b9274f..d19057d 100644
--- a/modules/runner/src/main/java/org/apache/ignite/internal/storage/DistributedConfigurationStorage.java
+++ b/modules/runner/src/main/java/org/apache/ignite/internal/storage/DistributedConfigurationStorage.java
@@ -35,13 +35,13 @@
 import org.apache.ignite.internal.util.Cursor;
 import org.apache.ignite.lang.ByteArray;
 import org.apache.ignite.lang.IgniteLogger;
-import org.apache.ignite.metastorage.client.Conditions;
-import org.apache.ignite.metastorage.client.Entry;
-import org.apache.ignite.metastorage.client.EntryEvent;
-import org.apache.ignite.metastorage.client.Operation;
-import org.apache.ignite.metastorage.client.Operations;
-import org.apache.ignite.metastorage.client.WatchEvent;
-import org.apache.ignite.metastorage.client.WatchListener;
+import org.apache.ignite.internal.metastorage.client.Conditions;
+import org.apache.ignite.internal.metastorage.client.Entry;
+import org.apache.ignite.internal.metastorage.client.EntryEvent;
+import org.apache.ignite.internal.metastorage.client.Operation;
+import org.apache.ignite.internal.metastorage.client.Operations;
+import org.apache.ignite.internal.metastorage.client.WatchEvent;
+import org.apache.ignite.internal.metastorage.client.WatchListener;
 import org.jetbrains.annotations.NotNull;
 
 /**
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/SchemaManager.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/SchemaManager.java
index f388859..e25521d 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/SchemaManager.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/SchemaManager.java
@@ -40,12 +40,12 @@
 import org.apache.ignite.internal.vault.VaultManager;
 import org.apache.ignite.lang.ByteArray;
 import org.apache.ignite.lang.IgniteLogger;
-import org.apache.ignite.metastorage.client.Conditions;
-import org.apache.ignite.metastorage.client.Entry;
-import org.apache.ignite.metastorage.client.EntryEvent;
-import org.apache.ignite.metastorage.client.Operations;
-import org.apache.ignite.metastorage.client.WatchEvent;
-import org.apache.ignite.metastorage.client.WatchListener;
+import org.apache.ignite.internal.metastorage.client.Conditions;
+import org.apache.ignite.internal.metastorage.client.Entry;
+import org.apache.ignite.internal.metastorage.client.EntryEvent;
+import org.apache.ignite.internal.metastorage.client.Operations;
+import org.apache.ignite.internal.metastorage.client.WatchEvent;
+import org.apache.ignite.internal.metastorage.client.WatchListener;
 import org.apache.ignite.schema.SchemaTable;
 import org.jetbrains.annotations.NotNull;
 
diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java
index 25e9045..a3f965b 100644
--- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java
+++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java
@@ -53,8 +53,8 @@
 import org.apache.ignite.internal.vault.VaultManager;
 import org.apache.ignite.lang.ByteArray;
 import org.apache.ignite.lang.IgniteLogger;
-import org.apache.ignite.metastorage.client.Conditions;
-import org.apache.ignite.metastorage.client.Operations;
+import org.apache.ignite.internal.metastorage.client.Conditions;
+import org.apache.ignite.internal.metastorage.client.Operations;
 import org.apache.ignite.network.ClusterNode;
 import org.apache.ignite.raft.client.service.RaftGroupService;
 import org.apache.ignite.table.Table;
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/TableManagerTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/TableManagerTest.java
index 8c8a800..fc09474 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/TableManagerTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/TableManagerTest.java
@@ -45,8 +45,8 @@
 import org.apache.ignite.internal.table.distributed.TableManager;
 import org.apache.ignite.internal.vault.VaultManager;
 import org.apache.ignite.lang.IgniteLogger;
-import org.apache.ignite.metastorage.client.Condition;
-import org.apache.ignite.metastorage.client.Operation;
+import org.apache.ignite.internal.metastorage.client.Condition;
+import org.apache.ignite.internal.metastorage.client.Operation;
 import org.apache.ignite.network.ClusterNode;
 import org.apache.ignite.schema.ColumnType;
 import org.apache.ignite.schema.SchemaBuilders;
