You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2018/05/24 16:31:11 UTC
[incubator-pulsar] branch master updated: Fix flaky test with s3
backend (#1841)
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 <zh...@gmail.com>
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
sijie@apache.org.