Author: amitj
Date: Wed Jan 27 09:40:58 2016
New Revision: 1726981
URL: http://svn.apache.org/viewvc?rev=1726981&view=rev
Log:
OAK-3931: Identify own repository id in shared datastore gc stats
Repository id is suffixed by asterix to identify local repository id
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGC.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectionRepoStats.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGC.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGC.java?rev=1726981&r1=1726980&r2=1726981&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGC.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobGC.java
Wed Jan 27 09:40:58 2016
@@ -144,7 +144,7 @@ public class BlobGC extends AnnotatedSt
private CompositeDataSupport toCompositeData(GarbageCollectionRepoStats
statObj) throws OpenDataException {
Object[] values = new Object[] {
- statObj.getRepositoryId(),
+ statObj.getRepositoryId() + (statObj.isLocal() ? " *" : ""),
(statObj.getStartTime() == 0 ? "" : (new
Date(statObj.getStartTime()))).toString(),
(statObj.getEndTime() == 0 ? "" : (new
Date(statObj.getEndTime()))).toString(),
statObj.getLength(),
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectionRepoStats.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectionRepoStats.java?rev=1726981&r1=1726980&r2=1726981&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectionRepoStats.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectionRepoStats.java
Wed Jan 27 09:40:58 2016
@@ -21,6 +21,8 @@ package org.apache.jackrabbit.oak.plugin
*/
public class GarbageCollectionRepoStats {
private String repositoryId;
+
+ private boolean local;
private long startTime;
@@ -69,4 +71,12 @@ public class GarbageCollectionRepoStats
public void setStartTime(long startTime) {
this.startTime = startTime;
}
+
+ public boolean isLocal() {
+ return local;
+ }
+
+ public void setLocal(boolean local) {
+ this.local = local;
+ }
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java?rev=1726981&r1=1726980&r2=1726981&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
Wed Jan 27 09:40:58 2016
@@ -198,16 +198,20 @@ public class MarkSweepGarbageCollector i
((SharedDataStore)
blobStore).getAllMetadataRecords(SharedStoreRecordType.REPOSITORY.getType());
for (DataRecord repoRec : repoFiles) {
- String repoId =
SharedStoreRecordType.REFERENCES.getIdFromName(repoRec.getIdentifier().toString());
+ String id =
SharedStoreRecordType.REFERENCES.getIdFromName(repoRec.getIdentifier().toString());
GarbageCollectionRepoStats stat = new
GarbageCollectionRepoStats();
- stat.setRepositoryId(repoId);
- if (references.containsKey(repoId)) {
- DataRecord refRec = references.get(repoId);
+ stat.setRepositoryId(id);
+ if (id != null && id.equals(repoId)) {
+ stat.setLocal(true);
+ }
+
+ if (references.containsKey(id)) {
+ DataRecord refRec = references.get(id);
stat.setEndTime(refRec.getLastModified());
stat.setLength(refRec.getLength());
- if (markers.containsKey(repoId)) {
-
stat.setStartTime(markers.get(repoId).getLastModified());
+ if (markers.containsKey(id)) {
+ stat.setStartTime(markers.get(id).getLastModified());
}
LineNumberReader reader = null;
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java?rev=1726981&r1=1726980&r2=1726981&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/SharedBlobStoreGCTest.java
Wed Jan 27 09:40:58 2016
@@ -156,6 +156,9 @@ public class SharedBlobStoreGCTest {
observedNumBlobs.add(stat.getNumLines());
observedRepoIds.add(stat.getRepositoryId());
Assert.assertTrue(stat.getStartTime() <= stat.getEndTime());
+ if (stat.getRepositoryId().equals(cluster1.repoId)) {
+ Assert.assertTrue(stat.isLocal());
+ }
}
Assert.assertTrue(Sets.difference(actualNumBlobs,
observedNumBlobs).isEmpty());