You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "mingchao zhao (Jira)" <ji...@apache.org> on 2021/11/24 14:49:00 UTC

[jira] [Commented] (HDDS-5852) Ensure putBlock gets executed on last acknowledged streaming chunk write on exception

    [ https://issues.apache.org/jira/browse/HDDS-5852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17448659#comment-17448659 ] 

mingchao zhao commented on HDDS-5852:
-------------------------------------

Hi [~shashikant][~sadanand_shenoy] [~szetszwo]
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: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org