You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by th...@apache.org on 2015/08/26 01:33:19 UTC
[4/7] incubator-apex-core git commit: During request processing,
not processing remaining data in a client by discarding it when
processing is being passed from one client to the next in the chain
During request processing, not processing remaining data in a client by discarding it when processing is being passed from one client to the next in the chain
Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/commit/6db66a6c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/tree/6db66a6c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/diff/6db66a6c
Branch: refs/heads/devel-3.0
Commit: 6db66a6c2628b36d2caed2a50b8fa47887f72c7f
Parents: 0c65d27
Author: Pramod Immaneni <pr...@datatorrent.com>
Authored: Tue Jul 21 13:19:25 2015 -0700
Committer: Chetan Narsude <ch...@datatorrent.com>
Committed: Tue Aug 4 09:13:08 2015 -0700
----------------------------------------------------------------------
.../datatorrent/bufferserver/server/Server.java | 24 ++++++++------------
1 file changed, 10 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/6db66a6c/bufferserver/src/main/java/com/datatorrent/bufferserver/server/Server.java
----------------------------------------------------------------------
diff --git a/bufferserver/src/main/java/com/datatorrent/bufferserver/server/Server.java b/bufferserver/src/main/java/com/datatorrent/bufferserver/server/Server.java
index 7c21c6d..683eb8d 100644
--- a/bufferserver/src/main/java/com/datatorrent/bufferserver/server/Server.java
+++ b/bufferserver/src/main/java/com/datatorrent/bufferserver/server/Server.java
@@ -352,15 +352,9 @@ public class Server implements ServerListener
class AuthClient extends com.datatorrent.bufferserver.client.AuthClient
{
- boolean ignore;
-
@Override
public void onMessage(byte[] buffer, int offset, int size)
{
- if (ignore) {
- return;
- }
-
authenticateMessage(buffer, offset, size);
unregistered(key);
@@ -374,21 +368,18 @@ public class Server implements ServerListener
client.transferBuffer(buffer, readOffset + size, len);
}
- ignore = true;
+ // Remaining data has been transferred to next client in the chain and is going to be processed there so we would
+ // not be processing it here, hence discarding it
+ discardReadBuffer();
}
}
class UnidentifiedClient extends SeedDataClient
{
- boolean ignore;
@Override
public void onMessage(byte[] buffer, int offset, int size)
{
- if (ignore) {
- return;
- }
-
Tuple request = Tuple.getTuple(buffer, offset, size);
switch (request.getType()) {
case PUBLISHER_REQUEST:
@@ -432,7 +423,10 @@ public class Server implements ServerListener
if (len > 0) {
publisher.transferBuffer(this.buffer, readOffset + size, len);
}
- ignore = true;
+
+ // Remaining data transferred to next client and being processed there, not processed here anymore hence
+ // discarding it
+ discardReadBuffer();
break;
@@ -441,7 +435,9 @@ public class Server implements ServerListener
* unregister the unidentified client since its job is done!
*/
unregistered(key);
- ignore = true;
+ // Control is being transferred to next client in the chain so no more processing in this client after this
+ // message
+ discardReadBuffer();
logger.info("Received subscriber request: {}", request);
SubscribeRequestTuple subscriberRequest = (SubscribeRequestTuple)request;