This is an automated email from the ASF dual-hosted git repository.
ibessonov 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 20e3f35f1 IGNITE-16796 Rename fixed in NamedLists, names values
replaced with proper @InjectedName usages, and other minor issues
20e3f35f1 is described below
commit 20e3f35f1e82e039c7f7213423d5f219cd63e150
Author: ibessonov <[email protected]>
AuthorDate: Wed Apr 6 10:22:35 2022 +0300
IGNITE-16796 Rename fixed in NamedLists, names values replaced with proper
@InjectedName usages, and other minor issues
---
.../schemas/table/ColumnConfigurationSchema.java | 3 +-
.../table/IndexColumnConfigurationSchema.java | 5 +-
.../schemas/table/TableConfigurationSchema.java | 5 +-
.../table/TableIndexConfigurationSchema.java | 5 +-
.../org/apache/ignite/client/ReconnectTest.java | 6 +-
.../org/apache/ignite/client/RetryPolicyTest.java | 2 +-
.../ConfigurationNotificationEvent.java | 4 +-
.../ConfigurationNotificationEventImpl.java | 4 +-
.../internal/configuration/tree/NamedListNode.java | 4 ++
.../util/ConfigurationSerializationUtil.java | 2 +-
.../notifications/ConfigurationListenerTest.java | 6 +-
.../testframework/ConfigurationExtension.java | 4 ++
.../testframework/InjectConfiguration.java | 5 ++
.../io/IgniteUnsafeDataOutputArraySizingTest.java | 2 -
.../runner/app/AbstractSchemaChangeTest.java | 4 --
.../runner/app/ItDynamicTableCreationTest.java | 37 ++++++-----
.../SchemaConfigurationConverter.java | 7 ---
.../schema/configuration/TableValidatorImpl.java | 41 -------------
.../configuration/TableValidatorImplTest.java | 71 ++--------------------
.../storage/AbstractSortedIndexMvStorageTest.java | 20 +++---
.../pagememory/PageMemoryPartitionStorageTest.java | 3 +-
.../rocksdb/RocksDbPartitionStorageTest.java | 3 +-
.../storage/rocksdb/RocksDbTableStorageTest.java | 7 +--
.../index/RocksDbSortedIndexStorageTest.java | 2 +-
.../internal/table/distributed/TableManager.java | 4 +-
25 files changed, 74 insertions(+), 182 deletions(-)
diff --git
a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnConfigurationSchema.java
b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnConfigurationSchema.java
index 7292087a7..7846c4b77 100644
---
a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnConfigurationSchema.java
+++
b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnConfigurationSchema.java
@@ -19,6 +19,7 @@ package org.apache.ignite.configuration.schemas.table;
import org.apache.ignite.configuration.annotation.Config;
import org.apache.ignite.configuration.annotation.ConfigValue;
+import org.apache.ignite.configuration.annotation.InjectedName;
import org.apache.ignite.configuration.annotation.Value;
import org.apache.ignite.configuration.validation.Immutable;
@@ -28,7 +29,7 @@ import org.apache.ignite.configuration.validation.Immutable;
@Config
public class ColumnConfigurationSchema {
/** Column name. */
- @Value
+ @InjectedName
public String name;
/** Column type. */
diff --git
a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/IndexColumnConfigurationSchema.java
b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/IndexColumnConfigurationSchema.java
index fcbe235d5..846c59c3a 100644
---
a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/IndexColumnConfigurationSchema.java
+++
b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/IndexColumnConfigurationSchema.java
@@ -18,8 +18,8 @@
package org.apache.ignite.configuration.schemas.table;
import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.InjectedName;
import org.apache.ignite.configuration.annotation.Value;
-import org.apache.ignite.configuration.validation.Immutable;
/**
* Configuration for single column in index.
@@ -27,8 +27,7 @@ import org.apache.ignite.configuration.validation.Immutable;
@Config
public class IndexColumnConfigurationSchema {
/** Column name. */
- @Value
- @Immutable
+ @InjectedName
public String name;
/** Ascending flag. */
diff --git
a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableConfigurationSchema.java
b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableConfigurationSchema.java
index e86e47e37..67c013bf6 100644
---
a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableConfigurationSchema.java
+++
b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableConfigurationSchema.java
@@ -19,10 +19,10 @@ package org.apache.ignite.configuration.schemas.table;
import org.apache.ignite.configuration.annotation.Config;
import org.apache.ignite.configuration.annotation.ConfigValue;
+import org.apache.ignite.configuration.annotation.InjectedName;
import org.apache.ignite.configuration.annotation.NamedConfigValue;
import org.apache.ignite.configuration.annotation.Value;
import
org.apache.ignite.configuration.schemas.store.DataStorageConfigurationSchema;
-import org.apache.ignite.configuration.validation.Immutable;
import org.apache.ignite.configuration.validation.Max;
import org.apache.ignite.configuration.validation.Min;
@@ -32,8 +32,7 @@ import org.apache.ignite.configuration.validation.Min;
@Config
public class TableConfigurationSchema {
/** Table name. */
- @Value
- @Immutable
+ @InjectedName
public String name;
/** Table partitions. */
diff --git
a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableIndexConfigurationSchema.java
b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableIndexConfigurationSchema.java
index 819795c8a..23c2be22a 100644
---
a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableIndexConfigurationSchema.java
+++
b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableIndexConfigurationSchema.java
@@ -17,10 +17,10 @@
package org.apache.ignite.configuration.schemas.table;
+import org.apache.ignite.configuration.annotation.InjectedName;
import org.apache.ignite.configuration.annotation.PolymorphicConfig;
import org.apache.ignite.configuration.annotation.PolymorphicId;
import org.apache.ignite.configuration.annotation.Value;
-import org.apache.ignite.configuration.validation.Immutable;
/**
* SQL index configuration.
@@ -41,8 +41,7 @@ public class TableIndexConfigurationSchema {
public String type;
/** Index name. */
- @Value
- @Immutable
+ @InjectedName
public String name;
/** Has default value flag. */
diff --git
a/modules/client/src/test/java/org/apache/ignite/client/ReconnectTest.java
b/modules/client/src/test/java/org/apache/ignite/client/ReconnectTest.java
index 968506ca2..a111a224a 100644
--- a/modules/client/src/test/java/org/apache/ignite/client/ReconnectTest.java
+++ b/modules/client/src/test/java/org/apache/ignite/client/ReconnectTest.java
@@ -43,7 +43,7 @@ public class ReconnectTest {
@Test
public void clientReconnectsToAnotherAddressOnNodeFail() throws Exception {
FakeIgnite ignite1 = new FakeIgnite();
- ignite1.tables().createTable("t", c -> c.changeName("t"));
+ ignite1.tables().createTable("t", c -> {});
server = AbstractClientTest.startServer(
10900,
@@ -61,7 +61,7 @@ public class ReconnectTest {
server.close();
FakeIgnite ignite2 = new FakeIgnite();
- ignite2.tables().createTable("t2", c -> c.changeName("t2"));
+ ignite2.tables().createTable("t2", c -> {});
server2 = AbstractClientTest.startServer(
10950,
@@ -76,7 +76,7 @@ public class ReconnectTest {
@SuppressWarnings("ThrowableNotThrown")
public void testOperationFailsWhenAllServersFail() throws Exception {
FakeIgnite ignite1 = new FakeIgnite();
- ignite1.tables().createTable("t", c -> c.changeName("t"));
+ ignite1.tables().createTable("t", c -> {});
server = AbstractClientTest.startServer(
10900,
diff --git
a/modules/client/src/test/java/org/apache/ignite/client/RetryPolicyTest.java
b/modules/client/src/test/java/org/apache/ignite/client/RetryPolicyTest.java
index 9842983a0..1e9cc27bb 100644
--- a/modules/client/src/test/java/org/apache/ignite/client/RetryPolicyTest.java
+++ b/modules/client/src/test/java/org/apache/ignite/client/RetryPolicyTest.java
@@ -229,7 +229,7 @@ public class RetryPolicyTest {
private void initServer(Function<Integer, Boolean> integerBooleanFunction)
{
FakeIgnite ign = new FakeIgnite();
- ign.tables().createTable("t", c -> c.changeName("t"));
+ ign.tables().createTable("t", c -> {});
server = new TestServer(10900, 10, 0, ign, integerBooleanFunction);
}
diff --git
a/modules/configuration-api/src/main/java/org/apache/ignite/configuration/notifications/ConfigurationNotificationEvent.java
b/modules/configuration-api/src/main/java/org/apache/ignite/configuration/notifications/ConfigurationNotificationEvent.java
index 2218e3001..4f3d7e01f 100644
---
a/modules/configuration-api/src/main/java/org/apache/ignite/configuration/notifications/ConfigurationNotificationEvent.java
+++
b/modules/configuration-api/src/main/java/org/apache/ignite/configuration/notifications/ConfigurationNotificationEvent.java
@@ -56,7 +56,7 @@ public interface ConfigurationNotificationEvent<VIEWT> {
* @param configClass Configuration interface, for example {@code
RootConfiguration}.
* @param <T> Configuration type.
*/
- @Nullable <T extends ConfigurationProperty> T config(Class<?> configClass);
+ @Nullable <T extends ConfigurationProperty> T config(Class<T> configClass);
/**
* Returns the key of a named list item for the parent (any from the root)
or current configuration.
@@ -66,5 +66,5 @@ public interface ConfigurationNotificationEvent<VIEWT> {
*
* @param configClass Configuration interface, for example {@code
TableConfiguration}.
*/
- @Nullable String name(Class<?> configClass);
+ @Nullable String name(Class<? extends ConfigurationProperty> configClass);
}
diff --git
a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/notifications/ConfigurationNotificationEventImpl.java
b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/notifications/ConfigurationNotificationEventImpl.java
index d588f9a28..8f2343eee 100644
---
a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/notifications/ConfigurationNotificationEventImpl.java
+++
b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/notifications/ConfigurationNotificationEventImpl.java
@@ -81,7 +81,7 @@ class ConfigurationNotificationEventImpl<VIEWT> implements
ConfigurationNotifica
/** {@inheritDoc} */
@Override
- public <T extends ConfigurationProperty> @Nullable T config(Class<?>
configClass) {
+ public <T extends ConfigurationProperty> @Nullable T config(Class<T>
configClass) {
ConfigurationContainer container = findContainer(configClass);
return container == null ? null : (T) container.specificConfig();
@@ -89,7 +89,7 @@ class ConfigurationNotificationEventImpl<VIEWT> implements
ConfigurationNotifica
/** {@inheritDoc} */
@Override
- public @Nullable String name(Class<?> configClass) {
+ public @Nullable String name(Class<? extends ConfigurationProperty>
configClass) {
ConfigurationContainer container = findContainer(configClass);
return container == null ? null : container.name;
diff --git
a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/tree/NamedListNode.java
b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/tree/NamedListNode.java
index b9efdd240..f07208622 100644
---
a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/tree/NamedListNode.java
+++
b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/tree/NamedListNode.java
@@ -279,10 +279,14 @@ public final class NamedListNode<N> implements
NamedListChange<N, N>, Traversabl
throw elementRemovedException(oldKey);
}
+ element = element.copy();
+
checkNewKey(newKey);
map.rename(oldKey, newKey);
+ map.put(newKey, element);
+
reverseIdMap.put(element.internalId, newKey);
element.value.setInjectedNameFieldValue(newKey);
diff --git
a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/util/ConfigurationSerializationUtil.java
b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/util/ConfigurationSerializationUtil.java
index dcc2d617e..180455eaa 100644
---
a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/util/ConfigurationSerializationUtil.java
+++
b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/util/ConfigurationSerializationUtil.java
@@ -200,7 +200,7 @@ public class ConfigurationSerializationUtil {
buf.put(header);
for (int i = 0; i < strings.length; i++) {
- buf.putInt(strings[i].length());
+ buf.putInt(strBytes[i].length);
buf.put(strBytes[i]);
}
diff --git
a/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/notifications/ConfigurationListenerTest.java
b/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/notifications/ConfigurationListenerTest.java
index 903080d5c..31bc5d37c 100644
---
a/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/notifications/ConfigurationListenerTest.java
+++
b/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/notifications/ConfigurationListenerTest.java
@@ -39,8 +39,8 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
@@ -442,7 +442,7 @@ public class ConfigurationListenerTest {
ChildView newValue = ctx.newValue().get("newName");
- assertSame(oldValue, newValue);
+ assertNotSame(oldValue, newValue);
log.add("elements");
@@ -483,7 +483,7 @@ public class ConfigurationListenerTest {
ChildView newValue = ctx.newValue();
- assertSame(oldValue, newValue);
+ assertNotSame(oldValue, newValue);
log.add("rename");
diff --git
a/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/testframework/ConfigurationExtension.java
b/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/testframework/ConfigurationExtension.java
index 87adf3eba..312b6bbc8 100644
---
a/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/testframework/ConfigurationExtension.java
+++
b/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/testframework/ConfigurationExtension.java
@@ -226,6 +226,10 @@ public class ConfigurationExtension implements
BeforeEachCallback, AfterEachCall
ConfigurationUtil.addDefaults(superRoot);
+ if (!annotation.name().isEmpty()) {
+
superRoot.getRoot(rootKey).setInjectedNameFieldValue(annotation.name());
+ }
+
// Reference to the super root is required to make
DynamicConfigurationChanger#change method atomic.
var superRootRef = new AtomicReference<>(superRoot);
diff --git
a/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/testframework/InjectConfiguration.java
b/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/testframework/InjectConfiguration.java
index e6902ca80..b6f604430 100644
---
a/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/testframework/InjectConfiguration.java
+++
b/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/testframework/InjectConfiguration.java
@@ -60,6 +60,11 @@ public @interface InjectConfiguration {
@Language("HOCON")
String value() default "mock : {}";
+ /**
+ * Name value to imitate named list elements. Default empty string value
is treated like the absence of the name.
+ */
+ String name() default "";
+
/**
* Array of configuration schema extensions. Every class in the array must
be annotated with {@link InternalConfiguration} and extend
* some public configuration.
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/util/io/IgniteUnsafeDataOutputArraySizingTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/util/io/IgniteUnsafeDataOutputArraySizingTest.java
index 58b050973..bdb7fd980 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/util/io/IgniteUnsafeDataOutputArraySizingTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/util/io/IgniteUnsafeDataOutputArraySizingTest.java
@@ -112,8 +112,6 @@ class IgniteUnsafeDataOutputArraySizingTest {
out.write(bytes);
out.cleanup();
- System.out.println("L=" + out.internalArray().length);
-
return out.internalArray().length == len;
} catch (Exception e) {
throw new RuntimeException(e);
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
index e061ad26d..20f9b36f9 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
@@ -241,10 +241,6 @@ abstract class AbstractSchemaChangeTest {
tblChanger -> tblChanger.changeColumns(
colListChanger -> colListChanger
.rename(IgniteObjectName.parse(oldName),
IgniteObjectName.parse(newName))
- .update(
- IgniteObjectName.parse(newName),
- colChanger ->
colChanger.changeName(IgniteObjectName.parse(newName))
- )
)
);
}
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDynamicTableCreationTest.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDynamicTableCreationTest.java
index fec8f274a..13d176432 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDynamicTableCreationTest.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDynamicTableCreationTest.java
@@ -305,12 +305,12 @@ class ItDynamicTableCreationTest {
try {
grid.get(0).tables().createTable(
"PUBLIC.tbl1",
- tblChanger -> tblChanger.changeName("PUBLIC.tbl1")
+ tblChanger -> tblChanger
.changeColumns(cols -> {
- cols.create("0",
- col ->
col.changeName("key").changeType(t ->
t.changeType("INT64")).changeNullable(false));
- cols.create("1",
- col ->
col.changeName("val").changeNullable(true).changeType(t ->
t.changeType("INT32")));
+ cols.create("key",
+ col -> col.changeType(t ->
t.changeType("INT64")).changeNullable(false));
+ cols.create("val",
+ col ->
col.changeNullable(true).changeType(t -> t.changeType("INT32")));
})
.changeReplicas(1)
.changePartitions(10)
@@ -325,12 +325,12 @@ class ItDynamicTableCreationTest {
try {
grid.get(0).tables().createTable(
"PUBLIC.tbl1",
- tblChanger -> tblChanger.changeName("PUBLIC.tbl1")
+ tblChanger -> tblChanger
.changeColumns(cols -> {
- cols.create("0",
- col ->
col.changeName("key").changeType(t ->
t.changeType("INT64")).changeNullable(false));
- cols.create("1",
- col ->
col.changeName("val").changeNullable(true).changeType(t ->
t.changeType("INT32")));
+ cols.create("key",
+ col -> col.changeType(t ->
t.changeType("INT64")).changeNullable(false));
+ cols.create("val",
+ col ->
col.changeNullable(true).changeType(t -> t.changeType("INT32")));
})
.changePrimaryKey(pk ->
pk.changeColumns("key"))
.changeReplicas(1)
@@ -346,12 +346,12 @@ class ItDynamicTableCreationTest {
try {
grid.get(0).tables().createTable(
"PUBLIC.tbl1",
- tblChanger -> tblChanger.changeName("PUBLIC.tbl1")
+ tblChanger -> tblChanger
.changeColumns(cols -> {
- cols.create("0",
- col ->
col.changeName("key").changeType(t ->
t.changeType("INT64")).changeNullable(false));
- cols.create("1",
- col ->
col.changeName("val").changeNullable(true).changeType(t ->
t.changeType("INT32")));
+ cols.create("key",
+ col -> col.changeType(t ->
t.changeType("INT64")).changeNullable(false));
+ cols.create("val",
+ col ->
col.changeNullable(true).changeType(t -> t.changeType("INT32")));
})
.changePrimaryKey(pk ->
pk.changeColocationColumns("key"))
.changeReplicas(1)
@@ -374,12 +374,11 @@ class ItDynamicTableCreationTest {
try {
grid.get(0).tables().createTable(
"PUBLIC.tbl1",
- tblChanger -> tblChanger.changeName("PUBLIC.tbl1")
+ tblChanger -> tblChanger
.changeColumns(cols -> {
- cols.create("0",
- col ->
col.changeName("key").changeType(t ->
t.changeType("INT64")).changeNullable(false));
+ cols.create("key", col -> col.changeType(t
-> t.changeType("INT64")).changeNullable(false));
- cols.create("1", col ->
colChanger.accept(col.changeName("val").changeNullable(true)));
+ cols.create("val", col ->
colChanger.accept(col.changeNullable(true)));
})
.changePrimaryKey(pk ->
pk.changeColumns("key").changeColocationColumns("key"))
.changeReplicas(1)
diff --git
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverter.java
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverter.java
index 0d5ec8cfa..7dee7e71c 100644
---
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverter.java
+++
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverter.java
@@ -117,8 +117,6 @@ public class SchemaConfigurationConverter {
* @return IndexColumnChange to get result from.
*/
public static IndexColumnChange convert(SortedIndexColumnDefinition col,
IndexColumnChange colInit) {
- colInit.changeName(col.name());
-
colInit.changeAsc(col.sortOrder() == SortOrder.ASC);
return colInit;
@@ -142,8 +140,6 @@ public class SchemaConfigurationConverter {
* @return TableIndexChange to get result from.
*/
public static TableIndexChange convert(IndexDefinition idx,
TableIndexChange idxChg) {
- idxChg.changeName(idx.name());
-
switch (idx.type().toUpperCase()) {
case HASH_INDEX_TYPE:
HashIndexDefinition hashIdx = (HashIndexDefinition) idx;
@@ -351,7 +347,6 @@ public class SchemaConfigurationConverter {
* @return ColumnChange to get result from.
*/
public static ColumnChange convert(ColumnDefinition col, ColumnChange
colChg) {
- colChg.changeName(col.name());
colChg.changeType(colTypeInit -> convert(col.type(), colTypeInit));
if (col.defaultValue() != null) {
@@ -385,8 +380,6 @@ public class SchemaConfigurationConverter {
* @return TableChange to get result from.
*/
public static TableChange convert(TableDefinition tbl, TableChange tblChg)
{
- tblChg.changeName(tbl.canonicalName());
-
tblChg.changeIndices(idxsChg -> {
for (IndexDefinition idx : tbl.indices()) {
idxsChg.create(idx.name(), idxInit -> convert(idx, idxInit));
diff --git
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TableValidatorImpl.java
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TableValidatorImpl.java
index a9cc560a9..0ededfdab 100644
---
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TableValidatorImpl.java
+++
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TableValidatorImpl.java
@@ -18,8 +18,6 @@
package org.apache.ignite.internal.schema.configuration;
import org.apache.ignite.configuration.NamedListView;
-import org.apache.ignite.configuration.schemas.table.ColumnView;
-import org.apache.ignite.configuration.schemas.table.TableIndexView;
import org.apache.ignite.configuration.schemas.table.TableValidator;
import org.apache.ignite.configuration.schemas.table.TableView;
import org.apache.ignite.configuration.validation.ValidationContext;
@@ -54,45 +52,6 @@ public class TableValidatorImpl implements
Validator<TableValidator, NamedListVi
ctx.addIssue(new ValidationIssue("Validator works success by
key " + ctx.currentKey() + ". Found "
+ newTable.columns().size() + " columns"));
}
-
- validateNamedListKeys(newTable, ctx);
- }
- }
-
- /**
- * Checks that columns and indices are stored under their names in the
corresponding Named Lists, i.e. their Named List keys and names
- * are the same.
- *
- * @param table Table configuration view.
- * @param ctx Validation context.
- */
- private static void validateNamedListKeys(TableView table,
ValidationContext<NamedListView<TableView>> ctx) {
- NamedListView<? extends ColumnView> columns = table.columns();
-
- for (String key : columns.namedListKeys()) {
- ColumnView column = columns.get(key);
-
- if (!column.name().equals(key)) {
- var issue = new ValidationIssue(String.format(
- "Column name \"%s\" does not match its Named List key:
\"%s\"", column.name(), key
- ));
-
- ctx.addIssue(issue);
- }
- }
-
- NamedListView<? extends TableIndexView> indices = table.indices();
-
- for (String key : indices.namedListKeys()) {
- TableIndexView index = indices.get(key);
-
- if (!index.name().equals(key)) {
- var issue = new ValidationIssue(String.format(
- "Index name \"%s\" does not match its Named List key:
\"%s\"", index.name(), key
- ));
-
- ctx.addIssue(issue);
- }
}
}
diff --git
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/TableValidatorImplTest.java
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/TableValidatorImplTest.java
index db984099f..f3163ed86 100644
---
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/TableValidatorImplTest.java
+++
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/TableValidatorImplTest.java
@@ -17,24 +17,17 @@
package org.apache.ignite.internal.schema.configuration;
-import static
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willBe;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.empty;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.nullValue;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import java.util.concurrent.CompletableFuture;
import org.apache.ignite.configuration.NamedListView;
-import org.apache.ignite.configuration.schemas.table.HashIndexChange;
import
org.apache.ignite.configuration.schemas.table.HashIndexConfigurationSchema;
import
org.apache.ignite.configuration.schemas.table.PartialIndexConfigurationSchema;
import
org.apache.ignite.configuration.schemas.table.SortedIndexConfigurationSchema;
-import org.apache.ignite.configuration.schemas.table.TableConfiguration;
import org.apache.ignite.configuration.schemas.table.TableView;
import org.apache.ignite.configuration.schemas.table.TablesConfiguration;
import org.apache.ignite.configuration.validation.ValidationContext;
@@ -56,12 +49,12 @@ import org.mockito.ArgumentCaptor;
public class TableValidatorImplTest {
/** Basic table configuration to mutate and then validate. */
@InjectConfiguration(
- value = "mock.tables.table {\n"
+ value = "mock.tables = [{\n"
+ " name = schema.table,\n"
- + " columns.id {name = id, type.type = STRING, nullable
= true},\n"
+ + " columns.id {type.type = STRING, nullable = true},\n"
+ " primaryKey {columns = [id], colocationColumns =
[id]},\n"
- + " indices.foo {type = HASH, name = foo, colNames =
[id]}"
- + "}",
+ + " indices.foo {type = HASH, colNames = [id]}\n"
+ + "}]",
polymorphicExtensions = {
HashIndexConfigurationSchema.class,
SortedIndexConfigurationSchema.class,
@@ -82,62 +75,6 @@ public class TableValidatorImplTest {
assertThat(issuesCaptor.getAllValues(), is(empty()));
}
- /** Tests that column names and column keys inside a Named List must be
equal. */
- @Test
- void testMisalignedColumnNamedListKeys() {
- NamedListView<TableView> oldValue = tablesCfg.tables().value();
-
- TableConfiguration tableCfg = tablesCfg.tables().get("table");
-
- CompletableFuture<Void> tableChangeFuture = tableCfg.columns()
- .change(columnsChange -> columnsChange
- .create("ololo", columnChange -> columnChange
- .changeName("not ololo")
- .changeType(columnTypeChange ->
columnTypeChange.changeType("STRING"))
- .changeNullable(true)));
-
- assertThat(tableChangeFuture, willBe(nullValue(Void.class)));
-
- ValidationContext<NamedListView<TableView>> ctx =
mockContext(oldValue);
-
- ArgumentCaptor<ValidationIssue> issuesCaptor = validate(ctx);
-
- assertThat(issuesCaptor.getAllValues(), hasSize(1));
-
- assertThat(
- issuesCaptor.getValue().message(),
- is(equalTo("Column name \"not ololo\" does not match its Named
List key: \"ololo\""))
- );
- }
-
- /** Tests that index names and index keys inside a Named List must be
equal. */
- @Test
- void testMisalignedIndexNamedListKeys() {
- NamedListView<TableView> oldValue = tablesCfg.tables().value();
-
- TableConfiguration tableCfg = tablesCfg.tables().get("table");
-
- CompletableFuture<Void> tableChangeFuture = tableCfg.indices()
- .change(indicesChange -> indicesChange
- .create("ololo", indexChange -> indexChange
- .changeName("not ololo")
- .convert(HashIndexChange.class)
- .changeColNames("id")));
-
- assertThat(tableChangeFuture, willBe(nullValue(Void.class)));
-
- ValidationContext<NamedListView<TableView>> ctx =
mockContext(oldValue);
-
- ArgumentCaptor<ValidationIssue> issuesCaptor = validate(ctx);
-
- assertThat(issuesCaptor.getAllValues(), hasSize(1));
-
- assertThat(
- issuesCaptor.getValue().message(),
- is(equalTo("Index name \"not ololo\" does not match its Named
List key: \"ololo\""))
- );
- }
-
private ValidationContext<NamedListView<TableView>> mockContext(
@Nullable NamedListView<TableView> oldValue
) {
diff --git
a/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/AbstractSortedIndexMvStorageTest.java
b/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/AbstractSortedIndexMvStorageTest.java
index 390ffbc87..03b1dcb2d 100644
---
a/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/AbstractSortedIndexMvStorageTest.java
+++
b/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/AbstractSortedIndexMvStorageTest.java
@@ -72,19 +72,19 @@ public abstract class AbstractSortedIndexMvStorageTest
extends BaseMvStoragesTes
.changePartitions(1)
.changePrimaryKey(pk -> pk.changeColumns("intKey", "strKey"))
.changeColumns(columns -> columns
- .create("intKey", column("intKey", "INT32"))
- .create("strKey", column("strKey", "STRING"))
- .create("intVal", column("intVal", "INT32"))
- .create("strVal", column("strVal", "STRING"))
+ .create("intKey", column("INT32"))
+ .create("strKey", column("STRING"))
+ .create("intVal", column("INT32"))
+ .create("strVal", column("STRING"))
)
.changeIndices(indexes -> indexes
.create(INDEX1, idx ->
idx.convert(SortedIndexChange.class).changeColumns(idxColumns -> idxColumns
- .create("strVal", c ->
c.changeName("strVal").changeAsc(true))
- .create("intVal", c ->
c.changeName("intVal").changeAsc(true))
+ .create("strVal", c -> c.changeAsc(true))
+ .create("intVal", c -> c.changeAsc(true))
))
.create(INDEX2, idx ->
idx.convert(SortedIndexChange.class).changeColumns(idxColumns -> idxColumns
- .create("strVal", c ->
c.changeName("strVal").changeAsc(true))
- .create("intVal", c ->
c.changeName("intVal").changeAsc(false))
+ .create("strVal", c -> c.changeAsc(true))
+ .create("intVal", c -> c.changeAsc(false))
))
)
).join();
@@ -92,8 +92,8 @@ public abstract class AbstractSortedIndexMvStorageTest
extends BaseMvStoragesTes
this.tableCfg = tableCfg;
}
- private static Consumer<ColumnChange> column(String name, String typeName)
{
- return c -> c.changeName(name).changeNullable(false).changeType(type
-> type.changeType(typeName));
+ private static Consumer<ColumnChange> column(String typeName) {
+ return c -> c.changeNullable(false).changeType(type ->
type.changeType(typeName));
}
/**
diff --git
a/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/PageMemoryPartitionStorageTest.java
b/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/PageMemoryPartitionStorageTest.java
index 3df812df7..89098bede 100644
---
a/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/PageMemoryPartitionStorageTest.java
+++
b/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/PageMemoryPartitionStorageTest.java
@@ -67,6 +67,7 @@ public class PageMemoryPartitionStorageTest extends
AbstractPartitionStorageTest
PageMemoryStorageEngineConfiguration engineConfig;
@InjectConfiguration(
+ name = "table",
polymorphicExtensions = {
HashIndexConfigurationSchema.class,
TestRocksDbDataStorageConfigurationSchema.class,
@@ -92,7 +93,7 @@ public class PageMemoryPartitionStorageTest extends
AbstractPartitionStorageTest
engine.start();
- tableCfg.change(c -> c.changeName("table").changeDataStorage(dsc ->
dsc.convert(PageMemoryDataStorageChange.class)))
+ tableCfg.change(c -> c.changeDataStorage(dsc ->
dsc.convert(PageMemoryDataStorageChange.class)))
.get(1, TimeUnit.SECONDS);
assertEquals(
diff --git
a/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/RocksDbPartitionStorageTest.java
b/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/RocksDbPartitionStorageTest.java
index ac475cf43..517ebddfe 100644
---
a/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/RocksDbPartitionStorageTest.java
+++
b/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/RocksDbPartitionStorageTest.java
@@ -58,6 +58,7 @@ public class RocksDbPartitionStorageTest extends
AbstractPartitionStorageTest {
@WorkDirectory Path workDir,
@InjectConfiguration RocksDbStorageEngineConfiguration
engineConfig,
@InjectConfiguration(
+ name = "table",
polymorphicExtensions =
{HashIndexConfigurationSchema.class,
RocksDbDataStorageConfigurationSchema.class}
) TableConfiguration tableCfg
) throws Exception {
@@ -65,8 +66,6 @@ public class RocksDbPartitionStorageTest extends
AbstractPartitionStorageTest {
assertThat(((RocksDbDataStorageView)
tableCfg.dataStorage().value()).dataRegion(),
equalTo(DEFAULT_DATA_REGION_NAME));
- tableCfg.change(c -> c.changeName("table")).get(1, SECONDS);
-
engineConfig.defaultRegion().change(c -> c.changeSize(16 *
1024).changeWriteBufferSize(16 * 1024)).get(1, SECONDS);
engine = new RocksDbStorageEngine(engineConfig, workDir);
diff --git
a/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/RocksDbTableStorageTest.java
b/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/RocksDbTableStorageTest.java
index e493006de..356f43669 100644
---
a/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/RocksDbTableStorageTest.java
+++
b/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/RocksDbTableStorageTest.java
@@ -34,7 +34,6 @@ import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.TimeUnit;
import
org.apache.ignite.configuration.schemas.table.HashIndexConfigurationSchema;
import org.apache.ignite.configuration.schemas.table.TableConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
@@ -73,6 +72,7 @@ public class RocksDbTableStorageTest {
public void setUp(
@InjectConfiguration RocksDbStorageEngineConfiguration
rocksDbEngineConfig,
@InjectConfiguration(
+ name = "table",
polymorphicExtensions =
{HashIndexConfigurationSchema.class,
RocksDbDataStorageConfigurationSchema.class}
) TableConfiguration tableCfg
) throws Exception {
@@ -85,7 +85,7 @@ public class RocksDbTableStorageTest {
assertThat(changeFuture, willBe(nullValue(Void.class)));
- changeFuture = tableCfg.change(cfg ->
cfg.changeName("table").changePartitions(512));
+ changeFuture = tableCfg.change(cfg -> cfg.changePartitions(512));
assertThat(changeFuture, willBe(nullValue(Void.class)));
@@ -192,11 +192,10 @@ public class RocksDbTableStorageTest {
@Test
void testRestart(
@InjectConfiguration(
+ name = "table",
polymorphicExtensions =
{HashIndexConfigurationSchema.class,
RocksDbDataStorageConfigurationSchema.class}
) TableConfiguration tableCfg
) throws Exception {
- tableCfg.change(c -> c.changeName("table")).get(1, TimeUnit.SECONDS);
-
var testData = new
SimpleDataRow("foo".getBytes(StandardCharsets.UTF_8),
"bar".getBytes(StandardCharsets.UTF_8));
storage.getOrCreatePartition(0).write(testData);
diff --git
a/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/index/RocksDbSortedIndexStorageTest.java
b/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/index/RocksDbSortedIndexStorageTest.java
index 2233e2602..1085e9334 100644
---
a/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/index/RocksDbSortedIndexStorageTest.java
+++
b/modules/storage-rocksdb/src/test/java/org/apache/ignite/internal/storage/rocksdb/index/RocksDbSortedIndexStorageTest.java
@@ -107,7 +107,7 @@ public class RocksDbSortedIndexStorageTest {
HashIndexConfigurationSchema.class,
SortedIndexConfigurationSchema.class,
RocksDbDataStorageConfigurationSchema.class
- })
+ }, name = "table")
private TableConfiguration tableCfg;
private TableStorage tableStorage;
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 f6f968684..79594bcd4 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
@@ -322,7 +322,7 @@ public class TableManager extends Producer<TableEvent,
TableEventParameters> imp
private CompletableFuture<?>
onSchemaCreate(ConfigurationNotificationEvent<SchemaView> schemasCtx) {
long causalityToken = schemasCtx.storageRevision();
- ExtendedTableConfiguration tblCfg =
schemasCtx.config(TableConfiguration.class);
+ ExtendedTableConfiguration tblCfg =
schemasCtx.config(ExtendedTableConfiguration.class);
UUID tblId = tblCfg.id().value();
@@ -387,7 +387,7 @@ public class TableManager extends Producer<TableEvent,
TableEventParameters> imp
* @param assignmentsCtx Change assignment event.
*/
private void
updateAssignmentInternal(ConfigurationNotificationEvent<byte[]> assignmentsCtx)
{
- ExtendedTableConfiguration tblCfg =
assignmentsCtx.config(TableConfiguration.class);
+ ExtendedTableConfiguration tblCfg =
assignmentsCtx.config(ExtendedTableConfiguration.class);
UUID tblId = tblCfg.id().value();