Chi-Hsuan Huang created HDDS-15941:
--------------------------------------
Summary: Resolve client before block loop and return null from
sortDatanodesForWrite
Key: HDDS-15941
URL: https://issues.apache.org/jira/browse/HDDS-15941
Project: Apache Ozone
Issue Type: Improvement
Reporter: Chi-Hsuan Huang
Assignee: Chi-Hsuan Huang
Follow\-up to the HDDS\-15059 review feedback in
[https://github.com/apache/ozone/pull/10633#pullrequestreview\-4746713524:|https://github.com/apache/ozone/pull/10633#pullrequestreview-4746713524:]
# In OMKeyRequest#allocateBlock, the client is fixed for the whole request, but
the current code retries client resolution for every pipeline when the client
cannot be resolved. Resolve the client once before the block loop, and when the
client cannot be resolved, fall back to SCM\-side sorting by passing the
remoteAddress to SCM.
[https://github.com/apache/ozone/pull/10633#discussion\_r3623837258|https://github.com/apache/ozone/pull/10633#discussion_r3623837258]
# KeyManagerImpl#sortDatanodesForWrite returns the input list instance to
signal that no sort happened, and the caller checks reference equality
\(sortedNodes \!= nodes\). This looks like a bug and is fragile \(someone may
change it to equals later\). Return null instead when no sort happens, and have
callers check for null.
[https://github.com/apache/ozone/pull/10633#discussion\_r3623861478|https://github.com/apache/ozone/pull/10633#discussion_r3623861478]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]