-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
add container orchestrator for normalization #9020
Conversation
|
||
// we want to filter down to remove secrets, so we aren't writing over a bunch of unnecessary | ||
// secrets | ||
final Map<String, String> envMap = System.getenv().entrySet().stream() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just a thought - this seems like something we want to enforce in the abstraction to prevent someone from forgetting.
...-container-orchestrator/src/main/java/io/airbyte/container_orchestrator/JobOrchestrator.java
Show resolved
Hide resolved
...-container-orchestrator/src/main/java/io/airbyte/container_orchestrator/JobOrchestrator.java
Show resolved
Hide resolved
...r-orchestrator/src/main/java/io/airbyte/container_orchestrator/ContainerOrchestratorApp.java
Show resolved
Hide resolved
...r-orchestrator/src/main/java/io/airbyte/container_orchestrator/ContainerOrchestratorApp.java
Show resolved
Hide resolved
...r-orchestrator/src/main/java/io/airbyte/container_orchestrator/ContainerOrchestratorApp.java
Show resolved
Hide resolved
|
||
@Override | ||
public void runJob() throws Exception { | ||
final JobRunConfig jobRunConfig = readJobRunConfig(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to make sure I understand - how does this interact with the SyncWorkflowImpl
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the sync workflow calls an orchestrator launcher activity, which launches a pod/container running the orchestrator itself (the ContainerOrchestratorApp
which runs theReplicationJobOrchestrator
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
got it, so the control flow = user triggers job -> temporal sync workflow picks it up -> pod created running ContainerOrchestratorApp -> runs replication job -> this creates the source and destination pods. is that right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally made sense.
Left some minor comments. Definitely think we can do with better doc strings.
I had one question about how this interacts with the current SyncWorkflowImpl
to make sure I understand.
Note that this is still feature flagged out. I tested locally with it enabled and it was working on the last commit.
Probably easiest to read in the following order:
*LauncherWorker
classesJobOrchestrator
ContainerOrchestratorApp
ReplicationJobOrchestrator
NormalizationJobOrchestrator
/NormalizationActivityImpl
/WorkerApp
closes #8459