You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by va...@apache.org on 2024/04/26 05:40:16 UTC

(tinkerpop) 01/01: requestId removal

This is an automated email from the ASF dual-hosted git repository.

valentyn pushed a commit to branch valentyn/requestId-removal
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit f3eb29b896955a87bc703e19430d6f86364a13ca
Author: Valentyn Kahamlyk <Va...@improving.com>
AuthorDate: Thu Apr 25 22:40:06 2024 -0700

    requestId removal
---
 .../tinkerpop/gremlin/driver/Channelizer.java      |  2 +-
 .../apache/tinkerpop/gremlin/driver/Client.java    |  1 -
 .../driver/remote/DriverRemoteConnection.java      |  3 ---
 .../driver/remote/DriverRemoteConnectionTest.java  |  1 -
 .../gremlin/server/GremlinDriverIntegrateTest.java | 22 ----------------------
 .../org/apache/tinkerpop/gremlin/util/Tokens.java  |  5 -----
 .../gremlin/util/message/RequestMessageV4.java     | 13 ++++++-------
 .../gremlin/util/message/RequestMessageV4Test.java |  3 ++-
 8 files changed, 9 insertions(+), 41 deletions(-)

diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Channelizer.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Channelizer.java
index fa53c9007c..31c34d6a6e 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Channelizer.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Channelizer.java
@@ -108,7 +108,7 @@ public interface Channelizer extends ChannelHandler {
         }
 
         @Override
-        protected void initChannel(final SocketChannel socketChannel) throws Exception {
+        protected void initChannel(final SocketChannel socketChannel) {
             final ChannelPipeline pipeline = socketChannel.pipeline();
             final Optional<SslContext> sslCtx;
             if (supportsSsl()) {
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Client.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Client.java
index 8051a9ccb9..f47d529d18 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Client.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Client.java
@@ -359,7 +359,6 @@ public abstract class Client {
         options.getTimeout().ifPresent(timeout -> request.addTimeoutMillis(timeout));
         options.getParameters().ifPresent(params -> request.addBindings(params));
         options.getAliases().ifPresent(aliases -> {if (aliases.get("g") != null) request.addG(aliases.get("g")); });
-//        options.getOverrideRequestId().ifPresent(request::overrideRequestId);
 //        options.getUserAgent().ifPresent(userAgent -> request.addArg(Tokens.ARGS_USER_AGENT, userAgent));
         options.getLanguage().ifPresent(lang -> request.addLanguage(lang));
         options.getMaterializeProperties().ifPresent(mp -> request.addMaterializeProperties(mp));
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteConnection.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteConnection.java
index dd0a9259f6..99d4205005 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteConnection.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteConnection.java
@@ -41,7 +41,6 @@ import java.util.concurrent.CompletableFuture;
 import static org.apache.tinkerpop.gremlin.util.Tokens.ARGS_BATCH_SIZE;
 import static org.apache.tinkerpop.gremlin.util.Tokens.ARGS_EVAL_TIMEOUT;
 import static org.apache.tinkerpop.gremlin.util.Tokens.ARGS_USER_AGENT;
-import static org.apache.tinkerpop.gremlin.util.Tokens.REQUEST_ID;
 import static org.apache.tinkerpop.gremlin.util.Tokens.ARGS_MATERIALIZE_PROPERTIES;
 
 
@@ -254,8 +253,6 @@ public class DriverRemoteConnection implements RemoteConnection {
             final Map<String,Object> options = optionsStrategy.getOptions();
             if (options.containsKey(ARGS_EVAL_TIMEOUT))
                 builder.timeout(((Number) options.get(ARGS_EVAL_TIMEOUT)).longValue());
-            if (options.containsKey(REQUEST_ID))
-                builder.overrideRequestId((UUID) options.get(REQUEST_ID));
             if (options.containsKey(ARGS_BATCH_SIZE))
                 builder.batchSize(((Number) options.get(ARGS_BATCH_SIZE)).intValue());
             if (options.containsKey(ARGS_USER_AGENT))
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteConnectionTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteConnectionTest.java
index dcaa2d20a9..1b616a9cdd 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteConnectionTest.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteConnectionTest.java
@@ -41,7 +41,6 @@ public class DriverRemoteConnectionTest {
                 g.with("x").
                         with("y", 100).
                         with(Tokens.ARGS_BATCH_SIZE, 1000).
-                        with(Tokens.REQUEST_ID, requestId).
                         with(Tokens.ARGS_EVAL_TIMEOUT, 100000L).
                         with(Tokens.ARGS_USER_AGENT, "test").
                         V().asAdmin().getBytecode());
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java
index d92325e1ec..9210f00a34 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java
@@ -1737,28 +1737,6 @@ public class GremlinDriverIntegrateTest extends AbstractGremlinServerIntegration
 //        assertEquals("test", requestMessage.getArgs().getOrDefault(Tokens.ARGS_USER_AGENT, null));
 //    }
 
-    @Test
-    public void shouldSendRequestIdBytecode() {
-        final UUID overrideRequestId = UUID.randomUUID();
-        final Cluster cluster = TestClientFactory.build().serializer(Serializers.GRAPHSON_V3).create();
-        final Client client = Mockito.spy(cluster.connect().alias("g"));
-        Mockito.when(client.alias("g")).thenReturn(client);
-        final GraphTraversalSource g = traversal().withRemote(DriverRemoteConnection.using(client));
-        g.with(Tokens.REQUEST_ID, overrideRequestId).V().iterate();
-        cluster.close();
-
-        final ArgumentCaptor<RequestOptions> requestOptionsCaptor = ArgumentCaptor.forClass(RequestOptions.class);
-        verify(client).submitAsync(Mockito.any(Bytecode.class), requestOptionsCaptor.capture());
-        final RequestOptions requestOptions = requestOptionsCaptor.getValue();
-        assertTrue(requestOptions.getOverrideRequestId().isPresent());
-        assertEquals(overrideRequestId, requestOptions.getOverrideRequestId().get());
-
-        final ArgumentCaptor<RequestMessageV4> requestMessageCaptor = ArgumentCaptor.forClass(RequestMessageV4.class);
-        verify(client).submitAsync(requestMessageCaptor.capture());
-        final RequestMessageV4 requestMessage = requestMessageCaptor.getValue();
-        assertEquals(overrideRequestId, requestMessage.getRequestId());
-    }
-
     @Test
     public void shouldClusterReadFileFromResources() throws Exception {
         final Cluster cluster = Cluster.open(TestClientFactory.RESOURCE_PATH);
diff --git a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/Tokens.java b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/Tokens.java
index 1fd45981eb..127b6a1e48 100644
--- a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/Tokens.java
+++ b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/Tokens.java
@@ -37,11 +37,6 @@ public final class Tokens {
     public static final String OPS_INVALID = "invalid";
     public static final String OPS_CLOSE = "close";
 
-    /**
-     * The key for the unique identifier of the request.
-     */
-    public static final String REQUEST_ID = "requestId";
-
     /**
      * The key for the per request server-side timeout in milliseconds.
      */
diff --git a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/RequestMessageV4.java b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/RequestMessageV4.java
index 7e456d9ad2..1ddb7fe547 100644
--- a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/RequestMessageV4.java
+++ b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/RequestMessageV4.java
@@ -43,6 +43,8 @@ public final class RequestMessageV4 {
 
     private Map<String, Object> fields;
 
+    private UUID requestId;
+
     private RequestMessageV4(final Object gremlin, final Map<String, Object> fields) {
         if (null == gremlin) throw new IllegalArgumentException("RequestMessage requires gremlin argument");
         if (!(gremlin instanceof Bytecode || gremlin instanceof String)) {
@@ -62,6 +64,8 @@ public final class RequestMessageV4 {
         }
 
         this.fields.put("gremlinType", gremlinType);
+
+        requestId = UUID.randomUUID();
     }
 
     /**
@@ -71,15 +75,10 @@ public final class RequestMessageV4 {
 
     /**
      * The id of the current request.
-     * used only in GLV, not transmitted to the server.
+     * Used only in GLV, not transmitted to the server.
      */
     public UUID getRequestId() {
-        if (!fields.containsKey(Tokens.REQUEST_ID)) {
-            // just assign random DI for now. It will not be send to server.
-            fields.put(Tokens.REQUEST_ID, UUID.randomUUID());
-        }
-
-        return getField(Tokens.REQUEST_ID);
+        return requestId;
     }
 
     public <T> Optional<T> optionalField(final String key) {
diff --git a/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/message/RequestMessageV4Test.java b/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/message/RequestMessageV4Test.java
index 2626c33b55..de9e243802 100644
--- a/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/message/RequestMessageV4Test.java
+++ b/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/message/RequestMessageV4Test.java
@@ -26,6 +26,7 @@ import java.util.Map;
 import java.util.UUID;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
@@ -156,6 +157,6 @@ public class RequestMessageV4Test {
     @Test
     public void shouldNotContainRequestId() {
         final RequestMessageV4 msg = RequestMessageV4.build("g.V()").create();
-        assertTrue(null == msg.getField(Tokens.REQUEST_ID));
+        assertNull(msg.getField("requestId"));
     }
 }