Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Duplicate
-
1.7.0
-
None
-
None
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
Issue Links
- duplicates
-
FLUME-2965 race condition in SpillableMemoryChannel log print
- Open