[01/14] tinkerpop git commit: Don't use recursive calls for streaming response [Forced Update!]

2018-05-21 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1963 96072c7bc -> f4a7097b7 (forced update)


Don't use recursive calls for streaming response


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4c8717dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4c8717dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4c8717dd

Branch: refs/heads/TINKERPOP-1963
Commit: 4c8717dd4e94ec248a959911d8c11f3b45b2d7b3
Parents: 268423d
Author: davebshow 
Authored: Mon Apr 23 16:21:48 2018 -0700
Committer: davebshow 
Committed: Mon Apr 23 16:21:48 2018 -0700

--
 .../src/main/jython/gremlin_python/driver/connection.py  | 7 +--
 .../src/main/jython/gremlin_python/driver/protocol.py| 8 
 2 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
index abc4545..bff1904 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
@@ -73,6 +73,9 @@ class Connection:
 return future
 
 def _receive(self):
-data = self._transport.read()
-self._protocol.data_received(data, self._results)
+while True:
+data = self._transport.read()
+status_code = self._protocol.data_received(data, self._results)
+if status_code != 206:
+break
 self._pool.put_nowait(self)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
index 84a7d82..2fc7c1b 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
@@ -80,21 +80,21 @@ class GremlinServerWSProtocol(AbstractBaseProtocol):
 {'sasl': base64.b64encode(auth).decode()})
 self.write(request_id, request_message)
 data = self._transport.read()
+# Allow recursive call for auth
 self.data_received(data, results_dict)
 elif status_code == 204:
 result_set.stream.put_nowait([])
 del results_dict[request_id]
+return status_code
 elif status_code in [200, 206]:
 results = []
 for msg in data["result"]["data"]:
 results.append(
 self._message_serializer.deserialize_message(msg))
 result_set.stream.put_nowait(results)
-if status_code == 206:
-data = self._transport.read()
-self.data_received(data, results_dict)
-else:
+if status_code == 200:
 del results_dict[request_id]
+return status_code
 else:
 del results_dict[request_id]
 raise GremlinServerError(



[03/50] tinkerpop git commit: Don't use recursive calls for streaming response

2018-05-19 Thread florianhockmann
Don't use recursive calls for streaming response


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4c8717dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4c8717dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4c8717dd

Branch: refs/heads/TINKERPOP-1897
Commit: 4c8717dd4e94ec248a959911d8c11f3b45b2d7b3
Parents: 268423d
Author: davebshow 
Authored: Mon Apr 23 16:21:48 2018 -0700
Committer: davebshow 
Committed: Mon Apr 23 16:21:48 2018 -0700

--
 .../src/main/jython/gremlin_python/driver/connection.py  | 7 +--
 .../src/main/jython/gremlin_python/driver/protocol.py| 8 
 2 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
index abc4545..bff1904 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
@@ -73,6 +73,9 @@ class Connection:
 return future
 
 def _receive(self):
-data = self._transport.read()
-self._protocol.data_received(data, self._results)
+while True:
+data = self._transport.read()
+status_code = self._protocol.data_received(data, self._results)
+if status_code != 206:
+break
 self._pool.put_nowait(self)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
index 84a7d82..2fc7c1b 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
@@ -80,21 +80,21 @@ class GremlinServerWSProtocol(AbstractBaseProtocol):
 {'sasl': base64.b64encode(auth).decode()})
 self.write(request_id, request_message)
 data = self._transport.read()
+# Allow recursive call for auth
 self.data_received(data, results_dict)
 elif status_code == 204:
 result_set.stream.put_nowait([])
 del results_dict[request_id]
+return status_code
 elif status_code in [200, 206]:
 results = []
 for msg in data["result"]["data"]:
 results.append(
 self._message_serializer.deserialize_message(msg))
 result_set.stream.put_nowait(results)
-if status_code == 206:
-data = self._transport.read()
-self.data_received(data, results_dict)
-else:
+if status_code == 200:
 del results_dict[request_id]
