Author: jukka
Date: Wed Mar 5 19:12:03 2014
New Revision: 1574627
URL: http://svn.apache.org/r1574627
Log:
OAK-631: SegmentMK: Implement garbage collection
GC is best implemented below the SegmentStore interface, not above it,
so we can drop the deleteSegment() method
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/AbstractStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/memory/MemoryStore.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/AbstractStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/AbstractStore.java?rev=1574627&r1=1574626&r2=1574627&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/AbstractStore.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/AbstractStore.java
Wed Mar 5 19:12:03 2014
@@ -137,22 +137,6 @@ public abstract class AbstractStore impl
}
@Override
- public void deleteSegment(UUID segmentId) {
- if (segments != null) {
- synchronized (segments) {
- while (currentlyLoading.contains(segmentId)) {
- try {
- segments.wait(); // for concurrent load to finish
- } catch (InterruptedException e) {
- throw new RuntimeException("Interrupted", e);
- }
- }
- segments.invalidate(segmentId);
- }
- }
- }
-
- @Override
public void close() {
if (segments != null) {
synchronized (segments) {
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentStore.java?rev=1574627&r1=1574626&r2=1574627&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentStore.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentStore.java
Wed Mar 5 19:12:03 2014
@@ -54,8 +54,6 @@ public interface SegmentStore {
*/
void writeSegment(UUID segmentId, byte[] bytes, int offset, int length);
- void deleteSegment(UUID segmentId);
-
void close();
/**
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java?rev=1574627&r1=1574626&r2=1574627&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java
Wed Mar 5 19:12:03 2014
@@ -322,12 +322,6 @@ public class FileStore extends AbstractS
}
@Override
- public void deleteSegment(UUID segmentId) {
- // TODO: implement
- super.deleteSegment(segmentId);
- }
-
- @Override
public Blob readBlob(String reference) {
return new FileBlob(reference); // FIXME: proper reference lookup
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/memory/MemoryStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/memory/MemoryStore.java?rev=1574627&r1=1574626&r2=1574627&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/memory/MemoryStore.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/memory/MemoryStore.java
Wed Mar 5 19:12:03 2014
@@ -88,11 +88,4 @@ public class MemoryStore extends Abstrac
}
}
- @Override
- public void deleteSegment(UUID segmentId) {
- if (segments.remove(segmentId) == null) {
- throw new IllegalStateException("Missing segment: " + segmentId);
- }
- }
-
}