[ignite] branch ignite-2.8 updated (b5181d1 -> 39a808c)

2020-01-23 Thread mmuzaf
This is an automated email from the ASF dual-hosted git repository.

mmuzaf pushed a change to branch ignite-2.8
in repository https://gitbox.apache.org/repos/asf/ignite.git.


from b5181d1  IGNITE-12547 Replace array of AtomicLong with AtomicLongArray 
in free list - Fixes #7267.
 add 39a808c  IGNITE-12227: [cherry-pick] Fix discovery pending messages 
logic causing incorrect calculation of baseline auto-adjust flag (#7278)

No new revisions were added by this update.

Summary of changes:
 .../rest/JettyRestProcessorBaselineSelfTest.java   |  19 ++-
 .../org/apache/ignite/IgniteSystemProperties.java  |   7 +-
 .../cluster/DistributedBaselineConfiguration.java  | 101 
 .../baseline/autoadjust/ChangeTopologyWatcher.java |  17 ++-
 .../distributed/DistributedBooleanProperty.java|   2 +-
 ...ure.java => DistributedChangeableProperty.java} |  28 +++--
 .../distributed/DistributedComparableProperty.java |   2 +-
 .../DistributedConfigurationLifecycleListener.java |   6 +
 .../DistributedConfigurationProcessor.java |  76 ++--
 .../distributed/DistributedProperty.java   | 119 +++
 .../distributed/DistributedPropertyDispatcher.java |  21 ++--
 .../distributed/PropertyUpdateClosure.java |  12 +-
 ...roperty.java => SimpleDistributedProperty.java} |  92 +-
 .../persistence/DmsDataWriterWorker.java   |   2 +
 .../ignite/spi/discovery/tcp/ServerImpl.java   |  38 --
 .../ClusterBaselineNodesMetricsSelfTest.java   |  22 +---
 .../processors/DeadLockOnNodeLeftExchangeTest.java |   3 +-
 .../IgniteAbstractDynamicCacheStartFailTest.java   |  22 ++--
 ...usterActivateDeactivateTestWithPersistence.java |  15 ---
 ...teDynamicCacheStartFailWithPersistenceTest.java |   6 -
 .../distributed/CacheBaselineTopologyTest.java |  21 +---
 .../CacheDataLossOnPartitionMoveTest.java  |   6 +-
 .../CachePartitionLostWhileClearingTest.java   |   8 +-
 .../distributed/CacheRentingStateRepairTest.java   |   7 +-
 .../PartitionsEvictManagerAbstractTest.java|   2 +-
 .../GridCacheRebalancingWithAsyncClearingTest.java |   7 +-
 .../processors/cache/mvcc/CacheMvccVacuumTest.java |  19 +--
 .../persistence/CleanupRestoredCachesSlowTest.java |   5 +-
 ...niteBaselineAffinityTopologyActivationTest.java |  24 ++--
 .../persistence/IgnitePdsCorruptedIndexTest.java   |   7 +-
 .../IgnitePdsPartitionFilesDestroyTest.java|  54 -
 ...gniteRebalanceScheduleResendPartitionsTest.java |  16 +--
 ...ocalWalModeChangeDuringRebalancingSelfTest.java |  11 +-
 .../ClientAffinityAssignmentWithBaselineTest.java  |  19 +--
 .../IgniteAbsentEvictionNodeOutOfBaselineTest.java |   7 +-
 ...hangingBaselineDownCachePutAllFailoverTest.java |   7 +-
 ...hangingBaselineDownCacheRemoveFailoverTest.java |   6 +-
 ...eChangingBaselineUpCachePutAllFailoverTest.java |   7 +-
 ...eChangingBaselineUpCacheRemoveFailoverTest.java |   7 +-
 .../persistence/db/IgniteLogicalRecoveryTest.java  |   9 +-
 ...IgnitePdsCacheWalDisabledOnRebalancingTest.java |  18 +--
 .../db/IgnitePdsDataRegionMetricsTest.java |   6 +-
 .../cache/persistence/db/IgnitePdsWithTtlTest.java |  15 ++-
 .../SlowHistoricalRebalanceSmallHistoryTest.java   |   7 +-
 ...CheckpointSimulationWithRealCpDisabledTest.java |  16 ---
 ...eWalFlushMultiNodeFailoverAbstractSelfTest.java |   6 +-
 .../persistence/db/wal/WalCompactionTest.java  |   8 +-
 .../transactions/PartitionUpdateCounterTest.java   |   8 +-
 .../TxCrossCachePartitionConsistencyTest.java  |   3 -
 .../TxPartitionCounterStateAbstractTest.java   |  26 ++--
 .../TxPartitionCounterStateConsistencyTest.java|   4 +-
 ...unterStateConsistencyVolatileRebalanceTest.java |   5 +
 .../processors/cluster/BaselineAutoAdjustTest.java |  35 --
 .../DistributedConfigurationAbstractTest.java  | 132 ++---
 .../DistributedConfigurationPersistentTest.java| 128 
 .../DistributedMetaStoragePersistentTest.java  |   6 +-
 .../metastorage/DistributedMetaStorageTest.java|  34 --
 .../service/IgniteServiceReassignmentTest.java |   6 -
 .../ServiceDeploymentOutsideBaselineTest.java  |  30 ++---
 .../IgniteDiscoveryCacheReuseSelfTest.java |   6 +-
 .../util/GridCommandHandlerAbstractTest.java   |   2 -
 ...idCommandHandlerClusterByClassAbstractTest.java |   3 +
 .../apache/ignite/util/GridCommandHandlerTest.java |  11 ++
 .../persistence/RebuildIndexLogMessageTest.java|   3 -
 ...ngingBaselineCacheQueryNodeRestartSelfTest.java |   7 +-
 65 files changed, 560 insertions(+), 824 deletions(-)
 copy 
