Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.4.0, 3.3.6
-
None
-
None
-
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 keeps the public API stable
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 keeps the public API stable