[
https://issues.apache.org/jira/browse/HDDS-15794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Siyao Meng updated HDDS-15794:
------------------------------
Description:
I was looking into other things but this pops up. Figure I should raise a quick
patch for this.
Same family as HDDS-15521:
(1) when the datanode ends the gRPC stream while the client awaits requested
data, {{poll()}} returns null and {{readFromQueue()}} throws NPE, which also
bypasses {{handleExceptions()}} retry/failover since it isn't an IOException
(2) the {{onNext}} error path throws {{IndexOutOfBoundsException}} building a
10-byte hex preview of payloads under 10 bytes before {{setFailed()}} records
the real failure, and dereferences a possibly-null {{{}getResponse(){}}}.
was:
I was looking into other things but this pops out. Figure I should raise a
quick patch for this.
Same family as HDDS-15521:
(1) when the datanode ends the gRPC stream while the client awaits requested
data, {{poll()}} returns null and {{readFromQueue()}} throws NPE, which also
bypasses {{handleExceptions()}} retry/failover since it isn't an IOException
(2) the {{onNext}} error path throws {{IndexOutOfBoundsException}} building a
10-byte hex preview of payloads under 10 bytes before {{setFailed()}} records
the real failure, and dereferences a possibly-null {{{}getResponse(){}}}.
> StreamBlockInputStream can NPE on premature stream completion and masked
> failure in onNext error handling
> ---------------------------------------------------------------------------------------------------------
>
> Key: HDDS-15794
> URL: https://issues.apache.org/jira/browse/HDDS-15794
> Project: Apache Ozone
> Issue Type: Bug
> Components: Ozone Client
> Reporter: Siyao Meng
> Assignee: Siyao Meng
> Priority: Major
>
> I was looking into other things but this pops up. Figure I should raise a
> quick patch for this.
>
> Same family as HDDS-15521:
> (1) when the datanode ends the gRPC stream while the client awaits requested
> data, {{poll()}} returns null and {{readFromQueue()}} throws NPE, which also
> bypasses {{handleExceptions()}} retry/failover since it isn't an IOException
> (2) the {{onNext}} error path throws {{IndexOutOfBoundsException}} building a
> 10-byte hex preview of payloads under 10 bytes before {{setFailed()}} records
> the real failure, and dereferences a possibly-null {{{}getResponse(){}}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]