You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2017/09/04 15:44:05 UTC

activemq git commit: [AMQ-4947] ensure index page file does not skip forcing metadata - size is important to the page file

Repository: activemq
Updated Branches:
  refs/heads/master 2e492569d -> 42bf6e906


[AMQ-4947] ensure index page file does not skip forcing metadata - size is important to the page file


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

Branch: refs/heads/master
Commit: 42bf6e9061c4bb5723e380da3b1c2c6a5a162ffd
Parents: 2e49256
Author: gtully <ga...@gmail.com>
Authored: Mon Sep 4 16:43:48 2017 +0100
Committer: gtully <ga...@gmail.com>
Committed: Mon Sep 4 16:43:48 2017 +0100

----------------------------------------------------------------------
 .../activemq/store/kahadb/disk/page/PageFile.java     |  2 +-
 .../activemq/util/RecoverableRandomAccessFile.java    | 14 +++++++++-----
 2 files changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/42bf6e90/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/disk/page/PageFile.java
----------------------------------------------------------------------
diff --git a/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/disk/page/PageFile.java b/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/disk/page/PageFile.java
index 052a586..5699c45 100644
--- a/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/disk/page/PageFile.java
+++ b/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/disk/page/PageFile.java
@@ -378,7 +378,7 @@ public class PageFile {
 
             File file = getMainPageFile();
             IOHelper.mkdirs(file.getParentFile());
-            writeFile = new RecoverableRandomAccessFile(file, "rw");
+            writeFile = new RecoverableRandomAccessFile(file, "rw", false);
             readFile = new RecoverableRandomAccessFile(file, "r");
 
             if (readFile.length() > 0) {

http://git-wip-us.apache.org/repos/asf/activemq/blob/42bf6e90/activemq-kahadb-store/src/main/java/org/apache/activemq/util/RecoverableRandomAccessFile.java
----------------------------------------------------------------------
diff --git a/activemq-kahadb-store/src/main/java/org/apache/activemq/util/RecoverableRandomAccessFile.java b/activemq-kahadb-store/src/main/java/org/apache/activemq/util/RecoverableRandomAccessFile.java
index 171f0c9..309272a 100644
--- a/activemq-kahadb-store/src/main/java/org/apache/activemq/util/RecoverableRandomAccessFile.java
+++ b/activemq-kahadb-store/src/main/java/org/apache/activemq/util/RecoverableRandomAccessFile.java
@@ -31,17 +31,21 @@ public class RecoverableRandomAccessFile implements java.io.DataOutput, java.io.
     RandomAccessFile raf;
     File file;
     String mode;
+    final boolean isSkipMetadataUpdate;
 
-    public RecoverableRandomAccessFile(File file, String mode) throws FileNotFoundException {
+    public RecoverableRandomAccessFile(File file, String mode, boolean skipMetadataUpdate) throws FileNotFoundException {
         this.file = file;
         this.mode = mode;
         raf = new RandomAccessFile(file, mode);
+        isSkipMetadataUpdate = skipMetadataUpdate;
+    }
+
+    public RecoverableRandomAccessFile(File file, String mode) throws FileNotFoundException {
+        this(file, mode, SKIP_METADATA_UPDATE);
     }
 
     public RecoverableRandomAccessFile(String name, String mode) throws FileNotFoundException {
-        this.file = new File(name);
-        this.mode = mode;
-        raf = new RandomAccessFile(file, mode);
+        this(new File(name), mode);
     }
 
     public RandomAccessFile getRaf() throws IOException {
@@ -394,7 +398,7 @@ public class RecoverableRandomAccessFile implements java.io.DataOutput, java.io.
 
     public void sync() throws IOException {
         try {
-            getRaf().getChannel().force(!SKIP_METADATA_UPDATE);;
+            getRaf().getChannel().force(!isSkipMetadataUpdate);;
         } catch (IOException ioe) {
             handleException();
             throw ioe;