-
Notifications
You must be signed in to change notification settings - Fork 2
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
No longer track partially commited element references #206
Conversation
/azp run iTwin.imodel-transformer docs |
Azure Pipelines successfully started running 1 pipeline(s). |
What is the thought process behind removing the models and relationships? |
The transformer did not handle those before as well. The References to Models will be resolved the same way as references to Elements, because transformer will check for existence of a Model through its modeled element which will always have the same Id. As for Relationships, |
Tracking each unresolved reference to be able to resolve it as soon as possible has a big impact on memory consumption when there are large amounts of pending references. One such case is multiple display styles with hundreds of thousands of excluded elements. The transformer now only keeps track of element and aspect ids that were only partially completed. These elements and aspects will be reprocessed once all the elements have been processed by the transformer. The only unresolvable references at that point will be the elements that were intentionally filtered out by the transformer or the invalid ones. --------- Co-authored-by: Nick Tessier <22119573+nick4598@users.noreply.github.com>
Tracking each unresolved reference to be able to resolve it as soon as possible has a big impact on memory consumption when there are large amounts of pending references.
One such case is multiple display styles with hundreds of thousands of excluded elements.
The transformer now only keeps track of element and aspect ids that were only partially completed. These elements and aspects will be reprocessed once all the elements have been processed by the transformer. The only unresolvable references at that point will be the elements that were intentionally filtered out by the transformer or the invalid ones.