Skip to content

Transfer: avoid checksum-path crash when JFR message source is unresolved#8155

Draft
DmitryLitvintsev with Copilot wants to merge 2 commits into
masterfrom
copilot/dcache-112-fix-multiple-checksum
Draft

Transfer: avoid checksum-path crash when JFR message source is unresolved#8155
DmitryLitvintsev with Copilot wants to merge 2 commits into
masterfrom
copilot/dcache-112-fix-multiple-checksum

Conversation

Copilot AI commented Jul 13, 2026

Copy link
Copy Markdown

In 11.2, GridFTP checksum flows (CKSM) can execute Transfer.readNameSpaceEntry* before a cell address is set, causing IllegalStateException from JFR message instrumentation and failing checksum negotiation. This regressed checksum handling for clients that request/verify checksums during upload.

  • Problem focus

    • Transfer JFR event source construction assumed _cellAddress is always initialized.
    • Checksum-calculation transfer paths can legally run without that initialization.
  • Code changes

    • Added a safe source builder in Transfer:
      • returns "<unknown>" when _cellAddress is absent
      • otherwise returns cell@domain
    • Replaced direct getCellName() + "@" + getDomainName() usage in JFR event setup for:
      • namespace read (PnfsGetFileAttributes)
      • pool selection
      • mover start
      • mover kill
  • Regression coverage

    • Added TransferTest to verify namespace read works when no cell address is set (the failing precondition in this issue).
private synchronized String getMessageEventSource() {
    return _cellAddress == null ? "<unknown>"
          : _cellAddress.getCellName() + "@" + _cellAddress.getCellDomainName();
}

Copilot AI changed the title [WIP] Fix lost ability to specify multiple checksum in dCache 11.2 Transfer: avoid checksum-path crash when JFR message source is unresolved Jul 13, 2026
Copilot AI requested a review from DmitryLitvintsev July 13, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dCache 11.2 : lost ability to specify multiple checskum

2 participants