+return status_code
 else:
 del results_dict[request_id]
 raise GremlinServerError(



[02/30] tinkerpop git commit: Don't use recursive calls for streaming response

2018-05-18 Thread spmallette
Don't use recursive calls for streaming response


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4c8717dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4c8717dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4c8717dd

Branch: refs/heads/TINKERPOP-1595
Commit: 4c8717dd4e94ec248a959911d8c11f3b45b2d7b3
Parents: 268423d
Author: davebshow 
Authored: Mon Apr 23 16:21:48 2018 -0700
Committer: davebshow 
Committed: Mon Apr 23 16:21:48 2018 -0700

--
 .../src/main/jython/gremlin_python/driver/connection.py  | 7 +--
 .../src/main/jython/gremlin_python/driver/protocol.py| 8 
 2 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
index abc4545..bff1904 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
@@ -73,6 +73,9 @@ class Connection:
 return future
 
 def _receive(self):
-data = self._transport.read()
-self._protocol.data_received(data, self._results)
+while True:
+data = self._transport.read()
+status_code = self._protocol.data_received(data, self._results)
+if status_code != 206:
+break
 self._pool.put_nowait(self)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
index 84a7d82..2fc7c1b 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
@@ -80,21 +80,21 @@ class GremlinServerWSProtocol(AbstractBaseProtocol):
 {'sasl': base64.b64encode(auth).decode()})
 self.write(request_id, request_message)
 data = self._transport.read()
+# Allow recursive call for auth
 self.data_received(data, results_dict)
 elif status_code == 204:
 result_set.stream.put_nowait([])
 del results_dict[request_id]
+return status_code
 elif status_code in [200, 206]:
 results = []
 for msg in data["result"]["data"]:
 results.append(
 self._message_serializer.deserialize_message(msg))
 result_set.stream.put_nowait(results)
-if status_code == 206:
-data = self._transport.read()
-self.data_received(data, results_dict)
-else:
+if status_code == 200:
 del results_dict[request_id]
+return status_code
 else:
 del results_dict[request_id]
 raise GremlinServerError(



[01/11] tinkerpop git commit: Don't use recursive calls for streaming response [Forced Update!]

2018-05-16 Thread florianhockmann
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1836 6969409e7 -> 2fe4352ab (forced update)


Don't use recursive calls for streaming response


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4c8717dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4c8717dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4c8717dd

Branch: refs/heads/TINKERPOP-1836
Commit: 4c8717dd4e94ec248a959911d8c11f3b45b2d7b3
Parents: 268423d
Author: davebshow 
Authored: Mon Apr 23 16:21:48 2018 -0700
Committer: davebshow 
Committed: Mon Apr 23 16:21:48 2018 -0700

--
 .../src/main/jython/gremlin_python/driver/connection.py  | 7 +--
 .../src/main/jython/gremlin_python/driver/protocol.py| 8 
 2 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
index abc4545..bff1904 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
@@ -73,6 +73,9 @@ class Connection:
 return future
 
 def _receive(self):
-data = self._transport.read()
-self._protocol.data_received(data, self._results)
+while True:
+data = self._transport.read()
+status_code = self._protocol.data_received(data, self._results)
+if status_code != 206:
+break
 self._pool.put_nowait(self)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
index 84a7d82..2fc7c1b 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
@@ -80,21 +80,21 @@ class GremlinServerWSProtocol(AbstractBaseProtocol):
 {'sasl': base64.b64encode(auth).decode()})
 self.write(request_id, request_message)
 data = self._transport.read()
+# Allow recursive call for auth
 self.data_received(data, results_dict)
 elif status_code == 204:
 result_set.stream.put_nowait([])
 del results_dict[request_id]
+return status_code
 elif status_code in [200, 206]:
 results = []
 for msg in data["result"]["data"]:
 results.append(
 self._message_serializer.deserialize_message(msg))
 result_set.stream.put_nowait(results)
-if status_code == 206:
-data = self._transport.read()
-self.data_received(data, results_dict)
-else:
+if status_code == 200:
 del results_dict[request_id]
