|
32 | 32 | import com.amazonaws.services.s3.model.PutObjectRequest;
|
33 | 33 | import com.amazonaws.services.s3.model.UploadPartRequest;
|
34 | 34 | import com.amazonaws.services.s3.model.UploadPartResult;
|
| 35 | +import org.apache.logging.log4j.LogManager; |
| 36 | +import org.apache.logging.log4j.Logger; |
| 37 | +import org.apache.logging.log4j.message.ParameterizedMessage; |
35 | 38 | import org.apache.lucene.util.SetOnce;
|
36 | 39 | import org.elasticsearch.ExceptionsHelper;
|
37 | 40 | import org.elasticsearch.common.Nullable;
|
|
61 | 64 |
|
62 | 65 | class S3BlobContainer extends AbstractBlobContainer {
|
63 | 66 |
|
| 67 | + private static final Logger logger = LogManager.getLogger(S3BlobContainer.class); |
| 68 | + |
64 | 69 | /**
|
65 | 70 | * Maximum number of deletes in a {@link DeleteObjectsRequest}.
|
66 | 71 | * @see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/multiobjectdeleteapi.html">S3 Documentation</a>.
|
@@ -189,6 +194,10 @@ private void doDeleteBlobs(List<String> blobNames, boolean relative) throws IOEx
|
189 | 194 | outstanding.removeAll(keysInRequest);
|
190 | 195 | outstanding.addAll(
|
191 | 196 | e.getErrors().stream().map(MultiObjectDeleteException.DeleteError::getKey).collect(Collectors.toSet()));
|
| 197 | + logger.warn( |
| 198 | + () -> new ParameterizedMessage("Failed to delete some blobs {}", e.getErrors() |
| 199 | + .stream().map(err -> "[" + err.getKey() + "][" + err.getCode() + "][" + err.getMessage() + "]") |
| 200 | + .collect(Collectors.toList())), e); |
192 | 201 | aex = ExceptionsHelper.useOrSuppress(aex, e);
|
193 | 202 | } catch (AmazonClientException e) {
|
194 | 203 | // The AWS client threw any unexpected exception and did not execute the request at all so we do not
|
|
0 commit comments