You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ph...@apache.org on 2010/03/16 22:23:08 UTC
svn commit: r923984 - in /hadoop/zookeeper/trunk: ./
src/java/main/org/apache/zookeeper/server/
src/java/main/org/apache/zookeeper/server/persistence/
src/java/main/org/apache/zookeeper/server/quorum/
src/java/test/org/apache/zookeeper/test/
Author: phunt
Date: Tue Mar 16 21:23:07 2010
New Revision: 923984
URL: http://svn.apache.org/viewvc?rev=923984&view=rev
Log:
ZOOKEEPER-121. SyncRequestProcessor is not closing log stream during shutdown (3rd attempt)
Modified:
hadoop/zookeeper/trunk/CHANGES.txt
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/persistence/FileTxnLog.java
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java
hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ClientBase.java
hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/TruncateTest.java
Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=923984&r1=923983&r2=923984&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Tue Mar 16 21:23:07 2010
@@ -279,8 +279,11 @@ BUGFIXES:
ZOOKEEPER-698. intermittent JMX test failures due to not verifying QuorumPeer
shutdown (phunt)
- ZOOKEEPER-121. SyncRequestProcessor is not closing log stream during shutdown
- (breed via mahadev)
+ ZOOKEEPER-121_2. SyncRequestProcessor is not closing log stream during
+ shutdown (breed via mahadev)
+
+ ZOOKEEPER-121_3. SyncRequestProcessor is not closing log stream during
+ shutdown (mahadev via phunt)
IMPROVEMENTS:
ZOOKEEPER-473. cleanup junit tests to eliminate false positives due to
Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java?rev=923984&r1=923983&r2=923984&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java (original)
+++ hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java Tue Mar 16 21:23:07 2010
@@ -172,11 +172,6 @@ public class SyncRequestProcessor extend
} catch(InterruptedException e) {
LOG.warn("Interrupted while wating for " + this + " to finish");
}
- try {
- zks.getZKDatabase().close();
- } catch (IOException ie) {
- LOG.warn("Error closing logs ", ie);
- }
nextProcessor.shutdown();
}
Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/persistence/FileTxnLog.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/persistence/FileTxnLog.java?rev=923984&r1=923983&r2=923984&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/persistence/FileTxnLog.java (original)
+++ hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/persistence/FileTxnLog.java Tue Mar 16 21:23:07 2010
@@ -156,7 +156,7 @@ public class FileTxnLog implements TxnLo
* rollover the current log file to a new one.
* @throws IOException
*/
- public void rollLog() throws IOException {
+ public synchronized void rollLog() throws IOException {
if (logStream != null) {
this.logStream.flush();
this.logStream = null;
Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java?rev=923984&r1=923983&r2=923984&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java (original)
+++ hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java Tue Mar 16 21:23:07 2010
@@ -672,6 +672,11 @@ public class QuorumPeer extends Thread i
public void shutdown() {
running = false;
+ try {
+ zkDb.close();
+ } catch (IOException ie) {
+ LOG.warn("Error closing logs ", ie);
+ }
if (leader != null) {
leader.shutdown("quorum Peer shutdown");
}
Modified: hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ClientBase.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ClientBase.java?rev=923984&r1=923983&r2=923984&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ClientBase.java (original)
+++ hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ClientBase.java Tue Mar 16 21:23:07 2010
@@ -50,6 +50,7 @@ import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.Watcher.Event.KeeperState;
import org.apache.zookeeper.server.NIOServerCnxn;
+import org.apache.zookeeper.server.ZKDatabase;
import org.apache.zookeeper.server.ZooKeeperServer;
import org.apache.zookeeper.server.persistence.FileTxnLog;
@@ -344,9 +345,15 @@ public abstract class ClientBase extends
static void shutdownServerInstance(NIOServerCnxn.Factory factory,
String hostPort)
- {
- if (factory != null) {
+ {
+ if (factory != null) {
+ ZKDatabase zkDb = factory.getZooKeeperServer().getZKDatabase();
factory.shutdown();
+ try {
+ zkDb.close();
+ } catch (IOException ie) {
+ LOG.warn("Error closing logs ", ie);
+ }
final int PORT = getPort(hostPort);
assertTrue("waiting for server down",
Modified: hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/TruncateTest.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/TruncateTest.java?rev=923984&r1=923983&r2=923984&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/TruncateTest.java (original)
+++ hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/TruncateTest.java Tue Mar 16 21:23:07 2010
@@ -34,6 +34,7 @@ import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
import org.apache.zookeeper.server.NIOServerCnxn;
+import org.apache.zookeeper.server.ZKDatabase;
import org.apache.zookeeper.server.quorum.QuorumPeer;
import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
import org.junit.After;
@@ -75,8 +76,14 @@ public class TruncateTest extends TestCa
for(int i = 0; i < 50; i++) {
zk.create("/" + i, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
}
- factory.shutdown();
zk.close();
+ ZKDatabase zkDb = factory.getZooKeeperServer().getZKDatabase();
+ factory.shutdown();
+ try {
+ zkDb.close();
+ } catch (IOException ie) {
+ LOG.warn("Error closing logs ", ie);
+ }
int tickTime = 2000;
int initLimit = 3;
int syncLimit = 3;