Skip to content

Commit

Permalink
change following ivan's comments, using GetOptions
Browse files Browse the repository at this point in the history
  • Loading branch information
jiazhai committed Jul 17, 2018
1 parent 371be7b commit cf020a7
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import org.apache.pulsar.broker.offload.impl.ManagedLedgerOffloader.VersionCheck;
import org.jclouds.blobstore.BlobStore;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.blobstore.options.GetOptions;
import org.jclouds.io.Payload;
import org.jclouds.io.PayloadSlicer;
import org.jclouds.io.internal.BasePayloadSlicer;
Expand Down Expand Up @@ -75,20 +76,17 @@ private boolean refillBufferIfNeeded() throws IOException {
objectLen - 1);

try {
Blob blob = blobStore.getBlob(bucket, key);
Blob blob = blobStore.getBlob(bucket, key, new GetOptions().range(startRange, endRange));
versionCheck.check(key, blob);
PayloadSlicer slicer = new BasePayloadSlicer();

try (Payload payload = slicer.slice(blob.getPayload(), startRange, endRange - startRange + 1);
InputStream slice = payload.openStream()) {

try (InputStream stream = blob.getPayload().openStream()) {
buffer.clear();
bufferOffsetStart = startRange;
bufferOffsetEnd = endRange;
long bytesRead = endRange - startRange + 1;
int bytesToCopy = (int) bytesRead;
while (bytesToCopy > 0) {
bytesToCopy -= buffer.writeBytes(slice, bytesToCopy);
bytesToCopy -= buffer.writeBytes(stream, bytesToCopy);
}
cursor += buffer.readableBytes();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
package org.apache.pulsar.broker.offload;

import static org.mockito.AdditionalAnswers.delegatesTo;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
Expand All @@ -32,8 +33,11 @@
import org.apache.pulsar.broker.offload.impl.BlobStoreBackedInputStreamImpl;
import org.jclouds.blobstore.BlobStore;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.blobstore.options.GetOptions;
import org.jclouds.io.Payload;
import org.jclouds.io.Payloads;
import org.mockito.Matchers;
import org.mockito.Mockito;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
Expand Down Expand Up @@ -217,7 +221,8 @@ public void testSeekWithinCurrent() throws Exception {
Assert.assertEquals(thirdSeek.read(), toTest.read());
}

verify(spiedBlobStore, times(1)).getBlob(BUCKET, objectKey);
verify(spiedBlobStore, times(1))
.getBlob(Mockito.eq(BUCKET), Mockito.eq(objectKey), Matchers.<GetOptions>anyObject());
}

@Test
Expand Down

0 comments on commit cf020a7

Please sign in to comment.