-
Notifications
You must be signed in to change notification settings - Fork 138
feat: add loop operators #4206
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
Open
aglinxinyuan
wants to merge
263
commits into
main
Choose a base branch
from
xinyuan-loop-feb
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat: add loop operators #4206
Changes from all commits
Commits
Show all changes
263 commits
Select commit
Hold shift + click to select a range
b313e16
fix: update if operator state access
aglinxinyuan 808a5e7
fix fmt
aglinxinyuan 67c4e24
fix fmt
aglinxinyuan 5cd9657
fix fmt
aglinxinyuan 1173dd4
fix fmt
aglinxinyuan 907dd10
fix fmt
aglinxinyuan 42201cb
fix fmt
aglinxinyuan 94b874c
fix fmt
aglinxinyuan 345fa41
fix fmt
aglinxinyuan b6d14ee
fix fmt
aglinxinyuan 92905d8
fix fmt
aglinxinyuan fc8cdf8
init
aglinxinyuan 5c1d369
update
aglinxinyuan 52eace6
Apply xinyuan-loop-feb changes from 157156c onto main
aglinxinyuan 57e0f41
Merge branch 'xinyuan-state-only' into xinyuan-loop-feb
aglinxinyuan cce8da2
fix fmt
aglinxinyuan 45a51e1
Merge remote-tracking branch 'origin/xinyuan-loop-feb' into xinyuan-l…
aglinxinyuan 6be98d5
Merge branch 'main' into xiaozhen-sync-region-kill
aglinxinyuan e294684
Merge branch 'xiaozhen-sync-region-kill' into xinyuan-state-only
aglinxinyuan 9da2034
Merge branch 'xinyuan-state-only' into xinyuan-loop-feb
aglinxinyuan 2540c8a
test: add multiple state processing regression
aglinxinyuan e0bb804
fix fmt
aglinxinyuan 151eb15
fix fmt
aglinxinyuan 30a997b
Merge branch 'xinyuan-state-only' into xinyuan-loop-feb
aglinxinyuan 3c7f46b
Merge branch 'main' into xiaozhen-sync-region-kill
aglinxinyuan e5d8e50
Merge branch 'xiaozhen-sync-region-kill' into xinyuan-state-only
aglinxinyuan 233c8c8
Merge branch 'xinyuan-state-only' into xinyuan-loop-feb
aglinxinyuan 69bb785
update
aglinxinyuan 555e55d
Add scheduler jump-to-operator support
aglinxinyuan 001a409
Add scheduler jump test
aglinxinyuan 58d851d
update
aglinxinyuan a4a72cc
update
aglinxinyuan eafb7f6
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan d695dec
fix fmt
aglinxinyuan 8d3a45c
Merge branch 'main' into xinyuan-remove-passToAllDownstream
chenlica c4a5f6c
Merge branch 'main' into xinyuan-remove-passToAllDownstream
aglinxinyuan a0e4e21
Merge branch 'main' into xinyuan-remove-passToAllDownstream
chenlica abad7f1
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 3926100
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 80afe67
update
aglinxinyuan 84bd376
refactor: keep only state changes on top of main
aglinxinyuan b570aae
refactor: keep state changes without materialization
aglinxinyuan 3c0c816
feat: add state materialization support
aglinxinyuan bd1bc28
fix: keep only materialization change in region coordinator
aglinxinyuan 272caff
chore: drop local AGENTS file from branch
aglinxinyuan e7a0f15
test: cover state materialization round trip
aglinxinyuan 3c4dbb8
test: cover multiple state rows in materialization
aglinxinyuan 0588464
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan 72a3c24
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan cb1d9e1
fix fmt
aglinxinyuan 3df8fef
Merge branch 'main' into xinyuan-state-only
aglinxinyuan 9200094
Merge branch 'main' into xinyuan-remove-passToAllDownstream
aglinxinyuan f4b40a5
Merge branch 'xinyuan-remove-passToAllDownstream' into xinyuan-state-…
aglinxinyuan 193e7d3
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan 09537cb
Merge branch 'xinyuan-state-only' into xinyuan-state-materialization
aglinxinyuan 2484147
Merge branch 'main' into xinyuan-state-only
aglinxinyuan 9c00ac5
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 59e91c9
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan a5b5011
sync control channel cleanup on loop branch
aglinxinyuan ca43316
remove accidental AGENTS file from loop branch
aglinxinyuan 858539d
fix fmt
aglinxinyuan f182695
fix fmt
aglinxinyuan 2904bf6
fix fmt
aglinxinyuan 45bcb38
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan f327f0c
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 95bd924
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan 20e2ced
Refactor jump state into execution coordinator
aglinxinyuan 4c8cb5f
Simplify coordinator jump scheduling
aglinxinyuan b7c2e3b
fix fmt
aglinxinyuan 0aa5017
Clarify jump-to-region API
aglinxinyuan 612206f
Restore iterator-style coordinator wiring
aglinxinyuan 86cbdc5
fix fmt
aglinxinyuan 73d0e2f
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan f726337
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan baf5dbb
fix
aglinxinyuan ba6104f
fix fmt
aglinxinyuan cff7fb1
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 560b670
update
aglinxinyuan 3579bc1
update
aglinxinyuan 802bdd0
update
aglinxinyuan 9f5feab
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan f5ef447
update
aglinxinyuan 24ac4ed
Merge branch 'main' into xinyuan-state-only
aglinxinyuan cd6809d
Merge branch 'xinyuan-state-only' into xinyuan-state-materialization
aglinxinyuan 488ed16
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan 7a2038a
Merge branch 'main' into xiaozhen-sync-region-kill
aglinxinyuan f875fab
Merge branch 'xiaozhen-sync-region-kill' into xinyuan-loop-feb
aglinxinyuan 937c6df
Merge branch 'main' into xiaozhen-sync-region-kill
aglinxinyuan c06c241
Merge branch 'xiaozhen-sync-region-kill' into xinyuan-loop-feb
aglinxinyuan cf16195
update
aglinxinyuan 488040e
update
aglinxinyuan c3ac307
update
aglinxinyuan 62d2854
update
aglinxinyuan 8a72f8d
Merge branch 'main' into xinyuan-state-only
aglinxinyuan ed650ea
fix(amber): keep per-task finally switches, drop run-loop end-of-body…
aglinxinyuan 60db011
fix: address state review comments
aglinxinyuan 74e2b1d
update
aglinxinyuan 2fe3270
update
aglinxinyuan 87330ec
update
aglinxinyuan 0f9a5f8
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 83e6fb5
fix fmt
aglinxinyuan d545e7d
Merge branch 'main' into xinyuan-state-only
Xiao-zhen-Liu 2716fc5
Merge branch 'main' into xinyuan-state-only
aglinxinyuan 178f59b
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 2ab9e00
test(amber): expand jump-to-operator-region coordinator coverage
aglinxinyuan 9472125
feat(amber): require Schedule level keys to be contiguous from 0
aglinxinyuan 6f40300
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan be4baff
Merge remote-tracking branch 'origin/main' into xinyuan-scheduler-jump
aglinxinyuan 264ca26
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 28a412b
Merge branch 'main' into xinyuan-state-only
aglinxinyuan 3b8ec8e
fix: make python State runtime type
aglinxinyuan 15a1bc8
Merge branch 'main' into xinyuan-state-only
aglinxinyuan 70d4a9a
Merge branch 'xinyuan-state-only' into xinyuan-state-materialization
aglinxinyuan 0756972
refactor: drop StateFrame.__post_init__ auto-coerce
aglinxinyuan d92ed51
fix fmt
aglinxinyuan 2a8966e
refactor(scala): move State serializers into the State class
aglinxinyuan 9be8139
Merge xinyuan-state-only + adapt callers to in-class State API
aglinxinyuan 7303189
fix fmt
aglinxinyuan b7842a0
Merge branch 'xinyuan-state-only' into xinyuan-state-materialization
aglinxinyuan a4827cd
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan 89e2276
Merge xinyuan-state-materialization into xinyuan-loop-feb
aglinxinyuan fbd2a4d
Merge branch 'xinyuan-loop-feb' of github.com:apache/texera into xiny…
aglinxinyuan 528a478
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan c0b0309
Merge branch 'main' into xinyuan-state-only
aglinxinyuan 0f90755
update
aglinxinyuan 3e86158
fix fmt
aglinxinyuan 80037ce
fix fmt
aglinxinyuan c1d19af
fix: route StateFrame through state.toTuple in PythonProxyClient
aglinxinyuan 180f481
Merge xinyuan-scheduler-jump into xinyuan-loop-feb
aglinxinyuan 407cd29
add test cases
aglinxinyuan b475f3a
Merge branch 'xinyuan-state-only' into xinyuan-state-materialization
aglinxinyuan e7f9d36
Merge branch 'main' into xinyuan-state-only
aglinxinyuan 0cc2d18
Merge branch 'xinyuan-state-only' into xinyuan-state-materialization
aglinxinyuan 1d55217
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan 11d68ef
Merge branch 'xinyuan-state-materialization' into xinyuan-loop-feb
aglinxinyuan 12bb7e4
refactor: drop redundant JumpToOperator API in favor of JumpToOperato…
aglinxinyuan c6aba8b
add test cases
aglinxinyuan 195fa3b
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan 481d757
add test cases
aglinxinyuan 08c5666
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan af1b059
Merge branch 'xinyuan-state-materialization' into xinyuan-loop-feb
aglinxinyuan 1b7460d
update
aglinxinyuan 47252b3
update
aglinxinyuan df5d347
update
aglinxinyuan 4d012d1
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan e906f5a
update
aglinxinyuan 869c7ea
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan 13c8824
Merge branch 'xinyuan-state-materialization' into xinyuan-loop-feb
aglinxinyuan 0b761b3
update
aglinxinyuan a32c56a
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan d2f9c0e
refactor(amber): move schedule-rewrite logic out of Schedule
aglinxinyuan 837323a
refactor(amber): use Schedule.copy in jumpToRegionContainingOperator
aglinxinyuan e1c6433
refactor(amber): simplify jumpToRegionContainingOperator to a cursor …
aglinxinyuan b89de48
refactor(amber): slim down Schedule to data + cursor
aglinxinyuan 0f55e37
refactor(amber): rename Schedule cursor to currentLevel
aglinxinyuan b62d7bd
refactor(amber): rename pullNextRegions to getNextRegions
aglinxinyuan 2fa51e0
refactor(amber): inline jump rewrite in JumpToOperatorRegionHandler
aglinxinyuan fc05cbe
refactor(amber): inline coordinator lookup in JumpToOperatorRegionHan…
aglinxinyuan 8c46d1a
refactor(amber): direct levelSets lookup in Schedule.next
aglinxinyuan e47de64
refactor(amber): use Map.isDefinedAt in Schedule.hasNext
aglinxinyuan daab8be
refactor(amber): inline coordinator getNextRegions
aglinxinyuan 9872d8e
refactor(amber): lazy-init WorkflowExecutionCoordinator with the real…
aglinxinyuan ec76300
revert(amber): drop lazy-init coordinator, keep direct replaceSchedul…
aglinxinyuan 010c829
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 8444b4c
chore(amber): drop placeholder-comment on ControllerProcessor coordin…
aglinxinyuan 7d4a00e
update
aglinxinyuan a32abcf
update
aglinxinyuan 6de0e4b
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 7d0bd96
feat(amber): record jumps as replay tails appended to the schedule
aglinxinyuan 664fdd9
refactor(amber): drop executionLevels, use cursor reset for jumps
aglinxinyuan 5c5b652
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 3b4d5f6
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan dd9e738
refactor(amber): move target-operator search into JumpToOperatorRegio…
aglinxinyuan 0c681ed
refactor(amber): drop initialSchedule constructor param on coordinator
aglinxinyuan c646d5b
refactor(amber): expose coordinator schedule as a public var
aglinxinyuan c0d02f9
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan ea3d5f1
update
aglinxinyuan 61985a2
Merge remote-tracking branch 'origin/xinyuan-scheduler-jump' into xin…
aglinxinyuan 6f5e725
Merge branch 'main' into xinyuan-scheduler-jump
aglinxinyuan 9b9aba8
update
aglinxinyuan bb839cf
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan 580e09c
Merge branch 'xinyuan-state-materialization' into xinyuan-loop-feb
aglinxinyuan 339f7a8
Merge branch 'xinyuan-scheduler-jump' into xinyuan-loop-feb
aglinxinyuan ff3a9d1
fix(amber): IfOpExec uses State.values map after state refactor
aglinxinyuan 58b1248
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan 32c7d84
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan dc74a72
Merge branch 'xinyuan-state-materialization' into xinyuan-loop-feb
aglinxinyuan b326684
fix fmt
aglinxinyuan 37ce61d
fix fmt
aglinxinyuan d84314a
fix fmt
aglinxinyuan 5905737
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan 6ad18e8
add tests
aglinxinyuan 39a4018
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan b8865e0
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan eb1f50d
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan 03d8189
fix tests
aglinxinyuan fb1e038
test(python): cover state-reader run() block and DocumentFactory routing
aglinxinyuan 3d160b9
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan 9174563
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan cba7fe0
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan ad60adb
fix
aglinxinyuan 5494240
fix
aglinxinyuan 7f8376e
fix
aglinxinyuan 1645717
fix
aglinxinyuan 10f243f
Merge branch 'main' into xinyuan-state-materialization
aglinxinyuan aff5611
Merge branch 'xinyuan-state-materialization' into xinyuan-loop-feb
aglinxinyuan 425b589
Merge remote-tracking branch 'origin/main' into xinyuan-loop-feb
aglinxinyuan f313ee5
fix(pyamber): track _storage_uris so reset_loopend_storage works
aglinxinyuan d635c57
update
aglinxinyuan 8294e96
fix(loop): drop stale uri_from_result_uri / uriFromResultUri helpers
aglinxinyuan 85e8cc2
init
aglinxinyuan 08d3834
init
aglinxinyuan fffe355
refactor(amber): extract workerIdx once in setupOutputStorageWriterTh…
aglinxinyuan 0cf9a0f
Revert "refactor(amber): extract workerIdx once in setupOutputStorage…
aglinxinyuan 7a320f6
init
aglinxinyuan 171f7d6
fix fmt
aglinxinyuan 538a821
fix fmt
aglinxinyuan 4502539
fix fmt
aglinxinyuan 53e4d79
refactor(storage): replace LoopEnd open-or-create try/catch with expl…
aglinxinyuan 2aec649
refactor: hoist isLoopEndRegion branch outside the per-URI guards
aglinxinyuan d0d35c2
test(pyamber): remove test_output_manager.py
aglinxinyuan 5a86b97
test(pyamber): remove test_document_factory.py
aglinxinyuan 240f9e6
test(pyamber): restore test_output_manager.py and test_document_facto…
aglinxinyuan 19b0cd9
refactor: collapse LoopEnd guards back to per-URI condition
aglinxinyuan 7aeb5ee
feat(storage): add DocumentFactory.documentExists for absence checks
aglinxinyuan 3ba674d
chore: remove DocumentFactory.documentExists hunk (now in #5085)
aglinxinyuan d760f98
docs: drop try/catch rationale from documentExists comment
aglinxinyuan ceff249
refactor(storage): address PR review on documentExists
aglinxinyuan 771f0eb
refactor(storage): inline catalog.tableExists in documentExists
aglinxinyuan 8c02359
feat(storage,python): add DocumentFactory.document_exists
aglinxinyuan 641a8df
Potential fix for pull request finding
aglinxinyuan 7b174eb
style: scalafmt IcebergDocumentSpec
aglinxinyuan f6dbae4
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan d121e21
Merge branch 'xinyuan-document-factory-exists' into xinyuan-loop-feb
aglinxinyuan 850e225
Merge branch 'main' into xinyuan-document-factory-exists
mengw15 33dff84
Merge branch 'xinyuan-document-factory-exists' into xinyuan-loop-feb
aglinxinyuan caf7ce4
refactor(loop): drop loop_start_id() and inline state cleanup at the …
aglinxinyuan 5d893dc
refactor(loop): drop generatePythonCode try/catch and inline get_inpu…
aglinxinyuan da1aba6
Merge remote-tracking branch 'origin/main' into xinyuan-loop-feb
aglinxinyuan a22b95e
refactor(loop): small cleanups in process_input_state, condition, and…
aglinxinyuan 4a48559
refactor(loop): mark LoopEnd via PhysicalOp.isLoopEnd, not op-id prefix
aglinxinyuan 245fe4b
refactor(loop): match condition() annotation in generated code with b…
aglinxinyuan 8db3f75
refactor(loop): collapse per-port storage URI dict to single field
aglinxinyuan 71ca457
refactor(loop): stash storage_uri_base on PortStorageWriter
aglinxinyuan 0d3125d
Revert "refactor(loop): stash storage_uri_base on PortStorageWriter"
aglinxinyuan 833056d
fix fmt
aglinxinyuan f7e5dcb
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan 80469e7
Merge branch 'main' into xinyuan-loop-feb
Xiao-zhen-Liu ca12ad0
test(loop): cover LoopStart/LoopEnd codegen + flat/nested runtime beh…
aglinxinyuan 9ca0cc3
Merge branch 'main' into xinyuan-loop-feb
aglinxinyuan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.