Skip to content

Fix dissemination failure despite satisfying RequiredPeerCount#5502

Open
drupadh-dinesh wants to merge 1 commit into
hyperledger:mainfrom
drupadh-dinesh:fix/privdata-dissemination-ack-handling
Open

Fix dissemination failure despite satisfying RequiredPeerCount#5502
drupadh-dinesh wants to merge 1 commit into
hyperledger:mainfrom
drupadh-dinesh:fix/privdata-dissemination-ack-handling

Conversation

@drupadh-dinesh

Copy link
Copy Markdown
Contributor

Type of change

  • Bug fix

Description

Previously, private data dissemination created multiple dissemination plans and assigned acknowledgement requirements (MinAck) to specific peers. As a result, dissemination could fail when an acknowledgement was not received from one of the designated peers, even if acknowledgements from other selected peers satisfied the collection's RequiredPeerCount.

This change updates dissemination planning to:

  • Select peers across organisations first, then select additional peers up to MaximumPeerCount.
  • Aggregate selected peers into a single dissemination plan.
  • Validate acknowledgements against the overall RequiredPeerCount instead of requiring acknowledgements from specific peers.
  • Prevent dissemination failures when the required number of acknowledgements is received from the selected peer set, regardless of which individual peers respond.

Additional details

Implementation changes include:

  • Replacing multiple per-peer dissemination plans with a single dissemination plan containing all selected peers.
  • Aggregating peer eligibility using a PKI ID lookup set.
  • Selecting additional peers using a partial Fisher-Yates shuffle to avoid duplicate selection and improve efficiency.
  • Enforcing MaximumPeerCount during peer selection across organisations.

@drupadh-dinesh drupadh-dinesh requested a review from a team as a code owner June 20, 2026 09:42
@drupadh-dinesh drupadh-dinesh force-pushed the fix/privdata-dissemination-ack-handling branch from 4509add to 00aef3d Compare June 20, 2026 10:07
@drupadh-dinesh drupadh-dinesh marked this pull request as draft June 20, 2026 11:13
Signed-off-by: Drupadh Dinesh <drupadhdinesh@gmail.com>
@drupadh-dinesh drupadh-dinesh force-pushed the fix/privdata-dissemination-ack-handling branch from 00aef3d to a4673c7 Compare June 20, 2026 11:25
@drupadh-dinesh drupadh-dinesh marked this pull request as ready for review June 20, 2026 11:55
@drupadh-dinesh

Copy link
Copy Markdown
Contributor Author

Hi @pfi79 ,
Could you please review when you have a chance? Thanks!

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.

1 participant