Skip to content

HDDS-15602. Read pipeline ID does not need to use secure random#10571

Open
ivandika3 wants to merge 6 commits into
apache:masterfrom
ivandika3:HDDS-15602
Open

HDDS-15602. Read pipeline ID does not need to use secure random#10571
ivandika3 wants to merge 6 commits into
apache:masterfrom
ivandika3:HDDS-15602

Conversation

@ivandika3

@ivandika3 ivandika3 commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

We found that the CPU time of createPipelineForRead during high read traffic is mostly spent waiting on the SecureRandom monitor lock during the UUID random generation. SecureRandom is static and therefore lock should be static which also contends with all other UUID generation and can affect performance (as per Amdahl's law). I don't think it is required to use SecureRandom for read pipeline ID since the read pipeline ID is not sensitive (AFAIK it's throwaway ID) and predicting the next read pipeline ID should not have any security implication

What is the link to the Apache JIRA

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

How was this patch tested?

CI

@ivandika3 ivandika3 changed the title HDDS-15602. PipelineId randomId does not need to use secure random HDDS-15602. Read pipeline ID does not need to use secure random Jun 22, 2026

@adoroszlai adoroszlai left a comment

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.

Thanks @ivandika3 for the patch. Functionality looks good. I'd like to suggest some changes to reduce duplication.

HDDS-15602_review.patch

@ivandika3 ivandika3 self-assigned this Jun 22, 2026
@ivandika3 ivandika3 marked this pull request as ready for review June 22, 2026 14:07
@ivandika3

Copy link
Copy Markdown
Contributor Author

Thanks @adoroszlai for the suggestion. Applied.

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.

2 participants