You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by th...@apache.org on 2013/10/24 20:52:31 UTC
svn commit: r1535497 - in /zookeeper/branches/branch-3.4: CHANGES.txt
src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java
src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java
Author: thawan
Date: Thu Oct 24 18:52:31 2013
New Revision: 1535497
URL: http://svn.apache.org/r1535497
Log:
ZOOKEEPER-1798. Fix race condition in testNormalObserverRun (thawan, fpj via thawan)
Modified:
zookeeper/branches/branch-3.4/CHANGES.txt
zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java
zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java
Modified: zookeeper/branches/branch-3.4/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/CHANGES.txt?rev=1535497&r1=1535496&r2=1535497&view=diff
==============================================================================
--- zookeeper/branches/branch-3.4/CHANGES.txt (original)
+++ zookeeper/branches/branch-3.4/CHANGES.txt Thu Oct 24 18:52:31 2013
@@ -152,6 +152,9 @@ BUGFIXES:
ZOOKEEPER-1744. clientPortAddress breaks "zkServer.sh status"
(Nick Ohanian via phunt)
+ ZOOKEEPER-1798. Fix race condition in testNormalObserverRun
+ (thawan, fpj via thawan)
+
IMPROVEMENTS:
ZOOKEEPER-1564. Allow JUnit test build with IBM Java
Modified: zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java
URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java?rev=1535497&r1=1535496&r2=1535497&view=diff
==============================================================================
--- zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java (original)
+++ zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java Thu Oct 24 18:52:31 2013
@@ -212,8 +212,15 @@ public class SyncRequestProcessor extend
if(running){
this.join();
}
+ if (!toFlush.isEmpty()) {
+ flush(toFlush);
+ }
} catch(InterruptedException e) {
LOG.warn("Interrupted while wating for " + this + " to finish");
+ } catch (IOException e) {
+ LOG.warn("Got IO exception during shutdown");
+ } catch (RequestProcessorException e) {
+ LOG.warn("Got request processor exception during shutdown");
}
if (nextProcessor != null) {
nextProcessor.shutdown();
Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java
URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java?rev=1535497&r1=1535496&r2=1535497&view=diff
==============================================================================
--- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java (original)
+++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java Thu Oct 24 18:52:31 2013
@@ -1113,6 +1113,10 @@ public class Zab1_0Test {
Assert.assertEquals("data2", new String(o.zk
.getZKDatabase().getData("/foo2", stat, null)));
+ // Shutdown sequence guarantee that all pending requests
+ // in sync request processor get flush to disk
+ o.zk.shutdown();
+
zkDb2 = new ZKDatabase(new FileTxnSnapLog(logDir, snapDir));
lastZxid = zkDb2.loadDataBase();
Assert.assertEquals("data2", new String(zkDb2.getData("/foo1", stat, null)));