Merge branch 'tp33'
Conflicts:
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9357d6a1
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9357d6a1
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9357d6a1
Branch: refs/heads/TINKERPOP-1967
Commit: 9357d6a1fd91cac4bd7149b94ed757399aa810a4
Parents: 1e8baec fa7a7f6
Author: Stephen Mallette
Authored: Tue Aug 7 12:54:18 2018 -0400
Committer: Stephen Mallette
Committed: Tue Aug 7 12:54:18 2018 -0400
--
CHANGELOG.asciidoc | 1 +
.../driver/message/ResponseStatusCode.java | 7 +
.../driver/message/ResponseStatusCodeTest.java | 36 +
.../gremlin/server/ResponseHandlerContext.java | 85 +++
.../server/op/AbstractEvalOpProcessor.java | 38 -
.../gremlin/server/op/AbstractOpProcessor.java | 34 -
.../AbstractGremlinServerIntegrationTest.java | 20 ++-
.../server/GremlinServerIntegrateTest.java | 51 +++
.../server/ResponseHandlerContextTest.java | 143 +++
.../server/op/AbstractEvalOpProcessorTest.java | 62
.../server/op/AbstractOpProcessorTest.java | 53 +++
11 files changed, 515 insertions(+), 15 deletions(-)
--
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9357d6a1/CHANGELOG.asciidoc
--
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9357d6a1/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java
--
diff --cc
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java
index bb368c5,38ca3e1..331b762
---
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java
+++
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java
@@@ -66,8 -72,20 +67,20 @@@ public abstract class AbstractOpProcess
*
* @param context The Gremlin Server {@link Context} object containing
settings, request message, etc.
* @param itty The result to iterator
+ * @throws TimeoutException if the time taken to serialize the entire
result set exceeds the allowable time.
+ * @see #handleIterator(ResponseHandlerContext, Iterator)
*/
-protected void handleIterator(final Context context, final Iterator itty)
throws TimeoutException, InterruptedException {
+protected void handleIterator(final Context context, final Iterator itty)
throws InterruptedException {
+ handleIterator(new ResponseHandlerContext(context), itty);
+ }
+
+ /**
+ * A variant of {@link #handleIterator(Context, Iterator)} that is
suitable for use in situations when multiple
+ * threads may produce {@link ResponseStatusCode#isFinalResponse() final}
response messages concurrently.
+ * @see #handleIterator(Context, Iterator)
+ */
-protected void handleIterator(final ResponseHandlerContext rhc, final
Iterator itty) throws TimeoutException, InterruptedException {
++protected void handleIterator(final ResponseHandlerContext rhc, final
Iterator itty) throws InterruptedException {
+ final Context context = rhc.getContext();
final ChannelHandlerContext ctx = context.getChannelHandlerContext();
final RequestMessage msg = context.getRequestMessage();
final Settings settings = context.getSettings();
@@@ -228,9 -261,32 +241,22 @@@
return Collections.emptyMap();
}
+ /**
- * @deprecated As of release 3.2.2, replaced by {@link
#makeFrame(ChannelHandlerContext, RequestMessage, MessageSerializer, boolean,
List, ResponseStatusCode, Map)}.
- */
-@Deprecated
-protected static Frame makeFrame(final ChannelHandlerContext ctx, final
RequestMessage msg,
- final MessageSerializer serializer,
final boolean useBinary, final List aggregate,
- final ResponseStatusCode code) throws
Exception {
-return makeFrame(ctx, msg, serializer, useBinary, aggregate, code,
Collections.emptyMap());
-}
-
-/**
+ * Caution: {@link #makeFrame(ResponseHandlerContext, RequestMessage,
MessageSerializer, boolean, List, ResponseStatusCode, Map)}
+ * should be used instead of this method whenever a {@link
ResponseHandlerContext} is available.
+ */
protected static Frame makeFrame(final ChannelHandlerContext ctx, final
RequestMessage msg,
- final MessageSerializer serializer, final
boolean useBinary,