modules/core/src/main/java/org/apache/ignite/internal/processors/configuration/distributed/{PropertyUpdateClosure.java
 => DistributedChangeableProperty.java} (59%)
 copy 
modules/core/src/main/java/org/apache/ignite/internal/processors/configuration/distributed/{DistributedProperty.java
 => SimpleDistributedProperty.java} (55%)



[ignite] branch master updated: IGNITE-12565 Extend test coverage [IGNITE-9279] Support custom default SQL schema name - Fixes #7289.

2020-01-23 Thread ipavlukhin
This is an automated email from the ASF dual-hosted git repository.

ipavlukhin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
 new 6a87307  IGNITE-12565 Extend test coverage [IGNITE-9279] Support 
custom default SQL schema name - Fixes #7289.
6a87307 is described below

commit 6a8730754b5f1bf064ec044e7342b85c5b50627f
Author: ipavlukhin 
AuthorDate: Thu Jan 23 15:43:30 2020 +0300

IGNITE-12565 Extend test coverage [IGNITE-9279] Support custom default SQL 
schema name - Fixes #7289.

Signed-off-by: ipavlukhin 
---
 .../apache/ignite/testframework/GridTestUtils.java |  19 +-
 .../processors/query/AbstractCustomSchemaTest.java | 197 +
 .../query/AbstractDefaultSchemaTest.java   | 133 ++
 .../query/IgniteSqlCustomSchemaTest.java   |  51 ++
 .../query/IgniteSqlCustomSchemaWithPdsEnabled.java | 148 
 .../query/IgniteSqlDefaultSchemaTest.java  |  31 
 .../IgniteSqlSchemasDiffConfigurationsTest.java|  90 ++
 .../processors/query/JdbcSqlCustomSchemaTest.java  |  85 +
 .../processors/query/JdbcSqlDefaultSchemaTest.java |  85 +
 .../IgniteBinaryCacheQueryTestSuite.java   |  13 ++
 10 files changed, 850 insertions(+), 2 deletions(-)

diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
index 23a64f0..7a26606 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
@@ -2125,11 +2125,26 @@ public final class GridTestUtils {
  * Generate random alphabetical string.
  *
  * @param rnd Random object.
- * @param maxLen Maximal length of string
+ * @param maxLen Maximal length of string.
  * @return Random string object.
  */
 public static String randomString(Random rnd, int maxLen) {
-int len = rnd.nextInt(maxLen);
+return randomString(rnd, 0, maxLen);
+}
+
+/**
+ * Generate random alphabetical string.
+ *
+ * @param rnd Random object.
+ * @param minLen Minimum length of string.
+ * @param maxLen Maximal length of string.
+ * @return Random string object.
+ */
+public static String randomString(Random rnd, int minLen, int maxLen) {
+assert minLen >= 0 : "minLen >= 0";
+assert maxLen >= minLen : "maxLen >= minLen";
+
+int len = maxLen == minLen ? minLen : minLen + rnd.nextInt(maxLen - 
minLen);
 
 StringBuilder b = new StringBuilder(len);
 
diff --git 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/AbstractCustomSchemaTest.java
 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/AbstractCustomSchemaTest.java
new file mode 100644
index 000..c32dbb48
--- /dev/null
+++ 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/AbstractCustomSchemaTest.java
@@ -0,0 +1,197 @@
+/*
+ * 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.internal.processors.query;
+
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import 
org.apache.ignite.internal.processors.cache.index.AbstractIndexingCommonTest;
+import org.apache.ignite.testframework.GridTestUtils;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Test;
+
+/** Abstract test to verify custom sql schema. */
+public abstract class AbstractCustomSchemaTest extends 
AbstractIndexingCommonTest {
+/** */
+protected static final String TBL_NAME = "T1";
+
+/** */
+protected static final String SCHEMA_NAME_1 = "SCHEMA_1";
+
+/** */
+protected static final String SCHEMA_NAME_2 = "SCHEMA_2";
+
+/** */
+private static final String SCHEMA_NAME_3 = "ScHeMa3";
+
+/** */
+private static final String 

[ignite] branch master updated: IGNITE-12567 H2Tree goes into illegal state when non-indexed columns are dropped - Fixes #7290.

2020-01-23 Thread ipavlukhin
This is an automated email from the ASF dual-hosted git repository.

ipavlukhin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
 new 41ed329  IGNITE-12567 H2Tree goes into illegal state when non-indexed 
columns are dropped - Fixes #7290.
41ed329 is described below

commit 41ed3294ec7e1c8384bbbf7044c9ec5c7bf2622e
Author: korlov42 
AuthorDate: Thu Jan 23 14:44:18 2020 +0300

IGNITE-12567 H2Tree goes into illegal state when non-indexed columns are 
dropped - Fixes #7290.

Signed-off-by: ipavlukhin 
---
 .../processors/query/h2/database/H2Tree.java   | 14 +++-
 .../H2DynamicColumnsAbstractBasicSelfTest.java | 37 ++
 2 files changed, 41 insertions(+), 10 deletions(-)

diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2Tree.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2Tree.java
index 7ab1d74..a2a3bd6 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2Tree.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2Tree.java
@@ -80,9 +80,6 @@ public class H2Tree extends BPlusTree {
 private final IndexColumn[] cols;
 
 /** */
-private final int[] columnIds;
-
-/** */
 private final boolean mvccEnabled;
 
 /** */
@@ -223,11 +220,6 @@ public class H2Tree extends BPlusTree {
 inlineIdxs = unwrappedPk ? unwrappedColsInfo.inlineIdx() : 
wrappedColsInfo.inlineIdx();
 cols = unwrappedPk ? unwrappedColsInfo.cols() : wrappedColsInfo.cols();
 
-columnIds = new int[cols.length];
-
-for (int i = 0; i < cols.length; i++)
-columnIds[i] = cols[i].column.getColumnId();
-
 setIos(H2ExtrasInnerIO.getVersions(inlineSize, mvccEnabled), 
H2ExtrasLeafIO.getVersions(inlineSize, mvccEnabled));
 
 this.rowCache = rowCache;
@@ -453,7 +445,9 @@ public class H2Tree extends BPlusTree {
 return 0;
 
 for (int i = 0, len = cols.length; i < len; i++) {
-int idx = columnIds[i];
+IndexColumn idxCol = cols[i];
+
+int idx = idxCol.column.getColumnId();
 
 Value v1 = r1.getValue(idx);
 Value v2 = r2.getValue(idx);
@@ -466,7 +460,7 @@ public class H2Tree extends BPlusTree {
 int c = compareValues(v1, v2);
 
 if (c != 0)
-return InlineIndexHelper.fixSort(c, cols[i].sortType);
+return InlineIndexHelper.fixSort(c, idxCol.sortType);
 }
 
 return mvccCompare(r1, r2);
diff --git 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicColumnsAbstractBasicSelfTest.java
 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicColumnsAbstractBasicSelfTest.java
index a60ff64..f0953e2 100644
--- 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicColumnsAbstractBasicSelfTest.java
+++ 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicColumnsAbstractBasicSelfTest.java
@@ -33,6 +33,7 @@ import org.apache.ignite.internal.processors.query.QueryField;
 import org.apache.ignite.internal.processors.query.QueryUtils;
 import org.apache.ignite.testframework.config.GridTestProperties;
 import org.h2.jdbc.JdbcSQLException;
+import org.junit.Assert;
 import org.junit.Test;
 
 import static 
org.apache.ignite.testframework.config.GridTestProperties.BINARY_MARSHALLER_USE_SIMPLE_NAME_MAPPER;
@@ -769,6 +770,42 @@ public abstract class 
H2DynamicColumnsAbstractBasicSelfTest extends DynamicColum
 }
 }
 
+/** */
+@Test
+public void testDropColumnPriorToCompoundPkIndex() throws Exception {
+try {
+run("CREATE TABLE test (a INT, b INT, id1 INT, id2 INT, PRIMARY 
KEY (id1, id2))");
+
+run("INSERT INTO test (a, b, id1, id2) VALUES (1, 2, 3, 4)");
+
+String qry = "SELECT a, id1, id2 FROM test WHERE id1 = 3 AND id2 = 
4";
+
+List> resBefore = run(qry);
+
+Assert.assertEquals(1, resBefore.size());
+
+run("ALTER TABLE test DROP COLUMN b");
+
+run("SELECT * FROM test WHERE id1 = 3 AND id2 = 4");
+
+List> resAfter = run(qry);
+
+Assert.assertEquals(1, resAfter.size());
+
+Assert.assertEquals(resBefore, resAfter);
+
+String plan = (String)run("EXPLAIN SELECT * FROM test WHERE id1 = 
3 AND id2 = 4").get(0).get(0);
+
+String pkIdxName = "PUBLIC.\"_key_PK\"";
+
+Assert.assertTrue("Query plan does not contain index '" + 
pkIdxName + "': plan=" + plan,
+plan.contains(pkIdxName));
+}
+finally {
+run("DROP TABLE IF EXISTS 

[ignite] branch master updated: IGNITE-12569 Can't set serialized enum to a BinaryObject's field - Fixes #7292.

2020-01-23 Thread ipavlukhin
This is an automated email from the ASF dual-hosted git repository.

ipavlukhin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
 new e89c71d  IGNITE-12569 Can't set serialized enum to a BinaryObject's 
field - Fixes #7292.
e89c71d is described below

commit e89c71d3cb769ebe25c09e241cfc6cd511b150b3
Author: korlov42 
AuthorDate: Thu Jan 23 14:42:57 2020 +0300

IGNITE-12569 Can't set serialized enum to a BinaryObject's field - Fixes 
#7292.

Signed-off-by: ipavlukhin 
---
 .../apache/ignite/internal/binary/BinaryUtils.java |   2 +-
 .../binary/builder/BinaryBuilderSerializer.java|  35 +++---
 .../binary/builder/BinaryObjectBuilderImpl.java|  11 +-
 .../BinaryObjectBuilderAdditionalSelfTest.java | 139 ++---
 .../BinarySimpleNameTestPropertySelfTest.java  |   3 +-
 5 files changed, 152 insertions(+), 38 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java 
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
index 9568c4b..84e4e97 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
@@ -1715,7 +1715,7 @@ public class BinaryUtils {
 private static Object[] doReadBinaryEnumArray(BinaryInputStream in, 
BinaryContext ctx) {
 int len = in.readInt();
 
-Object[] arr = (Object[])Array.newInstance(BinaryObject.class, len);
+Object[] arr = (Object[])Array.newInstance(BinaryEnumObjectImpl.class, 
len);
 
 for (int i = 0; i < len; i++) {
 byte flag = in.readByte();
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
index 9e6411f..439e65c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
@@ -19,10 +19,9 @@ package org.apache.ignite.internal.binary.builder;
 
 import java.util.Collection;
 import java.util.IdentityHashMap;
-import java.util.LinkedHashMap;
 import java.util.Map;
 import org.apache.ignite.binary.BinaryObject;
-import org.apache.ignite.internal.binary.BinaryMetadata;
+import org.apache.ignite.internal.binary.BinaryEnumObjectImpl;
 import org.apache.ignite.internal.binary.BinaryObjectExImpl;
 import org.apache.ignite.internal.binary.BinaryUtils;
 import org.apache.ignite.internal.binary.BinaryWriterExImpl;
@@ -111,22 +110,24 @@ class BinaryBuilderSerializer {
 return;
 }
 
-if (IgniteUtils.isEnum(val.getClass())) {
-String clsName = ((Enum)val).getDeclaringClass().getName();
+if (val instanceof BinaryEnumObjectImpl) {
+BinaryEnumObjectImpl obj = (BinaryEnumObjectImpl)val;
 
-int typeId = writer.context().typeId(clsName);
-String typeName = writer.context().userTypeName(clsName);
+writer.writeByte(GridBinaryMarshaller.ENUM);
+writer.writeInt(obj.typeId());
 
-Object[] enumVals = val.getClass().getEnumConstants();
+if (obj.typeId() == GridBinaryMarshaller.UNREGISTERED_TYPE_ID)
+writer.doWriteString(obj.className());
 
-Map enumMap = new 
LinkedHashMap<>(enumVals.length);
+writer.writeInt(obj.enumOrdinal());
 
-for (Object enumVal : enumVals)
-enumMap.put(((Enum)enumVal).name(), ((Enum)enumVal).ordinal());
+return;
+}
 
-BinaryMetadata meta = new BinaryMetadata(typeId, typeName, null, 
null, null, true, enumMap);
+if (IgniteUtils.isEnum(val.getClass())) {
+String clsName = ((Enum)val).getDeclaringClass().getName();
 
-writer.context().updateMetadata(typeId, meta, 
writer.failIfUnregistered());
+int typeId = writer.context().typeId(clsName);
 
 // Need register class for marshaller to be able to deserialize 
enum value.
 writer.context().registerClass(((Enum)val).getDeclaringClass(), 
true, false);
@@ -179,17 +180,21 @@ class BinaryBuilderSerializer {
 }
 
 if (val instanceof Object[]) {
-int compTypeId = 
writer.context().typeId(((Object[])val).getClass().getComponentType().getName());
+Class compCls = ((Object[])val).getClass().getComponentType();
 
-if (val instanceof BinaryBuilderEnum[]) {
+int compTypeId = writer.context().typeId(compCls.getName());
+
+if (BinaryEnumObjectImpl.class.isAssignableFrom(compCls) || val 
instanceof BinaryBuilderEnum[]) {
 writeArray(writer, 

[ignite] branch master updated: IGNITE-12439 Warning about possible OOME if cache with too many partitions is created in a limited-size data region

2020-01-23 Thread agura
This is an automated email from the ASF dual-hosted git repository.

agura pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
 new 3639f92  IGNITE-12439 Warning about possible OOME if cache with too 
many partitions is created in a limited-size data region
3639f92 is described below

commit 3639f92c7d3a50197ce90805215d63a52a9cda4f
Author: Sergey Chugunov 
AuthorDate: Thu Jan 23 13:50:21 2020 +0300

IGNITE-12439 Warning about possible OOME if cache with too many partitions 
is created in a limited-size data region

Signed-off-by: Andrey Gura 
---
 .../affinity/IdealAffinityAssignment.java  |   2 +-
 .../cache/CacheAffinitySharedManager.java  | 116 
 .../processors/cache/CacheGroupMetricsImpl.java|  19 ++
 .../GridCacheDatabaseSharedManager.java|   2 +
 .../cache/persistence/GridCacheOffheapManager.java |   8 +-
 .../cache/persistence/pagemem/PageMemoryEx.java|  13 +
 .../cache/persistence/pagemem/PageMemoryImpl.java  |  20 ++
 .../apache/ignite/internal/util/IgniteUtils.java   |  14 +-
 .../cache/CacheDataRegionConfigurationTest.java| 305 +
 .../processors/cache/CacheGroupMetricsTest.java|  31 +++
 .../ignite/testframework/ListeningTestLogger.java  |  13 +
 11 files changed, 540 insertions(+), 3 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/IdealAffinityAssignment.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/IdealAffinityAssignment.java
index c930ec5..58fb341 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/IdealAffinityAssignment.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/IdealAffinityAssignment.java
@@ -90,7 +90,7 @@ public class IdealAffinityAssignment {
  * @param nodes Nodes.
  * @param assignment Assignment.
  */
-private static Map> calculatePrimaries(
+public static Map> calculatePrimaries(
 @Nullable List nodes,
 List> assignment
 ) {
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
index 2d8ce7c..46ca65f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.processors.cache;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -26,6 +27,7 @@ import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
@@ -38,6 +40,8 @@ import org.apache.ignite.IgniteSystemProperties;
 import org.apache.ignite.cache.affinity.AffinityFunction;
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.DataRegionConfiguration;
+import org.apache.ignite.configuration.DataStorageConfiguration;
 import org.apache.ignite.configuration.NearCacheConfiguration;
 import org.apache.ignite.events.DiscoveryEvent;
 import org.apache.ignite.events.Event;
@@ -110,6 +114,9 @@ public class CacheAffinitySharedManager extends 
GridCacheSharedManagerAdap
 /** Affinity information for all started caches (initialized on 
coordinator). */
 private ConcurrentMap grpHolders = new 
ConcurrentHashMap<>();
 
+/** */
+private CacheMemoryOverheadValidator validator = new 
CacheMemoryOverheadValidator();
+
 /** Topology version which requires affinity re-calculation (set from 
discovery thread). */
 private AffinityTopologyVersion lastAffVer;
 
@@ -1023,6 +1030,8 @@ public class CacheAffinitySharedManager extends 
GridCacheSharedManagerAdap
 fut.timeBag().finishLocalStage("Affinity initialization on 
cache group start " +
 "[grp=" + grpDesc.cacheOrGroupName() + "]");
 
+validator.validateCacheGroup(grpDesc);
+
 return null;
 }
 );
@@ -1903,6 +1912,8 @@ public class CacheAffinitySharedManager extends 
GridCacheSharedManagerAdap
 
 fut.timeBag().finishLocalStage("Affinity centralized 
initialization (crd) " +
 "[grp=" + desc.cacheOrGroupName() + ", crd=" + crd + "]");
+
+validator.validateCacheGroup(desc);
 }
 });
 
@@ -2868,4 +2879,109 @@ public class CacheAffinitySharedManager extends 
GridCacheSharedManagerAdap
   

[ignite] branch ignite-2.8 updated (2385cbb -> b5181d1)

2020-01-23 Thread mmuzaf
This is an automated email from the ASF dual-hosted git repository.

mmuzaf pushed a change to branch ignite-2.8
in repository https://gitbox.apache.org/repos/asf/ignite.git.


from 2385cbb  IGNITE-8641: Spring data example now uses its own xml config 
(#7280)
 add b5181d1  IGNITE-12547 Replace array of AtomicLong with AtomicLongArray 
in free list - Fixes #7267.

No new revisions were added by this update.

Summary of changes:
 .../persistence/freelist/AbstractFreeList.java |  8 +--
 .../cache/persistence/freelist/PagesList.java  | 68 +-
 .../db/wal/WalRecoveryTxLogicalRecordsTest.java| 18 +++---
 .../persistence/freelist/FreeListCachingTest.java  | 30 +-
 4 files changed, 83 insertions(+), 41 deletions(-)