Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.7.0
-
None
-
None
-
Patch
Description
use SpillableMemoryChannel with http blob handler, and send many request concurrently, As the jetty has a threadpool to handle incoming request, the commit to SpillableMemoryChannel will be concurrent.
the Following code :
@Override
protected void doCommit() throws InterruptedException {
if (putCalled) {
putCommit();
if (LOGGER.isDebugEnabled())
in method - >drainOrder.dump() will iterate its internal queue, in the meantime, has changed by other thread, thus throw a concurrent modification exception. thus will result the channel processor try to rollback, but actually the transaction has commit succefully.
Attachments
Attachments
Issue Links
- is duplicated by
-
FLUME-2964 race condition in SpillableMemoryChannel log print
- Resolved
- links to