[
https://issues.apache.org/jira/browse/HDDS-5852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17448659#comment-17448659
]
mingchao zhao edited comment on HDDS-5852 at 11/24/21, 2:49 PM:
----------------------------------------------------------------
Hi [~shashikant] [~szetszwo] [~sadanand_shenoy]
I think executing putBlock to update acknowledged Chunk while Exception
happening, might not work. By looking at the [current
UT|https://github.com/apache/ozone/blob/HDDS-4454/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBlockDataStreamOutput.java#L182],
we trigger retry by shutting down Containers before out.colse() (in
production environment , there might be problems causing the Containers shut
down).
At this moment, if we use putBlock update acknowledged Chunk will failing,
because Ozone does [not support putBlock on closed
Containers|https://github.com/apache/ozone/blob/HDDS-4454/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueHandler.java#L184].
This Retry is triggered because Ozone does not allow it. If Ozone had allowed
this, this retry would not have occurred.
was (Author: micahzhao):
Hi [~shashikant] [~szetszwo] [~sadanand_shenoy]
I think executing putBlock to update acknowledged Chunk while Exception
happening, might not work. By looking at the [current
UT|https://github.com/apache/ozone/blob/HDDS-4454/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBlockDataStreamOutput.java#L182],
we trigger retry by shutting down Containers before out.colse() (in
production environment , there might be problems causing the Containers shut
down).
At this moment, if we use putBlock update acknowledged Chunk will failing,
because[ Ozone does not support putBlock on closed
Containers|https://github.com/apache/ozone/blob/HDDS-4454/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueHandler.java#L184].
This Retry is triggered because Ozone does not allow it. If Ozone had allowed
this, this retry would not have occurred.
> Ensure putBlock gets executed on last acknowledged streaming chunk write on
> exception
> -------------------------------------------------------------------------------------
>
> Key: HDDS-5852
> URL: https://issues.apache.org/jira/browse/HDDS-5852
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Shashikant Banerjee
> Assignee: Sadanand Shenoy
> Priority: Major
>
> Curently, with https://issues.apache.org/jira/browse/HDDS-5674 on retry , the
> data is rewritten from the last acknowledged putBlock commit . On exception
> during streaming writes, putBlock should first be executed for the length of
> the last acknowledged streaming write and then remaining data in the buffers
> should be rewritten on a different pipeline.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]