[ https://issues.apache.org/jira/browse/FLUME-2964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
liqiaoping resolved FLUME-2964. ------------------------------- Resolution: Duplicate > race condition in SpillableMemoryChannel log print > -------------------------------------------------- > > Key: FLUME-2964 > URL: https://issues.apache.org/jira/browse/FLUME-2964 > Project: Flume > Issue Type: Bug > Components: Channel > Affects Versions: v1.7.0 > Reporter: liqiaoping > Priority: Minor > > 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()) { > LOGGER.debug("Put Committed. Drain Order Queue state : " > + drainOrder.dump()); > } > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)