You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2018/10/03 10:31:59 UTC
ignite git commit: IGNITE-9691 testConcurrentAuthorize uses outdated
assumption about exception message - updated test assumptions to accommodate
changes in the implementation -- verified with diffs overview,
clean rebuild and trial execution of modified
Repository: ignite
Updated Branches:
refs/heads/master 46fe9ed02 -> 71836d95a
IGNITE-9691 testConcurrentAuthorize uses outdated assumption about exception message
- updated test assumptions to accommodate changes in the implementation
-- verified with diffs overview, clean rebuild and trial execution of modified tests on my machine - Fixes #4828.
Signed-off-by: Alexey Goncharuk <al...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/71836d95
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/71836d95
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/71836d95
Branch: refs/heads/master
Commit: 71836d95a13dfbee2e152c0a071488bf0d7d0802
Parents: 46fe9ed
Author: Oleg Ignatenko <oi...@gridgain.com>
Authored: Wed Oct 3 13:28:40 2018 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Wed Oct 3 13:28:40 2018 +0300
----------------------------------------------------------------------
.../AuthenticationProcessorNodeRestartTest.java | 340 +++++++++----------
1 file changed, 157 insertions(+), 183 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/71836d95/modules/core/src/test/java/org/apache/ignite/internal/processors/authentication/AuthenticationProcessorNodeRestartTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/authentication/AuthenticationProcessorNodeRestartTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/authentication/AuthenticationProcessorNodeRestartTest.java
index 7496cfe..6f10aa7 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/authentication/AuthenticationProcessorNodeRestartTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/authentication/AuthenticationProcessorNodeRestartTest.java
@@ -18,7 +18,6 @@
package org.apache.ignite.internal.processors.authentication;
import java.util.Random;
-import java.util.concurrent.Callable;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.configuration.DataRegionConfiguration;
@@ -46,10 +45,10 @@ public class AuthenticationProcessorNodeRestartTest extends GridCommonAbstractTe
private static final int RESTARTS = 10;
/** Client node. */
- protected static final int CLI_NODE = NODES_COUNT - 1;
+ private static final int CLI_NODE = NODES_COUNT - 1;
/** Authorization context for default user. */
- protected AuthorizationContext actxDflt;
+ private AuthorizationContext actxDflt;
/** Random. */
private static final Random RND = new Random(System.currentTimeMillis());
@@ -111,53 +110,51 @@ public class AuthenticationProcessorNodeRestartTest extends GridCommonAbstractTe
final AtomicInteger usrCnt = new AtomicInteger();
- GridTestUtils.runMultiThreaded(new Runnable() {
- @Override public void run() {
- AuthorizationContext.context(actxDflt);
+ GridTestUtils.runMultiThreaded(() -> {
+ AuthorizationContext.context(actxDflt);
- String user = "test" + usrCnt.getAndIncrement();
+ String user = "test" + usrCnt.getAndIncrement();
- try {
- int state = 0;
- while (!restartFut.isDone()) {
- try {
- switch (state) {
- case 0:
- grid(CLI_NODE).context().authentication().addUser(user, "passwd_" + user);
+ try {
+ int state = 0;
+ while (!restartFut.isDone()) {
+ try {
+ switch (state) {
+ case 0:
+ grid(CLI_NODE).context().authentication().addUser(user, "passwd_" + user);
- break;
-
- case 1:
- grid(CLI_NODE).context().authentication().updateUser(user, "new_passwd_" + user);
+ break;
- break;
+ case 1:
+ grid(CLI_NODE).context().authentication().updateUser(user, "new_passwd_" + user);
- case 2:
- grid(CLI_NODE).context().authentication().removeUser(user);
+ break;
- break;
+ case 2:
+ grid(CLI_NODE).context().authentication().removeUser(user);
- default:
- fail("Invalid state: " + state);
- }
+ break;
- state = ++state > 2 ? 0 : state;
- }
- catch (UserManagementException e) {
- U.error(log, e);
- fail("Unexpected exception on user operation");
- }
- catch (IgniteCheckedException e) {
- // Reconnect
- U.error(log, e);
+ default:
+ fail("Invalid state: " + state);
}
+
+ state = ++state > 2 ? 0 : state;
+ }
+ catch (UserManagementException e) {
+ U.error(log, e);
+ fail("Unexpected exception on user operation");
+ }
+ catch (IgniteCheckedException e) {
+ // Reconnect
+ U.error(log, e);
}
- }
- catch (Exception e) {
- U.error(log, "Unexpected exception on concurrent add/remove: " + user, e);
- fail();
}
}
+ catch (Exception e) {
+ U.error(log, "Unexpected exception on concurrent add/remove: " + user, e);
+ fail();
+ }
}, 10, "user-op");
restartFut.get();
@@ -174,88 +171,90 @@ public class AuthenticationProcessorNodeRestartTest extends GridCommonAbstractTe
for (int i = 0; i < testUsersCnt; ++i)
grid(CLI_NODE).context().authentication().addUser("test" + i, "passwd_test" + i);
- final IgniteInternalFuture restartFut = GridTestUtils.runAsync(new Runnable() {
- @Override public void run() {
- try {
- for (int i = 0; i < RESTARTS; ++i) {
- int nodeIdx = RND.nextInt(NODES_COUNT - 1);
+ final IgniteInternalFuture restartFut = GridTestUtils.runAsync(() -> {
+ try {
+ for (int i = 0; i < RESTARTS; ++i) {
+ int nodeIdx = RND.nextInt(NODES_COUNT - 1);
- stopGrid(nodeIdx);
+ stopGrid(nodeIdx);
- U.sleep(500);
+ U.sleep(500);
- startGrid(nodeIdx);
+ startGrid(nodeIdx);
- U.sleep(500);
- }
- }
- catch (Exception e) {
- e.printStackTrace(System.err);
- fail("Unexpected exception on server restart: " + e.getMessage());
+ U.sleep(500);
}
}
+ catch (Exception e) {
+ e.printStackTrace(System.err);
+ fail("Unexpected exception on server restart: " + e.getMessage());
+ }
});
final AtomicInteger usrCnt = new AtomicInteger();
- GridTestUtils.runMultiThreaded(new Runnable() {
- @Override public void run() {
- String user = "test" + usrCnt.getAndIncrement();
+ GridTestUtils.runMultiThreaded(() -> {
+ String user = "test" + usrCnt.getAndIncrement();
- try {
- while (!restartFut.isDone()) {
- AuthorizationContext actx = grid(CLI_NODE).context().authentication()
- .authenticate(user, "passwd_" + user);
+ try {
+ while (!restartFut.isDone()) {
+ AuthorizationContext actx = grid(CLI_NODE).context().authentication()
+ .authenticate(user, "passwd_" + user);
- assertNotNull(actx);
- }
+ assertNotNull(actx);
}
- catch (IgniteCheckedException e) {
- // Skip exception if server down.
- if (!e.getMessage().contains("Failed to send message (node may have left the grid or "
- + "TCP connection cannot be established due to firewall issues)")) {
- e.printStackTrace();
- fail("Unexpected exception: " + e.getMessage());
- }
- }
- catch (Exception e) {
+ }
+ catch (IgniteCheckedException e) {
+ // Skip exception if server down.
+ if (!serverDownMessage(e.getMessage())) {
e.printStackTrace();
fail("Unexpected exception: " + e.getMessage());
}
}
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("Unexpected exception: " + e.getMessage());
+ }
}, testUsersCnt, "user-op");
restartFut.get();
}
/**
+ * Exception messages from {@code org.apache.ignite.internal.managers.communication.GridIoManager#send}.
+ */
+ private boolean serverDownMessage(String text) {
+ return text.contains("Failed to send message (node may have left the grid or "
+ + "TCP connection cannot be established due to firewall issues)")
+ || text.contains("Failed to send message, node left");
+ }
+
+ /**
* @return Future.
*/
- protected IgniteInternalFuture restartCoordinator() {
- return GridTestUtils.runAsync(new Runnable() {
- @Override public void run() {
- try {
- int restarts = 0;
-
- while (restarts < RESTARTS) {
- for (int i = 0; i < CLI_NODE; ++i, ++restarts) {
- if (restarts >= RESTARTS)
- break;
+ private IgniteInternalFuture restartCoordinator() {
+ return GridTestUtils.runAsync(() -> {
+ try {
+ int restarts = 0;
- stopGrid(i);
+ while (restarts < RESTARTS) {
+ for (int i = 0; i < CLI_NODE; ++i, ++restarts) {
+ if (restarts >= RESTARTS)
+ break;
- U.sleep(500);
+ stopGrid(i);
- startGrid(i);
+ U.sleep(500);
- U.sleep(500);
- }
+ startGrid(i);
+
+ U.sleep(500);
}
}
- catch (Exception e) {
- U.error(log, "Unexpected exception on coordinator restart", e);
- fail();
- }
+ }
+ catch (Exception e) {
+ U.error(log, "Unexpected exception on coordinator restart", e);
+ fail();
}
});
}
@@ -266,45 +265,41 @@ public class AuthenticationProcessorNodeRestartTest extends GridCommonAbstractTe
public void test1kUsersNodeRestartServer() throws Exception {
final AtomicInteger usrCnt = new AtomicInteger();
- GridTestUtils.runMultiThreaded(new Runnable() {
- @Override public void run() {
- AuthorizationContext.context(actxDflt);
+ GridTestUtils.runMultiThreaded(() -> {
+ AuthorizationContext.context(actxDflt);
- try {
- while (usrCnt.get() < 200) {
- String user = "test" + usrCnt.getAndIncrement();
+ try {
+ while (usrCnt.get() < 200) {
+ String user = "test" + usrCnt.getAndIncrement();
- System.out.println("+++ CREATE " + user);
- grid(0).context().authentication().addUser(user, "init");
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- fail("Unexpected exception on add / remove");
+ System.out.println("+++ CREATE " + user);
+ grid(0).context().authentication().addUser(user, "init");
}
}
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("Unexpected exception on add / remove");
+ }
}, 3, "user-op");
usrCnt.set(0);
- GridTestUtils.runMultiThreaded(new Runnable() {
- @Override public void run() {
- AuthorizationContext.context(actxDflt);
+ GridTestUtils.runMultiThreaded(() -> {
+ AuthorizationContext.context(actxDflt);
- try {
- while (usrCnt.get() < 200) {
- String user = "test" + usrCnt.getAndIncrement();
+ try {
+ while (usrCnt.get() < 200) {
+ String user = "test" + usrCnt.getAndIncrement();
- System.out.println("+++ ALTER " + user);
+ System.out.println("+++ ALTER " + user);
- grid(0).context().authentication().updateUser(user, "passwd_" + user);
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- fail("Unexpected exception on add / remove");
+ grid(0).context().authentication().updateUser(user, "passwd_" + user);
}
}
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("Unexpected exception on add / remove");
+ }
}, 3, "user-op");
System.out.println("+++ STOP");
@@ -322,50 +317,30 @@ public class AuthenticationProcessorNodeRestartTest extends GridCommonAbstractTe
* @throws Exception If failed.
*/
public void testConcurrentAddUpdateRemoveNodeRestartServer() throws Exception {
- final IgniteInternalFuture restartFut = GridTestUtils.runAsync(new Runnable() {
- @Override public void run() {
- try {
- for (int i = 0; i < RESTARTS; ++i) {
- stopGrid(1);
-
- U.sleep(500);
-
- startGrid(1);
-
- U.sleep(500);
- }
- }
- catch (Exception e) {
- e.printStackTrace(System.err);
- fail("Unexpected exception on server restart: " + e.getMessage());
- }
- }
- });
+ IgniteInternalFuture restartFut = loopServerRestarts();
AuthorizationContext.context(actxDflt);
final AtomicInteger usrCnt = new AtomicInteger();
- GridTestUtils.runMultiThreaded(new Runnable() {
- @Override public void run() {
- AuthorizationContext.context(actxDflt);
+ GridTestUtils.runMultiThreaded(() -> {
+ AuthorizationContext.context(actxDflt);
- String user = "test" + usrCnt.getAndIncrement();
+ String user = "test" + usrCnt.getAndIncrement();
- try {
- while (!restartFut.isDone()) {
- grid(CLI_NODE).context().authentication().addUser(user, "init");
+ try {
+ while (!restartFut.isDone()) {
+ grid(CLI_NODE).context().authentication().addUser(user, "init");
- grid(CLI_NODE).context().authentication().updateUser(user, "passwd_" + user);
+ grid(CLI_NODE).context().authentication().updateUser(user, "passwd_" + user);
- grid(CLI_NODE).context().authentication().removeUser(user);
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- fail("Unexpected exception on add / remove");
+ grid(CLI_NODE).context().authentication().removeUser(user);
}
}
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("Unexpected exception on add / remove");
+ }
}, 10, "user-op");
restartFut.get();
@@ -375,52 +350,51 @@ public class AuthenticationProcessorNodeRestartTest extends GridCommonAbstractTe
* @throws Exception If failed.
*/
public void testConcurrentFailedOperationNodeRestartServer() throws Exception {
- final IgniteInternalFuture restartFut = GridTestUtils.runAsync(new Runnable() {
- @Override public void run() {
- try {
- for (int i = 0; i < RESTARTS; ++i) {
- stopGrid(1);
-
- U.sleep(500);
-
- startGrid(1);
-
- U.sleep(500);
- }
- }
- catch (Exception e) {
- e.printStackTrace(System.err);
- fail("Unexpected exception on server restart: " + e.getMessage());
- }
- }
- });
+ IgniteInternalFuture restartFut = loopServerRestarts();
AuthorizationContext.context(actxDflt);
grid(CLI_NODE).context().authentication().addUser("test", "test");
- GridTestUtils.runMultiThreaded(new Runnable() {
- @Override public void run() {
- AuthorizationContext.context(actxDflt);
+ GridTestUtils.runMultiThreaded(() -> {
+ AuthorizationContext.context(actxDflt);
- try {
- while (!restartFut.isDone()) {
- GridTestUtils.assertThrows(log, new Callable<Object>() {
- @Override public Object call() throws Exception {
- grid(CLI_NODE).context().authentication().addUser("test", "test");
+ try {
+ while (!restartFut.isDone()) {
+ GridTestUtils.assertThrows(log, () -> {
+ grid(CLI_NODE).context().authentication().addUser("test", "test");
- return null;
- }
- }, UserManagementException.class, "User already exists");
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- fail("Unexpected error on failed operation");
+ return null;
+ }, UserManagementException.class, "User already exists");
}
}
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("Unexpected error on failed operation");
+ }
}, 10, "user-op");
restartFut.get();
}
+
+ /** */
+ private IgniteInternalFuture loopServerRestarts() {
+ return GridTestUtils.runAsync(() -> {
+ try {
+ for (int i = 0; i < RESTARTS; ++i) {
+ stopGrid(1);
+
+ U.sleep(500);
+
+ startGrid(1);
+
+ U.sleep(500);
+ }
+ }
+ catch (Exception e) {
+ e.printStackTrace(System.err);
+ fail("Unexpected exception on server restart: " + e.getMessage());
+ }
+ });
+ }
}