Skip to content

Consolidate kitchen sink Nexus operations - #361

Draft
stephanos wants to merge 8 commits into
per-sdk-namespace-stackedfrom
stephanos/nexusAttachCallback
Draft

Consolidate kitchen sink Nexus operations#361
stephanos wants to merge 8 commits into
per-sdk-namespace-stackedfrom
stephanos/nexusAttachCallback

Conversation

@stephanos

@stephanos stephanos commented May 22, 2026

Copy link
Copy Markdown
Collaborator

Replaces the special-purpose Nexus handler workflow and separate operations with one kitchen-sink execute operation.

@stephanos
stephanos changed the base branch from main to ppv/nexusAttachCallback May 22, 2026 20:15
@stephanos
stephanos force-pushed the stephanos/nexusAttachCallback branch from a60aa73 to 217d576 Compare May 22, 2026 20:27
@stephanos stephanos changed the title Stephanos/nexus attach callback Add Nexus attach-callbacks action to throughput stress May 22, 2026
@stephanos
stephanos force-pushed the stephanos/nexusAttachCallback branch 12 times, most recently from 1810598 to 669f1e8 Compare May 23, 2026 01:26
Base automatically changed from ppv/nexusAttachCallback to main June 23, 2026 15:55
@stephanos
stephanos force-pushed the stephanos/nexusAttachCallback branch from 669f1e8 to ffdadf9 Compare September 4, 2026 23:08
@stephanos stephanos changed the title Add Nexus attach-callbacks action to throughput stress Use kitchen sink workflows for Nexus operations Sep 4, 2026
@stephanos
stephanos changed the base branch from main to per-sdk-namespace-stacked September 4, 2026 23:08
@stephanos stephanos changed the title Use kitchen sink workflows for Nexus operations Consolidate kitchen sink Nexus operations Sep 5, 2026
@stephanos
stephanos force-pushed the stephanos/nexusAttachCallback branch from 8765ccf to 6d326bd Compare September 5, 2026 01:51
@stephanos
stephanos force-pushed the stephanos/nexusAttachCallback branch from 6d326bd to 00a0c8d Compare September 5, 2026 01:57
Comment thread loadgen/kitchensink/client_action_executor.go Outdated
Comment thread loadgen/kitchensink/client_action_executor.go Outdated
return fmt.Errorf("ExecuteOperation: %w", err)
}

if expectedOutput := nexusOp.GetExpectedOutput(); expectedOutput != nil {

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To match the workflow-based one.

Comment thread loadgen/kitchensink/client_action_executor.go Outdated
Comment thread loadgen/kitchensink/client_action_executor_test.go Outdated
Comment thread loadgen/kitchen_sink_executor_test.go Outdated
Comment thread loadgen/kitchen_sink_executor_test.go Outdated
Comment thread clioptions/client.go Outdated
Comment thread workers/proto/kitchen_sink/kitchen_sink.proto Outdated
Comment thread workers/proto/kitchen_sink/kitchen_sink.proto
Comment thread workers/go/workerlib/kitchensink/kitchen_sink.go Outdated
Comment thread loadgen/kitchensink/client_action_executor.go Outdated
Comment thread loadgen/kitchensink/helpers.go Outdated
Comment thread scenarios/throughput_stress.go
Comment thread workers/go/workerlib/kitchensink/kitchen_sink_test.go Outdated
Comment thread workers/python/nexus_service.py Outdated
Comment thread workers/proto/kitchen_sink/kitchen_sink.proto Outdated
string workflow_id = 1;
string run_id = 2;
// Options used when the action may start a workflow.
NexusWorkflowStartOptions start_options = 3;

@stephanos stephanos Sep 5, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be used with Signal in the next PR; that's why it's not the type for start.


// Execute a Nexus operation
// Execute a Nexus operation.
message ExecuteNexusOperation {

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These message changes are the main change of the PR.

Comment thread scenarios/throughput_stress.go Outdated


@workflow.defn
class NexusHandlerWorkflow:

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nexus is now using a kitchensink workflow when starting one.

string endpoint = 1;
string service = 2;
string operation = 3;
ExecuteNexusOperation operation = 1;

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Breaking proto changes are fine here.


func handleSendSignal(ctx workflow.Context, ws *KSWorkflowState, action *kitchensink.SendSignalAction) error {
return withAwaitableChoiceCustom(ctx, ws, func(ctx workflow.Context) workflow.Future {
return workflow.SignalExternalWorkflow(ctx, action.WorkflowId, action.RunId, action.SignalName, nil)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wasn't using Args before ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant