Author: frm
Date: Fri Aug  4 08:21:37 2017
New Revision: 1804075

URL: http://svn.apache.org/viewvc?rev=1804075&view=rev
Log:
OAK-6518 - Extract the index footer size in its own constant

Modified:
    
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoader.java

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoader.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoader.java?rev=1804075&r1=1804074&r2=1804075&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoader.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoader.java
 Fri Aug  4 08:21:37 2017
@@ -29,6 +29,8 @@ public class IndexLoader {
 
     private static final int MAGIC = ('\n' << 24) + ('0' << 16) + ('K' << 8) + 
'\n';
 
+    private static final int FOOTER_SIZE = 16;
+
     static final int ENTRY_SIZE = 33;
 
     public static IndexLoader newIndexLoader(int blockSize) {
@@ -50,8 +52,8 @@ public class IndexLoader {
         }
 
         // read the index metadata just before the two final zero blocks
-        ByteBuffer meta = ByteBuffer.allocate(16);
-        file.seek(length - 2 * blockSize - 16);
+        ByteBuffer meta = ByteBuffer.allocate(FOOTER_SIZE);
+        file.seek(length - 2 * blockSize - FOOTER_SIZE);
         file.readFully(meta.array());
         int crc32 = meta.getInt();
         int count = meta.getInt();
@@ -62,14 +64,14 @@ public class IndexLoader {
             return null; // magic byte mismatch
         }
 
-        if (count < 1 || bytes < count * ENTRY_SIZE + 16 || bytes % blockSize 
!= 0) {
+        if (count < 1 || bytes < count * ENTRY_SIZE + FOOTER_SIZE || bytes % 
blockSize != 0) {
             throw new InvalidIndexException("Invalid metadata");
         }
 
         // this involves seeking backwards in the file, which might not
         // perform well, but that's OK since we only do this once per file
         ByteBuffer index = ByteBuffer.allocate(count * ENTRY_SIZE);
-        file.seek(length - 2 * blockSize - 16 - count * ENTRY_SIZE);
+        file.seek(length - 2 * blockSize - FOOTER_SIZE - count * ENTRY_SIZE);
         file.readFully(index.array());
         index.mark();
 


Reply via email to