Github user revans2 commented on the pull request: https://github.com/apache/storm/pull/532#issuecomment-157076377 @HeartSaVioR I would like to see ABP work correctly be default on the Shell bolt, and have it work correctly when TOPOLOGY_SHELLBOLT_MAX_PENDING is off, but I don't think a change to the protocol is going work. The buffer that fills up is in java, not in the external process. Having the ability for the external process to throttle only really makes since if the external process is buffering tuples somehow and then it can just stop reading to let us know to stop as well. Perhaps what we can just have a default value for TOPOLOGY_SHELLBOLT_MAX_PENDING. The only reason we would want to turn it off completely is that we have a deadlock if taskIds are requested. Here we write a message back into _pendingWrites, which with a hard coded limit could cause the only thread that reads from _pendingWrites to block trying to write to it. If we can fix this bug then I would say we just set a default value.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---