You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2019/11/25 18:52:54 UTC

[tinkerpop] 02/04: Increase default max wait time for a connection with java driver

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 <sp...@gmail.com>
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");
         }
 
     }