Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: prevent cyclic traversals in esc13 post processing #803

Merged
merged 1 commit into from
Aug 23, 2024
Merged

Conversation

urangel
Copy link
Contributor

@urangel urangel commented Aug 20, 2024

Description

Describe your changes in detail

This is an update to the traversal logic in ESC13 post processing for the func groupIsContainedOrTrusted.

Motivation and Context

Why is this change required? What problem does it solve?

ESC13 post processing logic involved checking whether a group is contained or trusted based on the domain being processed. Domain trusts, which are often "bidirectional", were being traversed but there was no check in the traversal for whether a cycle was encountered. Encountering a cycle was drastically increasing analysis times as the reverse walk for the pathVisitor would go back and forth between the trusting domains.

The ExpansionFilter property of a TraversalPlan was exported so that it could be used outside of the package similarly to the already defined acyclic traversal functions.

This PR addresses: BED-4378

How Has This Been Tested?

Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc.

Existing ESC13 integration tests continue to pass. A collection which prompted the issue was ingested via file upload before making changes to verify the long running analysis (hours). After the changes were made, the same collection was uploaded and the analysis time reduced to a couple of seconds.

Screenshots (optional):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

@urangel urangel added bug Something isn't working api A pull request containing changes affecting the API code. labels Aug 20, 2024
@urangel urangel self-assigned this Aug 20, 2024
@urangel urangel merged commit a14c9fb into main Aug 23, 2024
4 checks passed
@urangel urangel deleted the BED-4378 branch August 23, 2024 14:12
@github-actions github-actions bot locked and limited conversation to collaborators Aug 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
api A pull request containing changes affecting the API code. bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants