activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chir...@apache.org
Subject git commit: Implementing a dirty stop method for the leveldb store that might come in handy for testing.
Date Thu, 05 Dec 2013 14:58:09 GMT
Updated Branches:
  refs/heads/trunk 7cf5c240a -> 3b5fa4bf8


Implementing a dirty stop method for the leveldb store that might come in handy for testing.


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/3b5fa4bf
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/3b5fa4bf
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/3b5fa4bf

Branch: refs/heads/trunk
Commit: 3b5fa4bf8955f15dd1f52703c7578a054beb74e6
Parents: 7cf5c24
Author: Hiram Chirino <hiram@hiramchirino.com>
Authored: Thu Dec 5 09:23:26 2013 -0500
Committer: Hiram Chirino <hiram@hiramchirino.com>
Committed: Thu Dec 5 09:24:10 2013 -0500

----------------------------------------------------------------------
 .../scala/org/apache/activemq/leveldb/LevelDBClient.scala | 10 +++++++++-
 .../leveldb/replicated/ElectingLevelDBStore.scala         |  1 +
 2 files changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/3b5fa4bf/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/LevelDBClient.scala
----------------------------------------------------------------------
diff --git a/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/LevelDBClient.scala
b/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/LevelDBClient.scala
index 7872ff8..44f0d44 100755
--- a/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/LevelDBClient.scala
+++ b/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/LevelDBClient.scala
@@ -971,7 +971,15 @@ class LevelDBClient(store: LevelDBStore) {
     }
   }
 
-  def stop() = this.synchronized {
+  def dirty_stop = this.synchronized {
+    def ingorefailure(func: =>Unit) = try { func } catch { case e:Throwable=> }
+    ingorefailure(index.close)
+    ingorefailure(log.close)
+    ingorefailure(plist.close)
+    ingorefailure(might_fail(throw new IOException("non-clean close")))
+  }
+
+  def stop():Unit = this.synchronized {
     if( writeExecutor!=null ) {
       writeExecutor.shutdown
       writeExecutor.awaitTermination(60, TimeUnit.SECONDS)

http://git-wip-us.apache.org/repos/asf/activemq/blob/3b5fa4bf/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/replicated/ElectingLevelDBStore.scala
----------------------------------------------------------------------
diff --git a/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/replicated/ElectingLevelDBStore.scala
b/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/replicated/ElectingLevelDBStore.scala
index 90e80c0..55e0419 100644
--- a/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/replicated/ElectingLevelDBStore.scala
+++ b/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/replicated/ElectingLevelDBStore.scala
@@ -243,6 +243,7 @@ class ElectingLevelDBStore extends ProxyLevelDBStore {
       master_stopped.set(true)
       position = master.wal_append_position
       stopped_latch.countDown()
+      master = null
       func
     })
     master.blocking_executor.execute(^{


Mime
View raw message