+return status_code
 else:
 del results_dict[request_id]
 raise GremlinServerError(



[1/2] tinkerpop git commit: Don't use recursive calls for streaming response

2018-05-14 Thread davebshow
Repository: tinkerpop
Updated Branches:
  refs/heads/tp32 770375d4d -> fa3fb9eac


Don't use recursive calls for streaming response


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4c8717dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4c8717dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4c8717dd

Branch: refs/heads/tp32
Commit: 4c8717dd4e94ec248a959911d8c11f3b45b2d7b3
Parents: 268423d
Author: davebshow 
Authored: Mon Apr 23 16:21:48 2018 -0700
Committer: davebshow 
Committed: Mon Apr 23 16:21:48 2018 -0700

--
 .../src/main/jython/gremlin_python/driver/connection.py  | 7 +--
 .../src/main/jython/gremlin_python/driver/protocol.py| 8 
 2 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
index abc4545..bff1904 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
@@ -73,6 +73,9 @@ class Connection:
 return future
 
 def _receive(self):
-data = self._transport.read()
-self._protocol.data_received(data, self._results)
+while True:
+data = self._transport.read()
+status_code = self._protocol.data_received(data, self._results)
+if status_code != 206:
+break
 self._pool.put_nowait(self)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
index 84a7d82..2fc7c1b 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
@@ -80,21 +80,21 @@ class GremlinServerWSProtocol(AbstractBaseProtocol):
 {'sasl': base64.b64encode(auth).decode()})
 self.write(request_id, request_message)
 data = self._transport.read()
+# Allow recursive call for auth
 self.data_received(data, results_dict)
 elif status_code == 204:
 result_set.stream.put_nowait([])
 del results_dict[request_id]
+return status_code
 elif status_code in [200, 206]:
 results = []
 for msg in data["result"]["data"]:
 results.append(
 self._message_serializer.deserialize_message(msg))
 result_set.stream.put_nowait(results)
-if status_code == 206:
-data = self._transport.read()
-self.data_received(data, results_dict)
-else:
+if status_code == 200:
 del results_dict[request_id]
+return status_code
 else:
 del results_dict[request_id]
 raise GremlinServerError(



[1/3] tinkerpop git commit: Don't use recursive calls for streaming response

2018-05-14 Thread davebshow
Repository: tinkerpop
Updated Branches:
  refs/heads/tp33 3f94a27f3 -> 715876822


Don't use recursive calls for streaming response


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4c8717dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4c8717dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4c8717dd

Branch: refs/heads/tp33
Commit: 4c8717dd4e94ec248a959911d8c11f3b45b2d7b3
Parents: 268423d
Author: davebshow 
Authored: Mon Apr 23 16:21:48 2018 -0700
Committer: davebshow 
Committed: Mon Apr 23 16:21:48 2018 -0700

--
 .../src/main/jython/gremlin_python/driver/connection.py  | 7 +--
 .../src/main/jython/gremlin_python/driver/protocol.py| 8 
 2 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
index abc4545..bff1904 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
@@ -73,6 +73,9 @@ class Connection:
 return future
 
 def _receive(self):
-data = self._transport.read()
-self._protocol.data_received(data, self._results)
+while True:
+data = self._transport.read()
+status_code = self._protocol.data_received(data, self._results)
+if status_code != 206:
+break
 self._pool.put_nowait(self)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
index 84a7d82..2fc7c1b 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
@@ -80,21 +80,21 @@ class GremlinServerWSProtocol(AbstractBaseProtocol):
 {'sasl': base64.b64encode(auth).decode()})
 self.write(request_id, request_message)
 data = self._transport.read()
+# Allow recursive call for auth
 self.data_received(data, results_dict)
 elif status_code == 204:
 result_set.stream.put_nowait([])
 del results_dict[request_id]
+return status_code
 elif status_code in [200, 206]:
 results = []
 for msg in data["result"]["data"]:
 results.append(
 self._message_serializer.deserialize_message(msg))
 result_set.stream.put_nowait(results)
-if status_code == 206:
-data = self._transport.read()
-self.data_received(data, results_dict)
-else:
+if status_code == 200:
 del results_dict[request_id]
