[
https://issues.apache.org/jira/browse/HDDS-16720?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gargi Jaiswal resolved HDDS-16720.
----------------------------------
Fix Version/s: 2.3.0
Resolution: Fixed
> Count SCR GetBlock bytes in both bytesGetBlock and localBytesGetBlock
> ---------------------------------------------------------------------
>
> Key: HDDS-16720
> URL: https://issues.apache.org/jira/browse/HDDS-16720
> Project: Apache Ozone
> Issue Type: Bug
> Components: Ozone Datanode
> Reporter: Elavarasan Kathirvel
> Assignee: Gargi Jaiswal
> Priority: Minor
> Labels: pull-request-available, short-circuit-read
> Fix For: 2.3.0
>
>
> {quote}When Short-Circuit Read (SCR) is enabled and a co-located client reads
> a key via the domain-socket path, {{numLocalGetBlock}} correctly increments —
> but {{numGetBlock}} also increments, even though SCR did not use the
> remote/gRPC read path.
> This makes {{numGetBlock}} unreliable for SCR validation and causes
> double-counting in datanode metrics.
> *Expected behavior:*
> * SCR reads should increment only {{{}numLocalGetBlock{}}}. gRPC reads
> should increment only {{{}numGetBlock{}}}.
> *Actual behavior:*
> {quote} *
> {quote}SCR reads increment both numLocalGetBlock and numGetBlock is
> incremented twice for one read.
> {quote}
> Above behavior is not a problem,
> Short-circuit reads use a domain socket, but the datanode still handles
> GetBlock through the same dispatcher as gRPC. So *{{numGetBlock}}* counts
> every GetBlock (gRPC and short-circuit), not gRPC only.
> *Similarly,*
> On short-circuit, only {{l{*}ocalBytesGetBlock{*}}} is updated;
> *{{bytesGetBlock}}* should also increase (same idea as the counters).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]