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

ASF GitHub Bot commented on HADOOP-19105:
-----------------------------------------

steveloughran opened a new pull request, #7105:
URL: https://github.com/apache/hadoop/pull/7105

   
   Add a new releaser method, which then is invoked to release buffers on 
failure.
   
   It is a bit contrived how we try not break external implementations when 
adding a new default implementation to PositionedReadable: the releaser will be 
lost unless they do so.
   
   
   
   
   
   ### For code changes:
   
   - [ ] Does the title or this PR starts with the corresponding JIRA issue id 
(e.g. 'HADOOP-17799. Your PR title ...')?
   - [ ] Object storage: have the integration tests been executed and the 
endpoint declared according to the connector-specific documentation?
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   - [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, 
`NOTICE-binary` files?
   
   




> S3A: Recover from Vector IO read failures
> -----------------------------------------
>
>                 Key: HADOOP-19105
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19105
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 3.4.0, 3.3.6
>         Environment: This keeps the public API stable
>            Reporter: Steve Loughran
>            Priority: Major
>
> s3a vector IO doesn't try to recover from read failures the way read() does.
> Need to
> * abort HTTP stream if considered needed
> * retry active read which failed
> * but not those which had succeeded
> On a full failure we need to do something about any allocated buffer, which 
> means we really need the buffer pool {{ByteBufferPool}} to return or also 
> provide a "release" (Bytebuffer -> void) call which does the return.  we 
> would need to
> * add this as a new api with the implementations in s3a, local, rawlocal
> * classic single allocator method remaps to the new one with (() -> null) as 
> the response



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to