This is an automated email from the ASF dual-hosted git repository. spmallette pushed a commit to branch travis-fix in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 0da1cfac6322c6919eea4274177de3df63e244d4 Author: stephen <[email protected]> AuthorDate: Wed Nov 13 19:07:44 2019 -0500 Increase default max wait time for a connection with java driver Cleaned up some dead log messages from debugging --- .travis.yml | 4 +++- .../tinkerpop/gremlin/driver/Connection.java | 2 +- .../gremlin/server/auth/Krb5Authenticator.java | 2 +- .../gremlin/server/GremlinServerIntegrateTest.java | 22 +++++++++++++++------- .../server/GremlinServerSessionIntegrateTest.java | 6 ------ 5 files changed, 20 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index c9bc45e..e5f8621 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,7 +39,9 @@ jobs: name: "python" - script: "mvn clean install -q -DskipTests && mvn verify -pl :gremlin-javascript" name: "javascript" - - script: "mvn clean install -q -DskipTests && mvn verify -pl :gremlin-server,:gremlin-console -DskipIntegrationTests=false" + - script: + - "mvn clean install -q -DskipTests" + - "travis_wait 60 mvn verify -pl :gremlin-server,:gremlin-console -DskipIntegrationTests=false" name: "gremlin server/console" - script: - "mvn clean install -q -DskipTests" diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java index e700d49..aa0868f 100644 --- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java +++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java @@ -61,7 +61,7 @@ final class Connection { public static final int MAX_IN_PROCESS = 4; public static final int MIN_IN_PROCESS = 1; - public static final int MAX_WAIT_FOR_CONNECTION = 3000; + public static final int MAX_WAIT_FOR_CONNECTION = 16000; public static final int MAX_WAIT_FOR_SESSION_CLOSE = 3000; public static final int MAX_CONTENT_LENGTH = 65536; diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/auth/Krb5Authenticator.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/auth/Krb5Authenticator.java index 0cadc99..cd5cf65 100644 --- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/auth/Krb5Authenticator.java +++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/auth/Krb5Authenticator.java @@ -114,7 +114,7 @@ public class Krb5Authenticator implements Authenticator { // GSSAPI is the only available mechanism for this authenticator final Map props = new HashMap<String, Object>(); final String[] principalParts = principalName.split("/|@"); - if (principalParts.length < 3) throw new IllegalArgumentException("Use principal name of format 'service/fqdn@kdcrealm'"); + if (principalParts.length < 3) throw new IllegalArgumentException("Use principal name of format 'service/fqdn@kdcrealm' - not this nonsense" + principalName); saslServer = Sasl.createSaslServer(mechanism, principalParts[0], principalParts[1], props, Krb5SaslAuthenticator.this); } catch(Exception e) { logger.error("Creating sasl server failed: ", e); diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java index 20980d2..0510328 100644 --- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java +++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java @@ -1196,7 +1196,7 @@ public class GremlinServerIntegrateTest extends AbstractGremlinServerIntegration @Test public void shouldFailOnDeadHost() throws Exception { - final Cluster cluster = TestClientFactory.build().create(); + final Cluster cluster = TestClientFactory.build().maxWaitForConnection(90000).create(); final Client client = cluster.connect(); // ensure that connection to server is good @@ -1220,13 +1220,21 @@ public class GremlinServerIntegrateTest extends AbstractGremlinServerIntegration // restart server this.startServer(); - // the retry interval is 1 second, wait a bit longer - TimeUnit.SECONDS.sleep(5); - - List<Result> results = client.submit("1+1").all().join(); - assertEquals(1, results.size()); - assertEquals(2, results.get(0).getInt()); + // try a bunch of times to reconnect. on slower systems this may simply take longer...looking at you travis + for (int ix = 1; ix < 11; ix++) { + // the retry interval is 1 second, wait a bit longer + TimeUnit.SECONDS.sleep(5); + + try { + final List<Result> results = client.submit("1+1").all().join(); + assertEquals(1, results.size()); + assertEquals(2, results.get(0).getInt()); + } catch (Exception ex) { + if (ix == 10) + fail("Should have eventually succeeded"); + } + } } finally { cluster.close(); } diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSessionIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSessionIntegrateTest.java index 889228c..9a3e4ff 100644 --- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSessionIntegrateTest.java +++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSessionIntegrateTest.java @@ -343,10 +343,8 @@ public class GremlinServerSessionIntegrateTest extends AbstractGremlinServerInt } }); - System.out.println("shouldEnsureSessionBindingsAreThreadSafe: sent 10000"); assertEquals(requests, futures.size()); - System.out.println("shouldEnsureSessionBindingsAreThreadSafe: asserting 10000"); int counter = 0; for (CompletableFuture<ResultSet> f : futures) { final Result r = f.get().all().get(30000, TimeUnit.MILLISECONDS).get(0); @@ -355,14 +353,10 @@ public class GremlinServerSessionIntegrateTest extends AbstractGremlinServerInt } assertEquals(requests, counter); - System.out.println("shouldEnsureSessionBindingsAreThreadSafe: asserted 10000"); - } catch (Exception ex) { fail(ex.getMessage()); } finally { - System.out.println("shouldEnsureSessionBindingsAreThreadSafe: calling cluster.close"); cluster.close(); - System.out.println("shouldEnsureSessionBindingsAreThreadSafe: called cluster.close"); } }