+return status_code
 else:
 del results_dict[request_id]
 raise GremlinServerError(



[1/4] tinkerpop git commit: Don't use recursive calls for streaming response

2018-05-14 Thread davebshow
Repository: tinkerpop
Updated Branches:
  refs/heads/master 34d42fe49 -> d564631d8


Don't use recursive calls for streaming response


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4c8717dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4c8717dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4c8717dd

Branch: refs/heads/master
Commit: 4c8717dd4e94ec248a959911d8c11f3b45b2d7b3
Parents: 268423d
Author: davebshow 
Authored: Mon Apr 23 16:21:48 2018 -0700
Committer: davebshow 
Committed: Mon Apr 23 16:21:48 2018 -0700

--
 .../src/main/jython/gremlin_python/driver/connection.py  | 7 +--
 .../src/main/jython/gremlin_python/driver/protocol.py| 8 
 2 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
index abc4545..bff1904 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
@@ -73,6 +73,9 @@ class Connection:
 return future
 
 def _receive(self):
-data = self._transport.read()
-self._protocol.data_received(data, self._results)
+while True:
+data = self._transport.read()
+status_code = self._protocol.data_received(data, self._results)
+if status_code != 206:
+break
 self._pool.put_nowait(self)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
index 84a7d82..2fc7c1b 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
@@ -80,21 +80,21 @@ class GremlinServerWSProtocol(AbstractBaseProtocol):
 {'sasl': base64.b64encode(auth).decode()})
 self.write(request_id, request_message)
 data = self._transport.read()
+# Allow recursive call for auth
 self.data_received(data, results_dict)
 elif status_code == 204:
 result_set.stream.put_nowait([])
 del results_dict[request_id]
+return status_code
 elif status_code in [200, 206]:
 results = []
 for msg in data["result"]["data"]:
 results.append(
 self._message_serializer.deserialize_message(msg))
 result_set.stream.put_nowait(results)
-if status_code == 206:
-data = self._transport.read()
-self.data_received(data, results_dict)
-else:
+if status_code == 200:
 del results_dict[request_id]
+return status_code
 else:
 del results_dict[request_id]
 raise GremlinServerError(



tinkerpop git commit: Don't use recursive calls for streaming response

2018-04-23 Thread davebshow
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1933 [created] 4c8717dd4


Don't use recursive calls for streaming response


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4c8717dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4c8717dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4c8717dd

Branch: refs/heads/TINKERPOP-1933
Commit: 4c8717dd4e94ec248a959911d8c11f3b45b2d7b3
Parents: 268423d
Author: davebshow 
Authored: Mon Apr 23 16:21:48 2018 -0700
Committer: davebshow 
Committed: Mon Apr 23 16:21:48 2018 -0700

--
 .../src/main/jython/gremlin_python/driver/connection.py  | 7 +--
 .../src/main/jython/gremlin_python/driver/protocol.py| 8 
 2 files changed, 9 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
index abc4545..bff1904 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/connection.py
@@ -73,6 +73,9 @@ class Connection:
 return future
 
 def _receive(self):
-data = self._transport.read()
-self._protocol.data_received(data, self._results)
+while True:
+data = self._transport.read()
+status_code = self._protocol.data_received(data, self._results)
+if status_code != 206:
+break
 self._pool.put_nowait(self)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c8717dd/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
--
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
index 84a7d82..2fc7c1b 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/protocol.py
@@ -80,21 +80,21 @@ class GremlinServerWSProtocol(AbstractBaseProtocol):
 {'sasl': base64.b64encode(auth).decode()})
 self.write(request_id, request_message)
 data = self._transport.read()
+# Allow recursive call for auth
 self.data_received(data, results_dict)
 elif status_code == 204:
 result_set.stream.put_nowait([])
 del results_dict[request_id]
+return status_code
 elif status_code in [200, 206]:
 results = []
 for msg in data["result"]["data"]:
 results.append(
 self._message_serializer.deserialize_message(msg))
 result_set.stream.put_nowait(results)
-if status_code == 206:
-data = self._transport.read()
-self.data_received(data, results_dict)
-else:
+if status_code == 200:
 del results_dict[request_id]
+return status_code
 else:
 del results_dict[request_id]
 raise GremlinServerError(