-
Notifications
You must be signed in to change notification settings - Fork 126
[Issue #869] support pipline execution #868
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
Merged
Merged
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit
Hold shift + click to select a range
6ef3369
fix no data bug in stream storage
huasiy 3457754
resolve merge conflict
huasiy 444425f
add broadcast join stream invoker
huasiy 65fcbcb
add single stage join stream operator
huasiy 4d29327
add BroadcastJoinStreamWorker
huasiy 35aa0b8
support broadcast join stream worker with right child
huasiy adb83b2
modify map between workers from two stages
huasiy df09a64
only one worker will pass schema to down stream
huasiy 0947cd2
one worker write to one port of down stream worker
huasiy 4286383
pack related code
huasiy 831b872
succeed to transfer schema
huasiy c181d0d
support demo query
huasiy 8eeb709
support stream storage for partitioned join
huasiy a76c43c
specify worker port
huasiy 262a3c3
specify port to write for partition worker
huasiy be0aeab
fix the number of workers at present
huasiy 0a517b1
support partitioned join q12
huasiy 4f4a879
get partition tasks from worker coordinator
huasiy db35168
specify broadcast join worker ports
huasiy a092eba
fix bug
huasiy f580570
fix bug
huasiy d49de0c
assign down stream workers for broadcast join worker
huasiy 2f4d537
clean code
huasiy f86ac27
clean code
huasiy 7f74978
invoke broadcast chain join stream worker
huasiy cd511fa
shutdown ManagedChannel
huasiy efcac87
support stream transmission between partitioned join stream workers
huasiy 9f45582
fix some bugs
huasiy bb14596
add down stream workers to broadcast join stage
huasiy a9bd009
right child stage should know left child stage worker number
huasiy 9e30a48
right child stage should know left child stage worker number
huasiy f1609e4
support q10
huasiy d5e2b7e
fix partitioned join worker port index bug
huasiy 93ad17d
support q3
huasiy 2faffd1
add partition chain join invoker and worker
huasiy e847565
support q5
huasiy d4e5e5f
invoke all workers under stream mode
huasiy b00cf91
don't wait for worker's readiness
huasiy 9d5b915
Partitioned Join Stream Worker get data from multiple workers
huasiy 7465533
Support send async in StreamOutputStream
huasiy 54b845b
establish http connection when build writer
huasiy 5c6a6a9
clean code
huasiy 2270b46
StreamOutputStream support flush async
huasiy b2b452b
fix some bugs
huasiy 574ada1
resolve all comments
huasiy e7d67f0
resolve code conflict
huasiy 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
add broadcast join stream invoker
- Loading branch information
commit 444425f61845864383530af7a84240e341322f85
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
56 changes: 56 additions & 0 deletions
56
...oker-vhive/src/main/java/io/pixelsdb/pixels/invoker/vhive/BroadcastJoinStreamInvoker.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
/* | ||
* Copyright 2023 PixelsDB. | ||
* | ||
* This file is part of Pixels. | ||
* | ||
* Pixels is free software: you can redistribute it and/or modify | ||
* it under the terms of the Affero GNU General Public License as | ||
* published by the Free Software Foundation, either version 3 of | ||
* the License, or (at your option) any later version. | ||
* | ||
* Pixels is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* Affero GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the Affero GNU General Public | ||
* License along with Pixels. If not, see | ||
* <https://www.gnu.org/licenses/>. | ||
*/ | ||
package io.pixelsdb.pixels.invoker.vhive; | ||
|
||
import com.alibaba.fastjson.JSON; | ||
import com.google.common.util.concurrent.ListenableFuture; | ||
import io.pixelsdb.pixels.common.turbo.Input; | ||
import io.pixelsdb.pixels.common.turbo.Output; | ||
import io.pixelsdb.pixels.planner.plan.physical.input.BroadcastJoinInput; | ||
import io.pixelsdb.pixels.planner.plan.physical.output.JoinOutput; | ||
import io.pixelsdb.pixels.turbo.TurboProto; | ||
import org.apache.logging.log4j.LogManager; | ||
import org.apache.logging.log4j.Logger; | ||
|
||
import java.util.concurrent.CompletableFuture; | ||
|
||
public class BroadcastJoinStreamInvoker extends VhiveInvoker | ||
{ | ||
private final Logger log = LogManager.getLogger(BroadcastJoinInvoker.class); | ||
|
||
protected BroadcastJoinStreamInvoker(String functionName) | ||
{ | ||
super(functionName); | ||
} | ||
|
||
@Override | ||
public Output parseOutput(String outputJson) | ||
{ | ||
return JSON.parseObject(outputJson, JoinOutput.class); | ||
} | ||
|
||
@Override | ||
public CompletableFuture<Output> invoke(Input input) | ||
{ | ||
// log.info(String.format("invoke BroadcastJoinStreamInput: %s", JSON.toJSONString(input, SerializerFeature.PrettyFormat, SerializerFeature.DisableCircularReferenceDetect))); | ||
ListenableFuture<TurboProto.WorkerResponse> future = Vhive.Instance().getAsyncClient().broadcastJoinStream((BroadcastJoinInput) input); | ||
return genCompletableFuture(future); | ||
} | ||
} |
31 changes: 31 additions & 0 deletions
31
...ve/src/main/java/io/pixelsdb/pixels/invoker/vhive/BroadcastJoinStreamInvokerProvider.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package io.pixelsdb.pixels.invoker.vhive; | ||
|
||
import io.pixelsdb.pixels.common.turbo.FunctionService; | ||
import io.pixelsdb.pixels.common.turbo.Invoker; | ||
import io.pixelsdb.pixels.common.turbo.InvokerProvider; | ||
import io.pixelsdb.pixels.common.turbo.WorkerType; | ||
import io.pixelsdb.pixels.common.utils.ConfigFactory; | ||
|
||
public class BroadcastJoinStreamInvokerProvider implements InvokerProvider | ||
{ | ||
private static final ConfigFactory config = ConfigFactory.Instance(); | ||
|
||
@Override | ||
public Invoker createInvoker() | ||
{ | ||
String broadcastJoinWorker = config.getProperty("broadcast.join.worker.name"); | ||
return new BroadcastJoinStreamInvoker(broadcastJoinWorker); | ||
} | ||
|
||
@Override | ||
public WorkerType workerType() | ||
{ | ||
return WorkerType.BROADCAST_JOIN_STREAMING; | ||
} | ||
|
||
@Override | ||
public boolean compatibleWith(FunctionService functionService) | ||
{ | ||
return functionService.equals(FunctionService.vhive); | ||
} | ||
} |
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
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.