This is an automated email from the ASF dual-hosted git repository.
xiazcy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/master by this push:
new 56c72f600c CTR make DRC remote traversal request the server to bulk
results by default, and update token naming to be format-consistent
56c72f600c is described below
commit 56c72f600c6e64a32bb5acf6115b29bdced51d17
Author: Yang Xia <[email protected]>
AuthorDate: Tue Nov 26 16:04:39 2024 -0800
CTR make DRC remote traversal request the server to bulk results by
default, and update token naming to be format-consistent
---
.../tinkerpop/gremlin/driver/Channelizer.java | 2 +-
.../apache/tinkerpop/gremlin/driver/Client.java | 2 +-
.../apache/tinkerpop/gremlin/driver/Cluster.java | 24 +++++++++++-----------
.../tinkerpop/gremlin/driver/RequestOptions.java | 24 ++++++++++++----------
.../apache/tinkerpop/gremlin/driver/Settings.java | 6 +++---
.../driver/handler/HttpGremlinRequestEncoder.java | 10 ++++-----
.../tinkerpop/gremlin/driver/SettingsTest.java | 4 ++--
gremlin-python/docker-compose.yml | 2 +-
.../main/python/gremlin_python/driver/client.py | 4 ++--
.../python/gremlin_python/driver/connection.py | 8 ++++----
.../driver/driver_remote_connection.py | 9 +++++---
.../main/python/gremlin_python/driver/request.py | 2 +-
gremlin-python/src/main/python/radish/terrain.py | 4 ++--
.../src/main/python/tests/driver/test_client.py | 9 ++++----
.../tests/driver/test_driver_remote_connection.py | 8 +++++---
.../server/handler/HttpGremlinEndpointHandler.java | 6 +++---
.../gremlin/server/GremlinDriverIntegrateTest.java | 8 +-------
.../gremlin/server/GremlinServerIntegrateTest.java | 22 ++++++++++----------
.../org/apache/tinkerpop/gremlin/util/Tokens.java | 4 ++--
.../gremlin/util/message/RequestMessage.java | 4 ++--
.../ser/AbstractGraphSONMessageSerializerV4.java | 4 ++--
.../util/ser/binary/RequestMessageSerializer.java | 4 ++--
22 files changed, 85 insertions(+), 85 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 1ee56a3aa7..250bbf3eaf 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
@@ -199,7 +199,7 @@ public interface Channelizer extends ChannelHandler {
httpCompressionDecoder = new HttpContentDecompressionHandler();
gremlinRequestEncoder = new
HttpGremlinRequestEncoder(cluster.getSerializer(),
cluster.getRequestInterceptors(),
- cluster.isUserAgentOnConnectEnabled(),
cluster.isBulkingEnabled(), connection.getUri());
+ cluster.isUserAgentOnConnectEnabled(),
cluster.isBulkResultsEnabled(), connection.getUri());
gremlinResponseDecoder = new
HttpGremlinResponseDecoder(cluster.getSerializer());
if (cluster.getIdleConnectionTimeout() > 0) {
final int idleConnectionTimeout = (int)
(cluster.getIdleConnectionTimeout() / 1000);
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 c843fd49c5..188c7e5b99 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
@@ -238,7 +238,7 @@ public abstract class Client {
options.getG().ifPresent(g -> request.addG(g));
options.getLanguage().ifPresent(lang -> request.addLanguage(lang));
options.getMaterializeProperties().ifPresent(mp ->
request.addMaterializeProperties(mp));
- options.getBulked().ifPresent(bulked ->
request.addBulkedResult(Boolean.parseBoolean(bulked)));
+ options.getBulkResults().ifPresent(bulked ->
request.addBulkResults(Boolean.parseBoolean(bulked)));
return submitAsync(request.create());
}
diff --git
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
index 7e5d71cb1c..6b7607be56 100644
---
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
+++
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
@@ -189,7 +189,7 @@ public final class Cluster {
.connectionSetupTimeoutMillis(settings.connectionPool.connectionSetupTimeoutMillis)
.idleConnectionTimeoutMillis(settings.connectionPool.idleConnectionTimeout)
.enableUserAgentOnConnect(settings.enableUserAgentOnConnect)
- .enableBulkedResult(settings.enableBulkedResult)
+ .bulkResults(settings.bulkResults)
.validationRequest(settings.connectionPool.validationRequest);
if (!settings.auth.type.isEmpty()) {
@@ -475,10 +475,10 @@ public final class Cluster {
}
/**
- * Checks if cluster is configured to send bulked results
+ * Checks if cluster is configured to bulk results
*/
- public boolean isBulkingEnabled() {
- return manager.isBulkedResultEnabled();
+ public boolean isBulkResultsEnabled() {
+ return manager.isBulkResultsEnabled();
}
public final static class Builder {
@@ -513,7 +513,7 @@ public final class Cluster {
private long connectionSetupTimeoutMillis =
Connection.CONNECTION_SETUP_TIMEOUT_MILLIS;
private long idleConnectionTimeoutMillis =
Connection.CONNECTION_IDLE_TIMEOUT_MILLIS;
private boolean enableUserAgentOnConnect = true;
- private boolean enableBulkedResult = false;
+ private boolean bulkResults = false;
private Builder() {
addInterceptor(SERIALIZER_INTERCEPTOR_NAME,
@@ -891,10 +891,10 @@ public final class Cluster {
/**
* Configures whether cluster will enable result bulking to optimize
performance.
- * @param enableBulkedResult true enables bulking.
+ * @param bulkResults true enables bulking.
*/
- public Builder enableBulkedResult(final boolean enableBulkedResult) {
- this.enableBulkedResult = enableBulkedResult;
+ public Builder bulkResults(final boolean bulkResults) {
+ this.bulkResults = bulkResults;
return this;
}
@@ -966,7 +966,7 @@ public final class Cluster {
private final int port;
private final String path;
private final boolean enableUserAgentOnConnect;
- private final boolean enableBulkedResult;
+ private final boolean bulkResults;
private final AtomicReference<CompletableFuture<Void>> closeFuture =
new AtomicReference<>();
@@ -979,7 +979,7 @@ public final class Cluster {
this.contactPoints = builder.getContactPoints();
this.interceptors = builder.interceptors;
this.enableUserAgentOnConnect = builder.enableUserAgentOnConnect;
- this.enableBulkedResult = builder.enableBulkedResult;
+ this.bulkResults = builder.bulkResults;
connectionPoolSettings = new Settings.ConnectionPoolSettings();
connectionPoolSettings.maxSize = builder.maxConnectionPoolSize;
@@ -1147,8 +1147,8 @@ public final class Cluster {
/**
* Checks if cluster is configured to send bulked results
*/
- public boolean isBulkedResultEnabled() {
- return enableBulkedResult;
+ public boolean isBulkResultsEnabled() {
+ return bulkResults;
}
}
}
diff --git
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/RequestOptions.java
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/RequestOptions.java
index f5e8fcfef9..a7fc2a2d40 100644
---
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/RequestOptions.java
+++
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/RequestOptions.java
@@ -28,7 +28,7 @@ import java.util.Map;
import java.util.Optional;
import static org.apache.tinkerpop.gremlin.util.Tokens.ARGS_BATCH_SIZE;
-import static org.apache.tinkerpop.gremlin.util.Tokens.BULKED;
+import static org.apache.tinkerpop.gremlin.util.Tokens.BULK_RESULTS;
import static org.apache.tinkerpop.gremlin.util.Tokens.ARGS_EVAL_TIMEOUT;
import static org.apache.tinkerpop.gremlin.util.Tokens.ARGS_G;
import static org.apache.tinkerpop.gremlin.util.Tokens.ARGS_LANGUAGE;
@@ -49,7 +49,7 @@ public final class RequestOptions {
private final Long timeout;
private final String language;
private final String materializeProperties;
- private final String bulkedResult;
+ private final String bulkResults;
private RequestOptions(final Builder builder) {
this.graphOrTraversalSource = builder.graphOrTraversalSource;
@@ -58,7 +58,7 @@ public final class RequestOptions {
this.timeout = builder.timeout;
this.language = builder.language;
this.materializeProperties = builder.materializeProperties;
- this.bulkedResult = builder.bulkedResult;
+ this.bulkResults = builder.bulkResults;
}
public Optional<String> getG() {
@@ -83,7 +83,7 @@ public final class RequestOptions {
public Optional<String> getMaterializeProperties() { return
Optional.ofNullable(materializeProperties); }
- public Optional<String> getBulked() { return
Optional.ofNullable(bulkedResult); }
+ public Optional<String> getBulkResults() { return
Optional.ofNullable(bulkResults); }
public static Builder build() {
return new Builder();
@@ -103,10 +103,12 @@ public final class RequestOptions {
builder.materializeProperties((String)
options.get(ARGS_MATERIALIZE_PROPERTIES));
if (options.containsKey(ARGS_LANGUAGE))
builder.language((String) options.get(ARGS_LANGUAGE));
- if (options.containsKey(BULKED))
- builder.withBulkedResult((boolean) options.get(BULKED));
-
+ if (options.containsKey(BULK_RESULTS))
+ builder.bulkResults((boolean) options.get(BULK_RESULTS));
}
+ // request the server to bulk results by default when using DRC
through request options
+ if (builder.bulkResults == null)
+ builder.bulkResults(true);
final Map<String, Object> parameters = gremlinLang.getParameters();
if (parameters != null && !parameters.isEmpty()) {
@@ -122,7 +124,7 @@ public final class RequestOptions {
private Long timeout = null;
private String materializeProperties = null;
private String language = null;
- private String bulkedResult;
+ private String bulkResults = null;
/**
* The aliases to set on the request.
@@ -187,10 +189,10 @@ public final class RequestOptions {
}
/**
- * Enables or disables bulked result on the server.
+ * Sets the bulkResults flag to be sent on the request. A value of
turn will enable server to bulk results.
*/
- public Builder withBulkedResult(final boolean bulked) {
- this.bulkedResult = String.valueOf(bulked);
+ public Builder bulkResults(final boolean bulking) {
+ this.bulkResults = String.valueOf(bulking);
return this;
}
diff --git
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
index f8c2c24149..314894ce8f 100644
---
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
+++
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
@@ -93,7 +93,7 @@ public final class Settings {
/**
* Toggles if result from server is bulked. Default is false.
*/
- public boolean enableBulkedResult = false;
+ public boolean bulkResults = false;
/**
* Read configuration from a file into a new {@link Settings} object.
@@ -132,8 +132,8 @@ public final class Settings {
if (conf.containsKey("enableUserAgentOnConnect"))
settings.enableUserAgentOnConnect =
conf.getBoolean("enableUserAgentOnConnect");
- if (conf.containsKey("enableBulkedResult"))
- settings.enableBulkedResult =
conf.getBoolean("enableBulkedResult");
+ if (conf.containsKey("bulkResults"))
+ settings.bulkResults = conf.getBoolean("bulkResults");
if (conf.containsKey("hosts"))
settings.hosts =
conf.getList("hosts").stream().map(Object::toString).collect(Collectors.toList());
diff --git
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/HttpGremlinRequestEncoder.java
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/HttpGremlinRequestEncoder.java
index d5e49bcb46..9c75d41a6e 100644
---
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/HttpGremlinRequestEncoder.java
+++
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/HttpGremlinRequestEncoder.java
@@ -56,17 +56,17 @@ public final class HttpGremlinRequestEncoder extends
MessageToMessageEncoder<Req
private final MessageSerializer<?> serializer;
private final boolean userAgentEnabled;
- private final boolean bulkedResultEnabled;
+ private final boolean bulkResults;
private final List<Pair<String, ? extends RequestInterceptor>>
interceptors;
private final URI uri;
public HttpGremlinRequestEncoder(final MessageSerializer<?> serializer,
final List<Pair<String, ? extends
RequestInterceptor>> interceptors,
- final boolean userAgentEnabled, boolean
bulkedResultEnabled, final URI uri) {
+ final boolean userAgentEnabled, boolean
bulkResults, final URI uri) {
this.serializer = serializer;
this.interceptors = interceptors;
this.userAgentEnabled = userAgentEnabled;
- this.bulkedResultEnabled = bulkedResultEnabled;
+ this.bulkResults = bulkResults;
this.uri = uri;
}
@@ -88,8 +88,8 @@ public final class HttpGremlinRequestEncoder extends
MessageToMessageEncoder<Req
if (userAgentEnabled) {
headersMap.put(HttpRequest.Headers.USER_AGENT,
UserAgent.USER_AGENT);
}
- if (bulkedResultEnabled) {
- headersMap.put(Tokens.BULKED, "true");
+ if (bulkResults) {
+ headersMap.put(Tokens.BULK_RESULTS, "true");
}
HttpRequest gremlinRequest = new HttpRequest(headersMap,
requestMessage, uri);
diff --git
a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/SettingsTest.java
b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/SettingsTest.java
index 82b5c2fc99..0416bfab49 100644
---
a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/SettingsTest.java
+++
b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/SettingsTest.java
@@ -47,7 +47,7 @@ public class SettingsTest {
conf.setProperty("serializer.className",
"my.serializers.MySerializer");
conf.setProperty("serializer.config.any", "thing");
conf.setProperty("enableUserAgentOnConnect", false);
- conf.setProperty("enableBulkedResult", true);
+ conf.setProperty("bulkResults", true);
conf.setProperty("connectionPool.enableSsl", true);
conf.setProperty("connectionPool.keyStore", "server.jks");
conf.setProperty("connectionPool.keyStorePassword", "password2");
@@ -84,7 +84,7 @@ public class SettingsTest {
assertEquals("my.serializers.MySerializer",
settings.serializer.className);
assertEquals("thing", settings.serializer.config.get("any"));
assertEquals(false, settings.enableUserAgentOnConnect);
- assertTrue(settings.enableBulkedResult);
+ assertTrue(settings.bulkResults);
assertThat(settings.connectionPool.enableSsl, is(true));
assertEquals("server.jks", settings.connectionPool.keyStore);
assertEquals("password2", settings.connectionPool.keyStorePassword);
diff --git a/gremlin-python/docker-compose.yml
b/gremlin-python/docker-compose.yml
index b912c907cc..7a981e4fc4 100644
--- a/gremlin-python/docker-compose.yml
+++ b/gremlin-python/docker-compose.yml
@@ -63,7 +63,7 @@ services:
&& python3 ./setup.py build
&& python3 ./setup.py test
&& python3 ./setup.py install
- && radish -f dots -e -t -b ./radish ./gremlin-test
--user-data='serializer=application/vnd.graphbinary-v4.0'
--user-data='bulked=true'
+ && radish -f dots -e -t -b ./radish ./gremlin-test
--user-data='serializer=application/vnd.graphbinary-v4.0'
--user-data='bulking=true'
&& radish -f dots -e -t -b ./radish ./gremlin-test
--user-data='serializer=application/vnd.graphbinary-v4.0'
&& radish -f dots -e -t -b ./radish ./gremlin-test
--user-data='serializer=application/vnd.gremlin-v4.0+json';
EXIT_CODE=$$?; chown -R `stat -c "%u:%g" .` .; exit $$EXIT_CODE"
diff --git a/gremlin-python/src/main/python/gremlin_python/driver/client.py
b/gremlin-python/src/main/python/gremlin_python/driver/client.py
index 8f948b18a0..68a4aa057d 100644
--- a/gremlin-python/src/main/python/gremlin_python/driver/client.py
+++ b/gremlin-python/src/main/python/gremlin_python/driver/client.py
@@ -44,14 +44,14 @@ class Client:
request_serializer=serializer.GraphBinarySerializersV4(),
response_serializer=None, interceptors=None, auth=None,
headers=None, enable_user_agent_on_connect=True,
- enable_bulked_result=False, **transport_kwargs):
+ bulk_results=False, **transport_kwargs):
log.info("Creating Client with url '%s'", url)
self._closed = False
self._url = url
self._headers = headers
self._enable_user_agent_on_connect = enable_user_agent_on_connect
- self._enable_bulked_result = enable_bulked_result
+ self._bulk_results = bulk_results
self._traversal_source = traversal_source
if "max_content_length" not in transport_kwargs:
transport_kwargs["max_content_length"] = 10 * 1024 * 1024
diff --git a/gremlin-python/src/main/python/gremlin_python/driver/connection.py
b/gremlin-python/src/main/python/gremlin_python/driver/connection.py
index 79b688e89b..7c64ee8f49 100644
--- a/gremlin-python/src/main/python/gremlin_python/driver/connection.py
+++ b/gremlin-python/src/main/python/gremlin_python/driver/connection.py
@@ -26,7 +26,7 @@ class Connection:
def __init__(self, url, traversal_source, protocol, transport_factory,
executor, pool, headers=None,
enable_user_agent_on_connect=True,
- enable_bulked_result=False):
+ bulk_results=False):
self._url = url
self._headers = headers
self._traversal_source = traversal_source
@@ -40,9 +40,9 @@ class Connection:
self._enable_user_agent_on_connect = enable_user_agent_on_connect
if self._enable_user_agent_on_connect:
self.__add_header(useragent.userAgentHeader, useragent.userAgent)
- self._enable_bulked_result = enable_bulked_result
- if self._enable_bulked_result:
- self.__add_header("bulked", "true")
+ self._bulk_results = bulk_results
+ if self._bulk_results:
+ self.__add_header("bulkResults", "true")
def connect(self):
if self._transport:
diff --git
a/gremlin-python/src/main/python/gremlin_python/driver/driver_remote_connection.py
b/gremlin-python/src/main/python/gremlin_python/driver/driver_remote_connection.py
index b32d8f7ad0..58dd12da23 100644
---
a/gremlin-python/src/main/python/gremlin_python/driver/driver_remote_connection.py
+++
b/gremlin-python/src/main/python/gremlin_python/driver/driver_remote_connection.py
@@ -36,7 +36,7 @@ class DriverRemoteConnection(RemoteConnection):
request_serializer=serializer.GraphBinarySerializersV4(),
response_serializer=None, interceptors=None, auth=None,
headers=None, enable_user_agent_on_connect=True,
- enable_bulked_result=False, **transport_kwargs):
+ bulk_results=False, **transport_kwargs):
log.info("Creating DriverRemoteConnection with url '%s'", str(url))
self.__url = url
self.__traversal_source = traversal_source
@@ -47,7 +47,7 @@ class DriverRemoteConnection(RemoteConnection):
self.__auth = auth
self.__headers = headers
self.__enable_user_agent_on_connect = enable_user_agent_on_connect
- self.__enable_bulked_result = enable_bulked_result
+ self.__bulk_results = bulk_results
self.__transport_kwargs = transport_kwargs
if response_serializer is None:
@@ -62,7 +62,7 @@ class DriverRemoteConnection(RemoteConnection):
interceptors=interceptors, auth=auth,
headers=headers,
enable_user_agent_on_connect=enable_user_agent_on_connect,
- enable_bulked_result=enable_bulked_result,
+ bulk_results=bulk_results,
**transport_kwargs)
self._url = self._client._url
self._traversal_source = self._client._traversal_source
@@ -123,6 +123,9 @@ class DriverRemoteConnection(RemoteConnection):
for os in gremlin_lang.options_strategies:
request_options.update({token: os.configuration[token] for token
in Tokens
if token in os.configuration})
+ # request the server to bulk results by default when using drc through
request options
+ if 'bulkResults' not in request_options:
+ request_options['bulkResults'] = True
if gremlin_lang.parameters is not None and
len(gremlin_lang.parameters) > 0:
request_options["params"] = gremlin_lang.parameters
diff --git a/gremlin-python/src/main/python/gremlin_python/driver/request.py
b/gremlin-python/src/main/python/gremlin_python/driver/request.py
index db524d6642..37b0415565 100644
--- a/gremlin-python/src/main/python/gremlin_python/driver/request.py
+++ b/gremlin-python/src/main/python/gremlin_python/driver/request.py
@@ -24,4 +24,4 @@ RequestMessage = collections.namedtuple(
'RequestMessage', ['fields', 'gremlin'])
Tokens = ['batchSize', 'bindings', 'g', 'gremlin', 'language',
- 'evaluationTimeout', 'materializeProperties', 'timeoutMs',
'userAgent', 'bulked']
+ 'evaluationTimeout', 'materializeProperties', 'timeoutMs',
'userAgent', 'bulkResults']
diff --git a/gremlin-python/src/main/python/radish/terrain.py
b/gremlin-python/src/main/python/radish/terrain.py
index f341106467..d7d58e6c83 100644
--- a/gremlin-python/src/main/python/radish/terrain.py
+++ b/gremlin-python/src/main/python/radish/terrain.py
@@ -101,8 +101,8 @@ def __create_remote(server_graph_name):
else:
raise ValueError('serializer not found - ' +
world.config.user_data["serializer"])
- bulked = world.config.user_data["bulked"] == "true" if "bulked" in
world.config.user_data else False
+ bulking = world.config.user_data["bulking"] == "true" if "bulking" in
world.config.user_data else False
return DriverRemoteConnection(test_no_auth_url, server_graph_name,
request_serializer=s, response_serializer=s,
- enable_bulked_result=bulked)
+ bulk_results=bulking)
diff --git a/gremlin-python/src/main/python/tests/driver/test_client.py
b/gremlin-python/src/main/python/tests/driver/test_client.py
index 4b6a9ad11b..462d40288a 100644
--- a/gremlin-python/src/main/python/tests/driver/test_client.py
+++ b/gremlin-python/src/main/python/tests/driver/test_client.py
@@ -23,7 +23,6 @@ import uuid
import pytest
from gremlin_python.driver.client import Client
-from gremlin_python.driver.driver_remote_connection import
DriverRemoteConnection
from gremlin_python.driver.protocol import GremlinServerError
from gremlin_python.driver.request import RequestMessage
from gremlin_python.driver.serializer import GraphBinarySerializersV4
@@ -266,7 +265,7 @@ def
test_client_gremlin_lang_request_options_with_binding(client):
g = GraphTraversalSource(Graph(), TraversalStrategies())
# Note that bindings for constructed traversals is done via Parameter only
t = g.with_('language', 'gremlin-lang').V(Parameter.var('x', [1, 2,
3])).count()
- request_opts =
DriverRemoteConnection.extract_request_options(t.gremlin_lang)
+ request_opts = {'language': 'gremlin-lang', 'params': {'x': [1, 2, 3]}}
message = create_basic_request_message(t)
result_set = client.submit(message, request_options=request_opts)
assert result_set.all().result()[0] == 3
@@ -381,7 +380,7 @@ def test_multi_thread_pool(client):
def test_client_gremlin_lang_with_short(client):
g = GraphTraversalSource(Graph(), TraversalStrategies())
t = g.with_('language', 'gremlin-lang').V().has('age', short(16)).count()
- request_opts =
DriverRemoteConnection.extract_request_options(t.gremlin_lang)
+ request_opts = {'language': 'gremlin-lang'}
message = create_basic_request_message(t)
result_set = client.submit(message, request_options=request_opts)
results = []
@@ -393,7 +392,7 @@ def test_client_gremlin_lang_with_short(client):
def test_client_gremlin_lang_with_long(client):
g = GraphTraversalSource(Graph(), TraversalStrategies())
t = g.V().has('age', long(851401972585122)).count()
- request_opts =
DriverRemoteConnection.extract_request_options(t.gremlin_lang)
+ request_opts = {}
message = create_basic_request_message(t)
result_set = client.submit(message, request_options=request_opts)
results = []
@@ -405,7 +404,7 @@ def test_client_gremlin_lang_with_long(client):
def test_client_gremlin_lang_with_bigint(client):
g = GraphTraversalSource(Graph(), TraversalStrategies())
t = g.with_('language', 'gremlin-lang').V().has('age',
bigint(0x1000_0000_0000_0000_0000)).count()
- request_opts =
DriverRemoteConnection.extract_request_options(t.gremlin_lang)
+ request_opts = {'language': 'gremlin-lang'}
message = create_basic_request_message(t)
result_set = client.submit(message, request_options=request_opts)
results = []
diff --git
a/gremlin-python/src/main/python/tests/driver/test_driver_remote_connection.py
b/gremlin-python/src/main/python/tests/driver/test_driver_remote_connection.py
index 86d6445316..1d4db05c44 100644
---
a/gremlin-python/src/main/python/tests/driver/test_driver_remote_connection.py
+++
b/gremlin-python/src/main/python/tests/driver/test_driver_remote_connection.py
@@ -97,18 +97,19 @@ class TestDriverRemoteConnection(object):
results = g.V().has('person', 'name',
'marko').both('knows').group_count().by(__.values('name').fold()).next()
assert {tuple(['vadas']): 1, tuple(['josh']): 1} == results
- def test_bulked_request_option(self, remote_connection):
+ def test_bulk_request_option(self, remote_connection):
g = traversal().with_(remote_connection)
result = g.inject(1,2,3,2,1).to_list()
assert 5 == len(result)
- bulked_results = g.with_("language", "gremlin-lang").with_("bulked",
True).inject(1,2,3,2,1).to_list()
+ bulked_results = g.with_("language",
"gremlin-lang").with_("bulkResults", True).inject(1,2,3,2,1).to_list()
assert 5 == len(bulked_results)
def test_extract_request_options(self, remote_connection):
g = traversal().with_(remote_connection)
t = g.with_("evaluationTimeout", 1000).with_("batchSize",
100).V().count()
assert remote_connection.extract_request_options(t.gremlin_lang) ==
{'batchSize': 100,
-
'evaluationTimeout': 1000}
+
'evaluationTimeout': 1000,
+
'bulkResults': True}
assert 6 == t.to_list()[0]
def test_extract_request_options_with_params(self, remote_connection):
@@ -119,6 +120,7 @@ class TestDriverRemoteConnection(object):
assert remote_connection.extract_request_options(t.gremlin_lang) ==
{'batchSize': 100,
'evaluationTimeout': 1000,
'userAgent': 'test',
+
'bulkResults': True,
'params': {'ids': [1, 2, 3]}}
assert 3 == t.to_list()[0]
diff --git
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpGremlinEndpointHandler.java
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpGremlinEndpointHandler.java
index 9aa0fa4f87..ad699af1d3 100644
---
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpGremlinEndpointHandler.java
+++
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpGremlinEndpointHandler.java
@@ -314,12 +314,12 @@ public class HttpGremlinEndpointHandler extends
SimpleChannelInboundHandler<Requ
final Bindings mergedBindings = mergeBindingsFromRequest(context, new
SimpleBindings(graphManager.getAsBindings()));
final Object result = scriptEngine.eval(message.getGremlin(),
mergedBindings);
- final String bulkingSetting =
context.getChannelHandlerContext().channel().attr(StateKey.REQUEST_HEADERS).get().get(Tokens.BULKED);
+ final String bulkingSetting =
context.getChannelHandlerContext().channel().attr(StateKey.REQUEST_HEADERS).get().get(Tokens.BULK_RESULTS);
// bulking only applies if it's gremlin-lang, and per request token
setting takes precedence over header setting.
// The serializer check is temporarily needed because GraphSON hasn't
been removed yet and doesn't support bulking.
final boolean bulking = language.equals("gremlin-lang") && serializer
instanceof GraphBinaryMessageSerializerV4 ?
- (args.containsKey(Tokens.BULKED) ?
- Objects.equals(args.get(Tokens.BULKED), "true") :
+ (args.containsKey(Tokens.BULK_RESULTS) ?
+ Objects.equals(args.get(Tokens.BULK_RESULTS), "true") :
Objects.equals(bulkingSetting, "true")) :
false;
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 acb411a9d0..aec85fe285 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
@@ -19,15 +19,11 @@
package org.apache.tinkerpop.gremlin.server;
import ch.qos.logback.classic.Level;
-import io.netty.buffer.ByteBuf;
-import io.netty.buffer.ByteBufAllocator;
-import io.netty.buffer.ByteBufUtil;
import io.netty.handler.codec.http.HttpResponseStatus;
import nl.altindag.log.LogCaptor;
import org.apache.tinkerpop.gremlin.TestHelper;
import org.apache.tinkerpop.gremlin.driver.Client;
import org.apache.tinkerpop.gremlin.driver.Cluster;
-import org.apache.tinkerpop.gremlin.driver.HttpRequest;
import org.apache.tinkerpop.gremlin.driver.RequestOptions;
import org.apache.tinkerpop.gremlin.driver.Result;
import org.apache.tinkerpop.gremlin.driver.ResultSet;
@@ -40,10 +36,8 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.io.Storage;
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
import org.apache.tinkerpop.gremlin.util.ExceptionHelper;
-import org.apache.tinkerpop.gremlin.util.MessageSerializer;
import org.apache.tinkerpop.gremlin.util.TimeUtil;
import org.apache.tinkerpop.gremlin.util.function.FunctionUtils;
-import org.apache.tinkerpop.gremlin.util.message.RequestMessage;
import org.apache.tinkerpop.gremlin.util.ser.GraphBinaryMessageSerializerV4;
import org.apache.tinkerpop.gremlin.util.ser.GraphSONMessageSerializerV4;
import org.apache.tinkerpop.gremlin.util.ser.Serializers;
@@ -220,7 +214,7 @@ public class GremlinDriverIntegrateTest extends
AbstractGremlinServerIntegration
final RequestOptions ro = RequestOptions.build()
.addG("gmodern")
.language("gremlin-lang")
- .withBulkedResult(true)
+ .bulkResults(true)
.create();
assertEquals(6, client.submit("g.V()", ro).all().get().size());
} finally {
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 a8a17f3c3f..92ffdba99f 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
@@ -991,22 +991,22 @@ public class GremlinServerIntegrateTest extends
AbstractGremlinServerIntegration
}
@Test
- public void shouldEnableBulkedResultWithClusterOptions() {
- final Cluster cluster =
TestClientFactory.build().enableBulkedResult(true).create();
+ public void shouldBulkResultsWithClusterOptions() {
+ final Cluster cluster =
TestClientFactory.build().bulkResults(true).create();
try {
final GraphTraversalSource g =
traversal().with(DriverRemoteConnection.using(cluster));
final List resultBulked = g.with("language",
"gremlin-lang").inject(1, 2, 3, 2, 1).toList();
- assertTrue(cluster.isBulkingEnabled());
+ assertTrue(cluster.isBulkResultsEnabled());
assertEquals(5, resultBulked.size());
// the result itself should not be affected by bulking through the
wire
- final List result = g.with("language",
"gremlin-lang").with("bulked", false).inject(1, 2, 3, 2, 1).toList();
+ final List result = g.with("language",
"gremlin-lang").with("bulkResults", false).inject(1, 2, 3, 2, 1).toList();
assertEquals(5, result.size());
- assertTrue(cluster.isBulkingEnabled());
+ assertTrue(cluster.isBulkResultsEnabled());
// the result itself should not be affected by bulking through the
wire
- final List resultBulked2 = g.with("language",
"gremlin-lang").with("bulked", true).inject(1, 2, 3, 2, 1).toList();
+ final List resultBulked2 = g.with("language",
"gremlin-lang").with("bulkResults", true).inject(1, 2, 3, 2, 1).toList();
assertEquals(5, resultBulked2.size());
} finally {
@@ -1015,22 +1015,22 @@ public class GremlinServerIntegrateTest extends
AbstractGremlinServerIntegration
}
@Test
- public void shouldEnableBulkedResultWithRequestOptions() {
+ public void shouldBulkResultsWithRequestOptions() {
final Cluster cluster = TestClientFactory.build().create();
try {
final GraphTraversalSource g =
traversal().with(DriverRemoteConnection.using(cluster));
final List result = g.inject(1, 2, 3, 2, 1).toList();
assertEquals(5, result.size());
- assertFalse(cluster.isBulkingEnabled());
+ assertFalse(cluster.isBulkResultsEnabled());
// the result itself should not be affected by bulking through the
wire
- final List resultBulked = g.with("language",
"gremlin-lang").with("bulked", true).inject(1, 2, 3, 2, 1).toList();
+ final List resultBulked = g.with("language",
"gremlin-lang").with("bulkResults", true).inject(1, 2, 3, 2, 1).toList();
assertEquals(5, resultBulked.size());
- assertFalse(cluster.isBulkingEnabled());
+ assertFalse(cluster.isBulkResultsEnabled());
// the result itself should not be affected by bulking through the
wire
- final List result2 = g.with("language",
"gremlin-lang").with("bulked", false).inject(1, 2, 3, 2, 1).toList();
+ final List result2 = g.with("language",
"gremlin-lang").with("bulkResults", false).inject(1, 2, 3, 2, 1).toList();
assertEquals(5, result2.size());
} finally {
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 d1eba60985..10832f7be6 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
@@ -87,9 +87,9 @@ public final class Tokens {
public static final String TIMEOUT_MS = "timeoutMs";
/**
- * The key for turning on bulked result optimization for driver requests.
+ * The key for server to bulk result as a form of optimization for driver
requests.
*/
- public static final String BULKED = "bulked";
+ public static final String BULK_RESULTS = "bulkResults";
/**
* A value that is a custom string that the user can pass to a server that
might accept it for purpose of
diff --git
a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/RequestMessage.java
b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/RequestMessage.java
index 31c10ade67..2b99204a43 100644
---
a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/RequestMessage.java
+++
b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/RequestMessage.java
@@ -161,8 +161,8 @@ public final class RequestMessage {
return this;
}
- public Builder addBulkedResult(final boolean bulked) {
- this.fields.put(Tokens.BULKED, String.valueOf(bulked));
+ public Builder addBulkResults(final boolean bulking) {
+ this.fields.put(Tokens.BULK_RESULTS, String.valueOf(bulking));
return this;
}
diff --git
a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/AbstractGraphSONMessageSerializerV4.java
b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/AbstractGraphSONMessageSerializerV4.java
index 5bca08ebcf..1fc564b7b9 100644
---
a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/AbstractGraphSONMessageSerializerV4.java
+++
b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/AbstractGraphSONMessageSerializerV4.java
@@ -335,8 +335,8 @@ public abstract class AbstractGraphSONMessageSerializerV4
extends AbstractMessag
if (data.containsKey(Tokens.ARGS_BATCH_SIZE)) {
builder.addChunkSize((int) data.get(Tokens.ARGS_BATCH_SIZE));
}
- if (data.containsKey(Tokens.BULKED)) {
-
builder.addBulkedResult(Boolean.parseBoolean(data.get(Tokens.BULKED).toString()));
+ if (data.containsKey(Tokens.BULK_RESULTS)) {
+
builder.addBulkResults(Boolean.parseBoolean(data.get(Tokens.BULK_RESULTS).toString()));
}
return builder.create();
diff --git
a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/binary/RequestMessageSerializer.java
b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/binary/RequestMessageSerializer.java
index 986dbc8479..5b2ead6c64 100644
---
a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/binary/RequestMessageSerializer.java
+++
b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/binary/RequestMessageSerializer.java
@@ -70,8 +70,8 @@ public class RequestMessageSerializer {
if (fields.containsKey(Tokens.ARGS_BATCH_SIZE)) {
builder.addChunkSize((int) fields.get(Tokens.ARGS_BATCH_SIZE));
}
- if (fields.containsKey(Tokens.BULKED)) {
-
builder.addBulkedResult(Boolean.parseBoolean(fields.get(Tokens.BULKED).toString()));
+ if (fields.containsKey(Tokens.BULK_RESULTS)) {
+
builder.addBulkResults(Boolean.parseBoolean(fields.get(Tokens.BULK_RESULTS).toString()));
}
return builder.create();