Author: frm
Date: Mon Apr 25 11:52:55 2016
New Revision: 1740818

URL: http://svn.apache.org/viewvc?rev=1740818&view=rev
Log:
OAK-4211 - Close the file and release the memory mapped buffer in 
FileAccess.Mapped#close()

Modified:
    
jackrabbit/oak/trunk/oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/file/FileAccess.java
    
jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileAccess.java

Modified: 
jackrabbit/oak/trunk/oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/file/FileAccess.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/file/FileAccess.java?rev=1740818&r1=1740817&r2=1740818&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/file/FileAccess.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-next/src/main/java/org/apache/jackrabbit/oak/segment/file/FileAccess.java
 Mon Apr 25 11:52:55 2016
@@ -47,9 +47,12 @@ abstract class FileAccess {
      */
     static class Mapped extends FileAccess {
 
-        private final MappedByteBuffer buffer;
+        private final RandomAccessFile file;
+
+        private MappedByteBuffer buffer;
 
         Mapped(RandomAccessFile file) throws IOException {
+            this.file = file;
             this.buffer = file.getChannel().map(READ_ONLY, 0, file.length());
         }
 
@@ -72,7 +75,9 @@ abstract class FileAccess {
         }
 
         @Override
-        public void close() {
+        public void close() throws IOException {
+            buffer = null;
+            file.close();
         }
 
     }

Modified: 
jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileAccess.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileAccess.java?rev=1740818&r1=1740817&r2=1740818&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileAccess.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileAccess.java
 Mon Apr 25 11:52:55 2016
@@ -45,9 +45,12 @@ abstract class FileAccess {
      */
     static class Mapped extends FileAccess {
 
-        private final MappedByteBuffer buffer;
+        private final RandomAccessFile file;
+
+        private MappedByteBuffer buffer;
 
         Mapped(RandomAccessFile file) throws IOException {
+            this.file = file;
             this.buffer = file.getChannel().map(READ_ONLY, 0, file.length());
         }
 
@@ -70,7 +73,9 @@ abstract class FileAccess {
         }
 
         @Override
-        public void close() {
+        public void close() throws IOException {
+            buffer = null;
+            file.close();
         }
 
     }


Reply via email to