Author: mattryan
Date: Wed Aug 28 23:30:14 2019
New Revision: 1866047
URL: http://svn.apache.org/viewvc?rev=1866047&view=rev
Log:
OAK-8298: Add tracking of blob ids added via direct upload
Modified:
jackrabbit/oak/branches/1.10/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
Modified:
jackrabbit/oak/branches/1.10/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.10/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java?rev=1866047&r1=1866046&r2=1866047&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.10/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
(original)
+++
jackrabbit/oak/branches/1.10/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
Wed Aug 28 23:30:14 2019
@@ -236,14 +236,7 @@ public class DataStoreBlobStore
checkNotNull(stream);
DataRecord dr = writeStream(stream, options);
String id = getBlobId(dr);
- if (tracker != null && !InMemoryDataRecord.isInstance(id)) {
- try {
- tracker.add(id);
- log.trace("Tracked Id {}", id);
- } catch (Exception e) {
- log.warn("Could not add track id", e);
- }
- }
+ updateTracker(id);
threw = false;
stats.uploaded(System.nanoTime() - start, TimeUnit.NANOSECONDS,
dr.getLength());
stats.uploadCompleted(id);
@@ -257,6 +250,18 @@ public class DataStoreBlobStore
}
}
+ private void updateTracker(String id) {
+ if (tracker != null && !InMemoryDataRecord.isInstance(id)) {
+ try {
+ tracker.add(id);
+ log.trace("Tracked Id {}", id);
+ }
+ catch (Exception e) {
+ log.warn("Could not add track id", e);
+ }
+ }
+ }
+
@Override
public int readBlob(String encodedBlobId, long pos, byte[] buff, int off,
int length) throws IOException {
//This is inefficient as repeated calls for same blobId would involve
opening new Stream
@@ -724,7 +729,9 @@ public class DataStoreBlobStore
if (delegate instanceof DataRecordAccessProvider) {
try {
DataRecord record = ((DataRecordAccessProvider)
delegate).completeDataRecordUpload(uploadToken);
- return new BlobStoreBlob(this, getBlobId(record));
+ String id = getBlobId(record);
+ updateTracker(id);
+ return new BlobStoreBlob(this, id);
}
catch (DataStoreException | DataRecordUploadException e) {
log.warn("Unable to complete direct upload for upload token
{}", uploadToken, e);