This is an automated email from the ASF dual-hosted git repository.
sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new a183d08 Fix flaky test with s3 backend (#1841)
a183d08 is described below
commit a183d080963553ce8dbef447959a93c13415551e
Author: Jia Zhai <[email protected]>
AuthorDate: Fri May 25 00:31:08 2018 +0800
Fix flaky test with s3 backend (#1841)
* fix flaky ut
* add try catch to avoid future complete hang
* add more info in log
* add upload id in log
---
.../broker/s3offload/S3ManagedLedgerOffloader.java | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/s3offload/S3ManagedLedgerOffloader.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/s3offload/S3ManagedLedgerOffloader.java
index 43e4dda..5e46350 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/s3offload/S3ManagedLedgerOffloader.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/s3offload/S3ManagedLedgerOffloader.java
@@ -172,9 +172,14 @@ public class S3ManagedLedgerOffloader implements
LedgerOffloader {
.withUploadId(dataBlockRes.getUploadId())
.withPartETags(etags));
} catch (Throwable t) {
+ try {
+ s3client.abortMultipartUpload(
+ new AbortMultipartUploadRequest(bucket, dataBlockKey,
dataBlockRes.getUploadId()));
+ } catch (Throwable throwable) {
+ log.error("Failed abortMultipartUpload in bucket - {} with
key - {}, uploadId - {}.",
+ bucket, dataBlockKey, dataBlockRes.getUploadId(),
throwable);
+ }
promise.completeExceptionally(t);
- s3client.abortMultipartUpload(
- new AbortMultipartUploadRequest(bucket, dataBlockKey,
dataBlockRes.getUploadId()));
return;
}
@@ -191,8 +196,13 @@ public class S3ManagedLedgerOffloader implements
LedgerOffloader {
metadata));
promise.complete(null);
} catch (Throwable t) {
+ try {
+ s3client.deleteObject(bucket, dataBlockKey);
+ } catch (Throwable throwable) {
+ log.error("Failed deleteObject in bucket - {} with key -
{}.",
+ bucket, dataBlockKey, throwable);
+ }
promise.completeExceptionally(t);
- s3client.deleteObject(bucket, dataBlockKey);
return;
}
});
--
To stop receiving notification emails like this one, please contact
[email protected].