You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by es...@apache.org on 2011/12/29 00:13:12 UTC
svn commit: r1225379 -
/incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/channel/MemoryChannel.java
Author: esammer
Date: Wed Dec 28 23:13:11 2011
New Revision: 1225379
URL: http://svn.apache.org/viewvc?rev=1225379&view=rev
Log:
FLUME-909: org.apache.flume.node.TestAbstractLogicalNodeManager is failing on some machines
(Bruno Mahé via E. Sammer)
Modified:
incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/channel/MemoryChannel.java
Modified: incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/channel/MemoryChannel.java
URL: http://svn.apache.org/viewvc/incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/channel/MemoryChannel.java?rev=1225379&r1=1225378&r2=1225379&view=diff
==============================================================================
--- incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/channel/MemoryChannel.java (original)
+++ incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/channel/MemoryChannel.java Wed Dec 28 23:13:11 2011
@@ -122,8 +122,11 @@ public class MemoryChannel implements Ch
if (putStamp != 0) {
lastCommitStamp.set(putStamp);
lock.lock();
- hasData.signal();
- lock.unlock();
+ try {
+ hasData.signal();
+ } finally {
+ lock.unlock();
+ }
}
txnState = TransactionState.Committed;
undoPutList.clear();
@@ -298,8 +301,11 @@ public class MemoryChannel implements Ch
// wait for some committed data be there in the queue
if ((timeout > 0) && (myTxn.lastTakeStamp() == lastCommitStamp.get())) {
lock.lock();
- hasData.await(timeout, TimeUnit.SECONDS);
- lock.unlock();
+ try {
+ hasData.await(timeout, TimeUnit.SECONDS);
+ } finally {
+ lock.unlock();
+ }
timeout = 0; // don't wait any further
}