lakshmi-manasa-g commented on a change in pull request #1511:
URL: https://github.com/apache/samza/pull/1511#discussion_r677886094
##########
File path:
samza-azure/src/main/java/org/apache/samza/system/azureblob/avro/AzureBlobOutputStream.java
##########
@@ -335,6 +335,11 @@ public void run() {
// StageBlock generates exception on Failure.
stageBlock(blockIdEncoded, outputStream, blockSize);
break;
+ } catch (InterruptedException e) {
+ String msg = "Upload block for blob: " +
blobAsyncClient.getBlobUrl().toString()
+ + " failed for blockid: " + blockId + " due to
InterruptedException ";
+ LOG.error(msg, e);
+ throw new AzureException("InterruptedException encountered during
block upload. Will not retry.", e);
Review comment:
original idea of retry was to deal with azure blob storage connection
issues.
Now the user of AzureBlobSystemProducer has a need where they want to
interrupt the thread themselves if it doesnt stop within a set period of time
(stop on thread invoked by them again). In such a scenario, they expect the
thread to be killed immediately and producer bubble up the exception so that
they can handle the exception in an appropriate manner. since they are dealing
at the thread level and not producer level, it becomes hard for them to
identify the producer of the thread and handle producer exceptions.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]