Optimize cascading validation for large lists

Activity

Show:

Yoann Rodière October 31, 2023 at 8:21 AM

Some notes from a meeting we had with and about this specific issue:

Solution #1 (Guillaume): detect statically that a tree doesn’t involve the same class twice. All cycle/duplicate detection can be disabled then.

Partially implemented, but for 6.2 only, and method validation is not implemented yet.

 

Solution #2 (Yoann): offer a mode switch (“huge tree mode”) to only track the nodes between the root and current node (for cycle detection). Disable duplicate detection during the walk; if we encounter the same node twice, we will validate it twice. If validation fails, before adding the violation we will go through previous violations: if a violation already exists for the same object and constraint, we ignore this new violation.

 

Solution #3: offer a mode where we only do cycle detection and disable duplicate detection entirely, without any attempt at replacing it.

Maybe this is already implemented, there seems to be some configuration flag?

Details

Assignee

Reporter

Participants

Former user
Lynch Christopher
Yoann Rodière

Pull Request

Components

Affects versions

Priority

Created February 16, 2021 at 3:57 PM
Updated December 12, 2024 at 11:26 AM