Skip to content

Conversation

@aswinshakil
Copy link
Member

What changes were proposed in this pull request?

Currently the client will get an IO_EXCEPTION result code when requesting the merkle tree of a peer that has not been generated yet. If the container is not open, have the peer build the merkle tree from metadata and return this instead. This change builds merkle tree if it's not available.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-12990

How was this patch tested?

Existing tests.

Copy link
Contributor

@errose28 errose28 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a minor typo in the log message otherwise LGTM.

@aswinshakil aswinshakil marked this pull request as ready for review August 5, 2025 23:06
@errose28 errose28 merged commit d824369 into apache:master Aug 6, 2025
53 checks passed
@ivandika3
Copy link
Contributor

@errose28 @aswinshakil This seems to break master. Please kindly help to rectify it.

adoroszlai added a commit that referenced this pull request Aug 7, 2025
@errose28
Copy link
Contributor

errose28 commented Aug 7, 2025

Good catch @ivandika3 and @adoroszlai. Looks like the order of events was:

I'm not sure if there's a way to prevent these sort of issues entirely, since there's always going to be a gap between when a PR's CI completes and when it is merged, during which any other change could show up in master. I guess if reviewers are aware of related changes in master they can re-trigger the CI before merge.

@ivandika3
Copy link
Contributor

ivandika3 commented Aug 8, 2025

Thanks @adoroszlai for helping to resolve the issue promptly and @errose28 for tracing the issue.

I'm not sure if there's a way to prevent these sort of issues entirely, since there's always going to be a gap between when a PR's CI completes and when it is merged, during which any other change could show up in master.

Yes, IMO it's an acceptable tradeoff between occasional compile issue and needing to merge to latest master (which will slow down merge). I think it's OK if we can rectify the issue quickly (e.g. checking master branch frequently + checking for notification for CI failures on master when the PR is merged).

@adoroszlai By the way, can I check whether any committer / PMC has the privilege to push directly to master to fix compile issue or is there any SOP that we need to follow?

@adoroszlai
Copy link
Contributor

whether any committer / PMC has the privilege to push directly to master

Yes.

a way to prevent these sort of issues entirely

Not completely, but here's a basic sanity check to be run locally before merge:

git fetch origin
gh pr checkout 8881
git merge --no-commit origin/master \
  && mvn -DskipRecon -DskipShade -DskipTests clean verify \
  && ./hadoop-ozone/dev-support/checks/checkstyle.sh \
  && ./hadoop-ozone/dev-support/checks/pmd.sh

(It uses GitHub CLI, but can also be done using few more lower level commands.)

errose28 added a commit to errose28/ozone that referenced this pull request Aug 12, 2025
* master: (55 commits)
  HDDS-13525. Rename configuration property to ozone.om.compaction.service.enabled (apache#8928)
  HDDS-13519. Reconciliation should continue if a peer datanode is unreachable (apache#8908)
  HDDS-13566. Fix incorrect authorizer class in ACL documentation (apache#8931)
  HDDS-13084. Trigger on-demand container scan when a container moves from open to unhealthy. (apache#8904)
  HDDS-13432. Accelerating Namespace Usage Calculation in Recon using - Materialised Approach (apache#8797)
  HDDS-13557. Bump jline to 3.30.5 (apache#8920)
  HDDS-13556. Bump assertj-core to 3.27.4 (apache#8919)
  HDDS-13543. [Docs] Design doc for OM bootstrapping process with snapshots. (apache#8900)
  HDDS-13541. Bump sonar-maven-plugin to 5.1.0.4751 (apache#8911)
  HDDS-13101. Remove duplicate information in datanode list output (apache#8523)
  HDDS-13528. Handle null paths when the NSSummary is initializing (apache#8901)
  HDDS-12990. (addendum) Generate tree from metadata when it does not exist during getContainerChecksumInfo call (apache#8881)
  HDDS-13086. Block duplicate reconciliation requests for the same container and datanode within the datanode. (apache#8905)
  HDDS-12990. Generate tree from metadata when it doesn't exist during getContainerChecksumInfo call (apache#8881)
  HDDS-12824. Optimize container checksum read during datanode startup (apache#8604)
  HDDS-13522. Rename axisLabel for No. of delete request received (apache#8879)
  HDDS-12196. Document ozone repair cli (apache#8849)
  HDDS-13514. Intermittent failure in TestNSSummaryMemoryLeak (apache#8889)
  HDDS-13423. Log reason for triggering on-demand container scan (apache#8854)
  HDDS-13466. Disable flaky TestOmSnapshotFsoWithNativeLibWithLinkedBuckets
  ...
Gargi-jais11 pushed a commit to Gargi-jais11/ozone that referenced this pull request Aug 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants