Github user revans2 commented on the pull request:
https://github.com/apache/storm/pull/532#issuecomment-156129284
I'm not sure I like the delay especially in seconds. I have been playing
around with performance and we could easily process tens of thousands of tuples
in a second. 1 second feels like way too long of a time for a delay.
Also reading through the code I think we do get ABP when
TOPOLOGY_SHELLBOLT_MAX_PENDING is set. Unless the bolt is explicitly
multi-threaded we only have a single thread of execution. So when the bolt is
processing data it is not reading more tuples to process. On all POSIX
systems, and I assume windows as well stdin has a limited buffer size, so when
that buffer fills up because the process is doing other things the
BoltWriterRunnable thread will block, and then _pendingWrites will fill up, and
the emit thread will block, and the input queue will backup.
I am happy to write a test and verify that it works.
---
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.
---