fix: schemas should be created with lineage_id == id #5147
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On demand asset installation can produce identical Schema nodes by id, but they will have different lineage ids. Since the lineage ids are different, we will treat them as new nodes on the graph. The idempotency of our updates usually means this is fine. But the interaction with the code to ensure there is only one default edge caused an issue.
This fixes both, by ensuring new schemas are always created with the lineage id equal to the schema id. This will ensure we compare the nodes instead of treating the schema node as a new node.
It also ensures that if a new edge update comes in that sets a schema variant to the default, but that variant is already default, we preserve that default.