Fixed wonky execution issues#4674
Merged
sharadkjaiswal merged 1 commit intoDynamoDS:masterfrom Jun 10, 2015
Merged
Conversation
sharadkjaiswal
added a commit
that referenced
this pull request
Jun 10, 2015
Fixed wonky execution issues
Contributor
|
Thanks @benglin, please merge it to RC0.8.1_master branch. |
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Purpose
This pull request is meant to fix multiple wonky Dynamo execution issues that have recently been reported. The crux of the issue lies with multiple execution requests have been dropped due to an incorrect condition that guards against further execution in
HomeWorkspaceModel.Run. Take for example the following graph:When the code block node is updated from
xto9, the following calls take place in sequence (they indirectly invokeHomeWorkspaceModel.Runmethod):Dynamo.Nodes.CodeBlockNodeModel.SaveAndDeleteConnectors(...)Dynamo.Nodes.CodeBlockNodeModel.LoadAndCreateConnectors(...)Dynamo.Nodes.CodeBlockNodeModel.SetCodeContent(...)Since step
1setsRunSettings.RunEnabled = false, subsequently steps2and3do not result inUpdateGraphAsyncTaskbeing scheduled (even thoughHomeWorkspaceModel.Runis called, it returns prematurely). Step3is crucial because it ultimately generates AST node with the right value for execution, without that, downstream node executes with wrong input:The same sequence of events take place when code block node is then updated to
5, except the fact that downstream node no longer get any input (which turned it into a partially applied_SingleFunctionObject):Declarations
Check these if you believe they are true
Reviewers
Hi @sharadkjaiswal, as discussed, please have a look.
FYIs
Hi @lukechurch, @ikeough, @Randy-Ma feel free to comment on this. If the review is completed earlier, I will merge this in for wider testing.
Hi @monikaprabhu, this pull request effectively reverts the code changes in another pull request. For that, I have verified the fix for
MAGN-7251remained fixed (since selection nodes get disabled when Revit document changes), but please perform more thorough tests on relevant scenarios. Thanks!