[Compiler Refactor 3] Use immutable list instead of mutable list in logical plan#1795
Merged
Conversation
shengquan-ni
approved these changes
Jan 18, 2023
zuozhiw
added a commit
that referenced
this pull request
Jan 19, 2023
This PR refactors the logical plan layer of the workflow. A new `LogicalPlan` class is created to replace the old `WorkflowInfo` class. The `LogicalPlan` class: - represents a DAG of logical operators (OperatorDescriptors) - provide helper functions on the DAG - provide schema propagation on the logical DAG (schema propagation code is moved from `WorkflowCompiler` to `LogicalPlan` Furthermore, the disabled test cases in #1795 are added back in this PR.
yangzhang75
pushed a commit
to yangzhang75/texera
that referenced
this pull request
Jun 22, 2026
…st in logical plan (apache#1795) This PR is a small refactor to replace `mutable.MutableList` with the corresponding immutable `List` in scala. This refactor helps the engine to use immutable data structures more often, which is considered a better practice in scala. Some minor failed tests in `WorkflowRewriterSpec` are disabled temporarily. These test cases involves minor and unimportant cases in workflow cache feature. They will be fixed and enabled again once the whole refactor is completed.
yangzhang75
pushed a commit
to yangzhang75/texera
that referenced
this pull request
Jun 22, 2026
This PR refactors the logical plan layer of the workflow. A new `LogicalPlan` class is created to replace the old `WorkflowInfo` class. The `LogicalPlan` class: - represents a DAG of logical operators (OperatorDescriptors) - provide helper functions on the DAG - provide schema propagation on the logical DAG (schema propagation code is moved from `WorkflowCompiler` to `LogicalPlan` Furthermore, the disabled test cases in apache#1795 are added back in this PR.
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.
This PR is a small refactor to replace
mutable.MutableListwith the corresponding immutableListin scala. This refactor helps the engine to use immutable data structures more often, which is considered a better practice in scala.Some minor failed tests in
WorkflowRewriterSpecare disabled temporarily. These test cases involves minor and unimportant cases in workflow cache feature. They will be fixed and enabled again once the whole refactor is completed.Update: these case tests are added back in #1800