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 ch...@apache.org on 2015/12/24 14:46:24 UTC

svn commit: r1721621 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore: AbstractDataStoreService.java DataStoreBlobStore.java

Author: chetanm
Date: Thu Dec 24 13:46:23 2015
New Revision: 1721621

URL: http://svn.apache.org/viewvc?rev=1721621&view=rev
Log:
OAK-3806 - Collect and expose statistics related to BlobStore operations

Avoid changing the constructor and instead use the setter for passing in stats collector

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java?rev=1721621&r1=1721620&r2=1721621&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java Thu Dec 24 13:46:23 2015
@@ -63,7 +63,7 @@ public abstract class AbstractDataStoreS
     @Reference
     private StatisticsProvider statisticsProvider;
 
-    private DataStore dataStore;
+    private DataStoreBlobStore dataStore;
 
     protected void activate(ComponentContext context, Map<String, Object> config) throws RepositoryException {
         DataStore ds = createDataStore(context, config);
@@ -76,7 +76,8 @@ public abstract class AbstractDataStoreS
         PropertiesUtil.populate(ds, config, false);
         ds.init(homeDir);
         BlobStoreStats stats = new BlobStoreStats(getStatisticsProvider());
-        this.dataStore = new DataStoreBlobStore(ds, encodeLengthInId, cacheSizeInMB, stats);
+        this.dataStore = new DataStoreBlobStore(ds, encodeLengthInId, cacheSizeInMB);
+        this.dataStore.setBlobStatsCollector(stats);
         PropertiesUtil.populate(dataStore, config, false);
 
         Dictionary<String, Object> props = new Hashtable<String, Object>();

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java?rev=1721621&r1=1721620&r2=1721621&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java Thu Dec 24 13:46:23 2015
@@ -101,18 +101,16 @@ public class DataStoreBlobStore implemen
 
 
     public DataStoreBlobStore(DataStore delegate) {
-        this(delegate, true, DEFAULT_CACHE_SIZE, BlobStatsCollector.NOOP);
+        this(delegate, true, DEFAULT_CACHE_SIZE);
     }
 
     public DataStoreBlobStore(DataStore delegate, boolean encodeLengthInId) {
-        this(delegate, encodeLengthInId, DEFAULT_CACHE_SIZE, BlobStatsCollector.NOOP);
+        this(delegate, encodeLengthInId, DEFAULT_CACHE_SIZE);
     }
 
-    public DataStoreBlobStore(DataStore delegate, boolean encodeLengthInId, int cacheSizeInMB,
-                              BlobStatsCollector stats) {
+    public DataStoreBlobStore(DataStore delegate, boolean encodeLengthInId, int cacheSizeInMB) {
         this.delegate = delegate;
         this.encodeLengthInId = encodeLengthInId;
-        this.stats = stats;
 
         this.cache = CacheLIRS.<String, byte[]>newBuilder()
                 .module("DataStoreBlobStore")