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 [email protected] or file a JIRA ticket
with INFRA.
---