IGNITE-8315 Prevent printing the partition distribution on clients nodes Signed-off-by: Anton Vinogradov <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/244bb753 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/244bb753 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/244bb753 Branch: refs/heads/ignite-6083 Commit: 244bb7532ba4f8e894c2195e32b67bacfe56c827 Parents: 59a41cf Author: Vyacheslav Daradur <[email protected]> Authored: Mon Apr 23 13:22:02 2018 +0300 Committer: Anton Vinogradov <[email protected]> Committed: Mon Apr 23 13:22:02 2018 +0300 ---------------------------------------------------------------------- .../affinity/GridAffinityAssignmentCache.java | 2 +- .../AffinityDistributionLoggingTest.java | 40 ++++++++++++++++---- 2 files changed, 33 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/244bb753/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java index 9d5ce05..3ff3522 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java @@ -374,7 +374,7 @@ public class GridAffinityAssignmentCache { idealAssignment = assignment; - if (ctx.cache().cacheMode(cacheOrGrpName) == PARTITIONED) + if (ctx.cache().cacheMode(cacheOrGrpName) == PARTITIONED && !ctx.clientNode()) printDistributionIfThresholdExceeded(assignment, sorted.size()); if (hasBaseline) { http://git-wip-us.apache.org/repos/asf/ignite/blob/244bb753/modules/core/src/test/java/org/apache/ignite/cache/affinity/AffinityDistributionLoggingTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/cache/affinity/AffinityDistributionLoggingTest.java b/modules/core/src/test/java/org/apache/ignite/cache/affinity/AffinityDistributionLoggingTest.java index 813c830..7ea1a1a 100644 --- a/modules/core/src/test/java/org/apache/ignite/cache/affinity/AffinityDistributionLoggingTest.java +++ b/modules/core/src/test/java/org/apache/ignite/cache/affinity/AffinityDistributionLoggingTest.java @@ -111,7 +111,7 @@ public class AffinityDistributionLoggingTest extends GridCommonAbstractTest { parts = 2; backups = 1; - String testsLog = runAndGetExchangeLog(); + String testsLog = runAndGetExchangeLog(false); assertFalse(testsLog.contains(LOG_MESSAGE_PREFIX)); } @@ -126,7 +126,7 @@ public class AffinityDistributionLoggingTest extends GridCommonAbstractTest { parts = 120; backups = 2; - String testsLog = runAndGetExchangeLog(); + String testsLog = runAndGetExchangeLog(false); assertFalse(testsLog.contains(LOG_MESSAGE_PREFIX)); } @@ -141,7 +141,7 @@ public class AffinityDistributionLoggingTest extends GridCommonAbstractTest { parts = 5; backups = 3; - String testsLog = runAndGetExchangeLog(); + String testsLog = runAndGetExchangeLog(false); assertTrue(testsLog.contains(LOG_MESSAGE_PREFIX)); } @@ -149,6 +149,21 @@ public class AffinityDistributionLoggingTest extends GridCommonAbstractTest { /** * @throws Exception In case of an error. */ + public void test5PartitionsNotIdealDistributionSuppressedLoggingOnClientNode() throws Exception { + System.setProperty(IGNITE_PART_DISTRIBUTION_WARN_THRESHOLD, "0.0"); + + nodes = 4; + parts = 5; + backups = 3; + + String testsLog = runAndGetExchangeLog(true); + + assertFalse(testsLog.contains(LOG_MESSAGE_PREFIX)); + } + + /** + * @throws Exception In case of an error. + */ public void test7PartitionsNotIdealDistributionSuppressedLogging() throws Exception { System.setProperty(IGNITE_PART_DISTRIBUTION_WARN_THRESHOLD, "50.0"); @@ -156,7 +171,7 @@ public class AffinityDistributionLoggingTest extends GridCommonAbstractTest { parts = 7; backups = 0; - String testsLog = runAndGetExchangeLog(); + String testsLog = runAndGetExchangeLog(false); assertFalse(testsLog.contains(LOG_MESSAGE_PREFIX)); } @@ -171,7 +186,7 @@ public class AffinityDistributionLoggingTest extends GridCommonAbstractTest { parts = 5; backups = 3; - String testsLog = runAndGetExchangeLog(); + String testsLog = runAndGetExchangeLog(false); assertFalse(testsLog.contains(LOG_MESSAGE_PREFIX)); } @@ -179,10 +194,11 @@ public class AffinityDistributionLoggingTest extends GridCommonAbstractTest { /** * Starts a specified number of Ignite nodes and log partition node exchange during a last node's startup. * + * @param testClientNode Whether it is necessary to get exchange log from the client node. * @return Log of latest partition map exchange. * @throws Exception In case of an error. */ - private String runAndGetExchangeLog() throws Exception { + private String runAndGetExchangeLog(boolean testClientNode) throws Exception { assert nodes > 1; IgniteEx ignite = (IgniteEx)startGrids(nodes - 1); @@ -199,7 +215,15 @@ public class AffinityDistributionLoggingTest extends GridCommonAbstractTest { GridTestUtils.setFieldValue(aff, "log", log); - startGrid(nodes); + if (testClientNode) { + IgniteConfiguration cfg = getConfiguration("client"); + + cfg.setClientMode(true); + + startGrid(cfg); + } + else + startGrid(nodes); awaitPartitionMapExchange(); @@ -265,4 +289,4 @@ public class AffinityDistributionLoggingTest extends GridCommonAbstractTest { // No-op. } } -} \ No newline at end of file +}
