Skip to content

DAOS-19368 vos: callbacks' rcs should not produce iterator errors - #18764

Closed
janekmi wants to merge 1 commit into
masterfrom
janekmi/DAOS-19368-cb-rcs-are-different
Closed

DAOS-19368 vos: callbacks' rcs should not produce iterator errors#18764
janekmi wants to merge 1 commit into
masterfrom
janekmi/DAOS-19368-cb-rcs-are-different

Conversation

@janekmi

@janekmi janekmi commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@janekmi
janekmi requested a review from NiuYawei July 31, 2026 17:31
@github-actions

Copy link
Copy Markdown

Ticket title is 'Aurora daos_user: Observed Error message in log "DER_KEY2BIG(-2012): 'Key is too large'" while doing rebuild'
Status is 'In Progress'
Labels: 'ALCF'
https://daosio.atlassian.net/browse/DAOS-19368

Comment thread src/vos/vos_iterator.c
/* Do not print error messages for errors produced by callbacks. */
if (!cb_rc) {
VOS_TX_LOG_FAIL(rc, "abort iteration type:%d, " DF_RC "\n", type, DP_RC(rc));
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think printing errors returned by callback is fine. The fundamental issue is that the callback shouldn't return error code when it isn't actually an error.

What if we fix the places in src/object/srv_enum.c that return -DER_KEY2BIG? Instead of returning an error code, they should return 1 and set a flag in ds_obj_enum_arg. Then ds_obj_enum_pack() can check that flag and return -DER_KEY2BIG to the caller.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I very much like this idea. Error codes strictly reserved to internals. Callback can indicate either a failure or success but it has to pass the details on its own.

Here is a new draft: #18767

@janekmi janekmi closed this Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants