errose28 commented on code in PR #503: URL: https://github.com/apache/ozone-site/pull/503#discussion_r3658003476
########## docs/08-developer-guide/04-project/01-git/03-feature-branches/03-merged-branches/17-hdds-10685-short-circuit-read.md: ########## @@ -0,0 +1,91 @@ +# HDDS-10685 : Short-Circuit Read + +Epic: [HDDS-10685](https://issues.apache.org/jira/browse/HDDS-10685) +Feature branch: https://github.com/apache/ozone/tree/HDDS-10685 + +## 1. Builds/intermittent test failures + +There are no intermittent failures specific to the HDDS-10685 branch as of now. During the development, it was ensured all the CI checks were clean prior to every commit merge. + +The plan is to run repeated CI checks on the merge commit to master. + +## 2. Documentation + +[User Documentation](https://github.com/apache/ozone/blob/HDDS-10685/hadoop-hdds/docs/content/feature/Short-Circuit-Read.md) of Short Circuit Read has been added. + +## 3. Design, attached the docs + +Design document can be found here : [Short Circuit Read Support](https://github.com/apache/ozone/blob/HDDS-10685/hadoop-hdds/docs/content/design/short-circuit-read.md). + +## 4. S3 compatibility + +N/A, S3 compatibility remains the same. Short Circuit Read only affects the client and DataNode read path. + +## 5. Docker-compose / Acceptance tests + +New robot test [short-circuit.robot](https://github.com/apache/ozone/blob/HDDS-10685/hadoop-ozone/dist/src/main/smoketest/short-circuit/short-circuit.robot) is being added. + +New acceptance tests are added, mainly tests the Short Circuit Read metrics. It does not test fault injection. + +## 6. Support of containers / Kubernetes + +No addition. No change in existing support. + +## 7. Coverage / Code quality + +[New Code Coverage](https://sonarcloud.io/summary/new_code?id=hadoop-ozone&branch=HDDS-10685) for Short Circuit Read Support (HDDS-10685) is 80.78%% and [Overall Code Coverage](https://sonarcloud.io/summary/overall?id=hadoop-ozone&branch=HDDS-10685) is 78.5%. +[Overall Code Coverage](https://sonarcloud.io/summary/overall?id=hadoop-ozone&branch=master) for master is 78.5%%. + +## 8. Build time + +[Build time for the latest commit](https://github.com/apache/ozone/actions/runs/27126447271/job/80056268213) from HDDS-10685 Branch is 9m 59s. +[Build time for the latest commit](https://github.com/apache/ozone/actions/runs/29915076929/job/88926295859) from the master branch is 10m 43s. + +## 9. Possible incompatible changes/used feature flag + +Short-circuit read is gated by the non-rolling upgrade framework as HDDSLayoutFeature.SHORT_CIRCUIT_READS (layout version 11). Review Comment: Then this is not correct and was not tested. It is always the newest component's responsibility to handle compatibility, and Datanode layout feature is never communicated to the client so it is impossible for a new client to do anything about this with the current implementation. If we actually want the new client to do some handling with an old server, the layout feature should be removed and a `DatanodeVersion` needs to be added instead with a check on the client side. However, SCR may not even be enabled on the server side regardless of its version and finalization status, so we would need a transparent fallback anyways. The `DatanodeVersion` would just save a retry as a regular read for the new client case. It looks like a `LayoutFeature` is not required either way since I don't see any downgrade implications. The two version system is confusing, that's why we've reduced it to a single version in ZDU so this type of thing should be easier to follow going forward. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
