You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by am...@apache.org on 2016/01/27 10:40:58 UTC
svn commit: r1726981 - in /jackrabbit/oak/trunk/oak-core/src:
main/java/org/apache/jackrabbit/oak/plugins/blob/
test/java/org/apache/jackrabbit/oak/plugins/document/
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());