From 5141c2cb1330cdce1ab88f1bffd246012d5e1aa7 Mon Sep 17 00:00:00 2001 From: Chad Retz Date: Wed, 11 Sep 2024 08:19:28 -0500 Subject: [PATCH] Update core and update version to 1.3.1 (#344) --- Directory.Build.props | 4 +- .../WorkflowActivation/WorkflowActivation.cs | 183 ++++++++++++------ src/Temporalio/Bridge/Cargo.lock | 172 ++++++++-------- src/Temporalio/Bridge/sdk-core | 2 +- 4 files changed, 208 insertions(+), 153 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 67de6eb8..a362bb15 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -17,7 +17,7 @@ - 1.3.0 + 1.3.1 - 1.3.0 + 1.3.1 diff --git a/src/Temporalio/Bridge/Api/WorkflowActivation/WorkflowActivation.cs b/src/Temporalio/Bridge/Api/WorkflowActivation/WorkflowActivation.cs index 3ffa5cc2..5c8672bb 100644 --- a/src/Temporalio/Bridge/Api/WorkflowActivation/WorkflowActivation.cs +++ b/src/Temporalio/Bridge/Api/WorkflowActivation/WorkflowActivation.cs @@ -96,61 +96,62 @@ static WorkflowActivationReflection() { "ZRgXIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaTwoMSGVhZGVy", "c0VudHJ5EgsKA2tleRgBIAEoCRIuCgV2YWx1ZRgCIAEoCzIfLnRlbXBvcmFs", "LmFwaS5jb21tb24udjEuUGF5bG9hZDoCOAEiGAoJRmlyZVRpbWVyEgsKA3Nl", - "cRgBIAEoDSJbCg9SZXNvbHZlQWN0aXZpdHkSCwoDc2VxGAEgASgNEjsKBnJl", + "cRgBIAEoDSJtCg9SZXNvbHZlQWN0aXZpdHkSCwoDc2VxGAEgASgNEjsKBnJl", "c3VsdBgCIAEoCzIrLmNvcmVzZGsuYWN0aXZpdHlfcmVzdWx0LkFjdGl2aXR5", - "UmVzb2x1dGlvbiLRAgoiUmVzb2x2ZUNoaWxkV29ya2Zsb3dFeGVjdXRpb25T", - "dGFydBILCgNzZXEYASABKA0SWwoJc3VjY2VlZGVkGAIgASgLMkYuY29yZXNk", - "ay53b3JrZmxvd19hY3RpdmF0aW9uLlJlc29sdmVDaGlsZFdvcmtmbG93RXhl", - "Y3V0aW9uU3RhcnRTdWNjZXNzSAASWAoGZmFpbGVkGAMgASgLMkYuY29yZXNk", - "ay53b3JrZmxvd19hY3RpdmF0aW9uLlJlc29sdmVDaGlsZFdvcmtmbG93RXhl", - "Y3V0aW9uU3RhcnRGYWlsdXJlSAASXQoJY2FuY2VsbGVkGAQgASgLMkguY29y", - "ZXNkay53b3JrZmxvd19hY3RpdmF0aW9uLlJlc29sdmVDaGlsZFdvcmtmbG93", - "RXhlY3V0aW9uU3RhcnRDYW5jZWxsZWRIAEIICgZzdGF0dXMiOwopUmVzb2x2", - "ZUNoaWxkV29ya2Zsb3dFeGVjdXRpb25TdGFydFN1Y2Nlc3MSDgoGcnVuX2lk", - "GAEgASgJIqYBCilSZXNvbHZlQ2hpbGRXb3JrZmxvd0V4ZWN1dGlvblN0YXJ0", - "RmFpbHVyZRITCgt3b3JrZmxvd19pZBgBIAEoCRIVCg13b3JrZmxvd190eXBl", - "GAIgASgJEk0KBWNhdXNlGAMgASgOMj4uY29yZXNkay5jaGlsZF93b3JrZmxv", - "dy5TdGFydENoaWxkV29ya2Zsb3dFeGVjdXRpb25GYWlsZWRDYXVzZSJgCitS", - "ZXNvbHZlQ2hpbGRXb3JrZmxvd0V4ZWN1dGlvblN0YXJ0Q2FuY2VsbGVkEjEK", - "B2ZhaWx1cmUYASABKAsyIC50ZW1wb3JhbC5hcGkuZmFpbHVyZS52MS5GYWls", - "dXJlImkKHVJlc29sdmVDaGlsZFdvcmtmbG93RXhlY3V0aW9uEgsKA3NlcRgB", - "IAEoDRI7CgZyZXN1bHQYAiABKAsyKy5jb3Jlc2RrLmNoaWxkX3dvcmtmbG93", - "LkNoaWxkV29ya2Zsb3dSZXN1bHQiKwoQVXBkYXRlUmFuZG9tU2VlZBIXCg9y", - "YW5kb21uZXNzX3NlZWQYASABKAQihAIKDVF1ZXJ5V29ya2Zsb3cSEAoIcXVl", - "cnlfaWQYASABKAkSEgoKcXVlcnlfdHlwZRgCIAEoCRIyCglhcmd1bWVudHMY", - "AyADKAsyHy50ZW1wb3JhbC5hcGkuY29tbW9uLnYxLlBheWxvYWQSSAoHaGVh", - "ZGVycxgFIAMoCzI3LmNvcmVzZGsud29ya2Zsb3dfYWN0aXZhdGlvbi5RdWVy", - "eVdvcmtmbG93LkhlYWRlcnNFbnRyeRpPCgxIZWFkZXJzRW50cnkSCwoDa2V5", - "GAEgASgJEi4KBXZhbHVlGAIgASgLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52", - "MS5QYXlsb2FkOgI4ASJCCg5DYW5jZWxXb3JrZmxvdxIwCgdkZXRhaWxzGAEg", - "AygLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52MS5QYXlsb2FkIoMCCg5TaWdu", - "YWxXb3JrZmxvdxITCgtzaWduYWxfbmFtZRgBIAEoCRIuCgVpbnB1dBgCIAMo", - "CzIfLnRlbXBvcmFsLmFwaS5jb21tb24udjEuUGF5bG9hZBIQCghpZGVudGl0", - "eRgDIAEoCRJJCgdoZWFkZXJzGAUgAygLMjguY29yZXNkay53b3JrZmxvd19h", - "Y3RpdmF0aW9uLlNpZ25hbFdvcmtmbG93LkhlYWRlcnNFbnRyeRpPCgxIZWFk", - "ZXJzRW50cnkSCwoDa2V5GAEgASgJEi4KBXZhbHVlGAIgASgLMh8udGVtcG9y", - "YWwuYXBpLmNvbW1vbi52MS5QYXlsb2FkOgI4ASIiCg5Ob3RpZnlIYXNQYXRj", - "aBIQCghwYXRjaF9pZBgBIAEoCSJfCh1SZXNvbHZlU2lnbmFsRXh0ZXJuYWxX", - "b3JrZmxvdxILCgNzZXEYASABKA0SMQoHZmFpbHVyZRgCIAEoCzIgLnRlbXBv", - "cmFsLmFwaS5mYWlsdXJlLnYxLkZhaWx1cmUiZgokUmVzb2x2ZVJlcXVlc3RD", - "YW5jZWxFeHRlcm5hbFdvcmtmbG93EgsKA3NlcRgBIAEoDRIxCgdmYWlsdXJl", - "GAIgASgLMiAudGVtcG9yYWwuYXBpLmZhaWx1cmUudjEuRmFpbHVyZSLLAgoI", - "RG9VcGRhdGUSCgoCaWQYASABKAkSHAoUcHJvdG9jb2xfaW5zdGFuY2VfaWQY", - "AiABKAkSDAoEbmFtZRgDIAEoCRIuCgVpbnB1dBgEIAMoCzIfLnRlbXBvcmFs", - "LmFwaS5jb21tb24udjEuUGF5bG9hZBJDCgdoZWFkZXJzGAUgAygLMjIuY29y", - "ZXNkay53b3JrZmxvd19hY3RpdmF0aW9uLkRvVXBkYXRlLkhlYWRlcnNFbnRy", - "eRIqCgRtZXRhGAYgASgLMhwudGVtcG9yYWwuYXBpLnVwZGF0ZS52MS5NZXRh", - "EhUKDXJ1bl92YWxpZGF0b3IYByABKAgaTwoMSGVhZGVyc0VudHJ5EgsKA2tl", - "eRgBIAEoCRIuCgV2YWx1ZRgCIAEoCzIfLnRlbXBvcmFsLmFwaS5jb21tb24u", - "djEuUGF5bG9hZDoCOAEiwQIKD1JlbW92ZUZyb21DYWNoZRIPCgdtZXNzYWdl", - "GAEgASgJEksKBnJlYXNvbhgCIAEoDjI7LmNvcmVzZGsud29ya2Zsb3dfYWN0", - "aXZhdGlvbi5SZW1vdmVGcm9tQ2FjaGUuRXZpY3Rpb25SZWFzb24izwEKDkV2", - "aWN0aW9uUmVhc29uEg8KC1VOU1BFQ0lGSUVEEAASDgoKQ0FDSEVfRlVMTBAB", - "Eg4KCkNBQ0hFX01JU1MQAhISCg5OT05ERVRFUk1JTklTTRADEg0KCUxBTkdf", - "RkFJTBAEEhIKDkxBTkdfUkVRVUVTVEVEEAUSEgoOVEFTS19OT1RfRk9VTkQQ", - "BhIVChFVTkhBTkRMRURfQ09NTUFORBAHEgkKBUZBVEFMEAgSHwobUEFHSU5B", - "VElPTl9PUl9ISVNUT1JZX0ZFVENIEAlCLuoCK1RlbXBvcmFsaW86OkJyaWRn", - "ZTo6QXBpOjpXb3JrZmxvd0FjdGl2YXRpb25iBnByb3RvMw==")); + "UmVzb2x1dGlvbhIQCghpc19sb2NhbBgDIAEoCCLRAgoiUmVzb2x2ZUNoaWxk", + "V29ya2Zsb3dFeGVjdXRpb25TdGFydBILCgNzZXEYASABKA0SWwoJc3VjY2Vl", + "ZGVkGAIgASgLMkYuY29yZXNkay53b3JrZmxvd19hY3RpdmF0aW9uLlJlc29s", + "dmVDaGlsZFdvcmtmbG93RXhlY3V0aW9uU3RhcnRTdWNjZXNzSAASWAoGZmFp", + "bGVkGAMgASgLMkYuY29yZXNkay53b3JrZmxvd19hY3RpdmF0aW9uLlJlc29s", + "dmVDaGlsZFdvcmtmbG93RXhlY3V0aW9uU3RhcnRGYWlsdXJlSAASXQoJY2Fu", + "Y2VsbGVkGAQgASgLMkguY29yZXNkay53b3JrZmxvd19hY3RpdmF0aW9uLlJl", + "c29sdmVDaGlsZFdvcmtmbG93RXhlY3V0aW9uU3RhcnRDYW5jZWxsZWRIAEII", + "CgZzdGF0dXMiOwopUmVzb2x2ZUNoaWxkV29ya2Zsb3dFeGVjdXRpb25TdGFy", + "dFN1Y2Nlc3MSDgoGcnVuX2lkGAEgASgJIqYBCilSZXNvbHZlQ2hpbGRXb3Jr", + "Zmxvd0V4ZWN1dGlvblN0YXJ0RmFpbHVyZRITCgt3b3JrZmxvd19pZBgBIAEo", + "CRIVCg13b3JrZmxvd190eXBlGAIgASgJEk0KBWNhdXNlGAMgASgOMj4uY29y", + "ZXNkay5jaGlsZF93b3JrZmxvdy5TdGFydENoaWxkV29ya2Zsb3dFeGVjdXRp", + "b25GYWlsZWRDYXVzZSJgCitSZXNvbHZlQ2hpbGRXb3JrZmxvd0V4ZWN1dGlv", + "blN0YXJ0Q2FuY2VsbGVkEjEKB2ZhaWx1cmUYASABKAsyIC50ZW1wb3JhbC5h", + "cGkuZmFpbHVyZS52MS5GYWlsdXJlImkKHVJlc29sdmVDaGlsZFdvcmtmbG93", + "RXhlY3V0aW9uEgsKA3NlcRgBIAEoDRI7CgZyZXN1bHQYAiABKAsyKy5jb3Jl", + "c2RrLmNoaWxkX3dvcmtmbG93LkNoaWxkV29ya2Zsb3dSZXN1bHQiKwoQVXBk", + "YXRlUmFuZG9tU2VlZBIXCg9yYW5kb21uZXNzX3NlZWQYASABKAQihAIKDVF1", + "ZXJ5V29ya2Zsb3cSEAoIcXVlcnlfaWQYASABKAkSEgoKcXVlcnlfdHlwZRgC", + "IAEoCRIyCglhcmd1bWVudHMYAyADKAsyHy50ZW1wb3JhbC5hcGkuY29tbW9u", + "LnYxLlBheWxvYWQSSAoHaGVhZGVycxgFIAMoCzI3LmNvcmVzZGsud29ya2Zs", + "b3dfYWN0aXZhdGlvbi5RdWVyeVdvcmtmbG93LkhlYWRlcnNFbnRyeRpPCgxI", + "ZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEi4KBXZhbHVlGAIgASgLMh8udGVt", + "cG9yYWwuYXBpLmNvbW1vbi52MS5QYXlsb2FkOgI4ASJCCg5DYW5jZWxXb3Jr", + "ZmxvdxIwCgdkZXRhaWxzGAEgAygLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52", + "MS5QYXlsb2FkIoMCCg5TaWduYWxXb3JrZmxvdxITCgtzaWduYWxfbmFtZRgB", + "IAEoCRIuCgVpbnB1dBgCIAMoCzIfLnRlbXBvcmFsLmFwaS5jb21tb24udjEu", + "UGF5bG9hZBIQCghpZGVudGl0eRgDIAEoCRJJCgdoZWFkZXJzGAUgAygLMjgu", + "Y29yZXNkay53b3JrZmxvd19hY3RpdmF0aW9uLlNpZ25hbFdvcmtmbG93Lkhl", + "YWRlcnNFbnRyeRpPCgxIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEi4KBXZh", + "bHVlGAIgASgLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52MS5QYXlsb2FkOgI4", + "ASIiCg5Ob3RpZnlIYXNQYXRjaBIQCghwYXRjaF9pZBgBIAEoCSJfCh1SZXNv", + "bHZlU2lnbmFsRXh0ZXJuYWxXb3JrZmxvdxILCgNzZXEYASABKA0SMQoHZmFp", + "bHVyZRgCIAEoCzIgLnRlbXBvcmFsLmFwaS5mYWlsdXJlLnYxLkZhaWx1cmUi", + "ZgokUmVzb2x2ZVJlcXVlc3RDYW5jZWxFeHRlcm5hbFdvcmtmbG93EgsKA3Nl", + "cRgBIAEoDRIxCgdmYWlsdXJlGAIgASgLMiAudGVtcG9yYWwuYXBpLmZhaWx1", + "cmUudjEuRmFpbHVyZSLLAgoIRG9VcGRhdGUSCgoCaWQYASABKAkSHAoUcHJv", + "dG9jb2xfaW5zdGFuY2VfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIuCgVpbnB1", + "dBgEIAMoCzIfLnRlbXBvcmFsLmFwaS5jb21tb24udjEuUGF5bG9hZBJDCgdo", + "ZWFkZXJzGAUgAygLMjIuY29yZXNkay53b3JrZmxvd19hY3RpdmF0aW9uLkRv", + "VXBkYXRlLkhlYWRlcnNFbnRyeRIqCgRtZXRhGAYgASgLMhwudGVtcG9yYWwu", + "YXBpLnVwZGF0ZS52MS5NZXRhEhUKDXJ1bl92YWxpZGF0b3IYByABKAgaTwoM", + "SGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRIuCgV2YWx1ZRgCIAEoCzIfLnRl", + "bXBvcmFsLmFwaS5jb21tb24udjEuUGF5bG9hZDoCOAEiwQIKD1JlbW92ZUZy", + "b21DYWNoZRIPCgdtZXNzYWdlGAEgASgJEksKBnJlYXNvbhgCIAEoDjI7LmNv", + "cmVzZGsud29ya2Zsb3dfYWN0aXZhdGlvbi5SZW1vdmVGcm9tQ2FjaGUuRXZp", + "Y3Rpb25SZWFzb24izwEKDkV2aWN0aW9uUmVhc29uEg8KC1VOU1BFQ0lGSUVE", + "EAASDgoKQ0FDSEVfRlVMTBABEg4KCkNBQ0hFX01JU1MQAhISCg5OT05ERVRF", + "Uk1JTklTTRADEg0KCUxBTkdfRkFJTBAEEhIKDkxBTkdfUkVRVUVTVEVEEAUS", + "EgoOVEFTS19OT1RfRk9VTkQQBhIVChFVTkhBTkRMRURfQ09NTUFORBAHEgkK", + "BUZBVEFMEAgSHwobUEFHSU5BVElPTl9PUl9ISVNUT1JZX0ZFVENIEAlCLuoC", + "K1RlbXBvcmFsaW86OkJyaWRnZTo6QXBpOjpXb3JrZmxvd0FjdGl2YXRpb25i", + "BnByb3RvMw==")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Temporalio.Api.Failure.V1.MessageReflection.Descriptor, global::Temporalio.Api.Update.V1.MessageReflection.Descriptor, global::Temporalio.Api.Common.V1.MessageReflection.Descriptor, global::Temporalio.Api.Enums.V1.WorkflowReflection.Descriptor, global::Temporalio.Bridge.Api.ActivityResult.ActivityResultReflection.Descriptor, global::Temporalio.Bridge.Api.ChildWorkflow.ChildWorkflowReflection.Descriptor, global::Temporalio.Bridge.Api.Common.CommonReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { @@ -158,7 +159,7 @@ static WorkflowActivationReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::Temporalio.Bridge.Api.WorkflowActivation.WorkflowActivationJob), global::Temporalio.Bridge.Api.WorkflowActivation.WorkflowActivationJob.Parser, new[]{ "StartWorkflow", "FireTimer", "UpdateRandomSeed", "QueryWorkflow", "CancelWorkflow", "SignalWorkflow", "ResolveActivity", "NotifyHasPatch", "ResolveChildWorkflowExecutionStart", "ResolveChildWorkflowExecution", "ResolveSignalExternalWorkflow", "ResolveRequestCancelExternalWorkflow", "DoUpdate", "RemoveFromCache" }, new[]{ "Variant" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporalio.Bridge.Api.WorkflowActivation.StartWorkflow), global::Temporalio.Bridge.Api.WorkflowActivation.StartWorkflow.Parser, new[]{ "WorkflowType", "WorkflowId", "Arguments", "RandomnessSeed", "Headers", "Identity", "ParentWorkflowInfo", "WorkflowExecutionTimeout", "WorkflowRunTimeout", "WorkflowTaskTimeout", "ContinuedFromExecutionRunId", "ContinuedInitiator", "ContinuedFailure", "LastCompletionResult", "FirstExecutionRunId", "RetryPolicy", "Attempt", "CronSchedule", "WorkflowExecutionExpirationTime", "CronScheduleToScheduleInterval", "Memo", "SearchAttributes", "StartTime" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }), new pbr::GeneratedClrTypeInfo(typeof(global::Temporalio.Bridge.Api.WorkflowActivation.FireTimer), global::Temporalio.Bridge.Api.WorkflowActivation.FireTimer.Parser, new[]{ "Seq" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Temporalio.Bridge.Api.WorkflowActivation.ResolveActivity), global::Temporalio.Bridge.Api.WorkflowActivation.ResolveActivity.Parser, new[]{ "Seq", "Result" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Temporalio.Bridge.Api.WorkflowActivation.ResolveActivity), global::Temporalio.Bridge.Api.WorkflowActivation.ResolveActivity.Parser, new[]{ "Seq", "Result", "IsLocal" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporalio.Bridge.Api.WorkflowActivation.ResolveChildWorkflowExecutionStart), global::Temporalio.Bridge.Api.WorkflowActivation.ResolveChildWorkflowExecutionStart.Parser, new[]{ "Seq", "Succeeded", "Failed", "Cancelled" }, new[]{ "Status" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporalio.Bridge.Api.WorkflowActivation.ResolveChildWorkflowExecutionStartSuccess), global::Temporalio.Bridge.Api.WorkflowActivation.ResolveChildWorkflowExecutionStartSuccess.Parser, new[]{ "RunId" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporalio.Bridge.Api.WorkflowActivation.ResolveChildWorkflowExecutionStartFailure), global::Temporalio.Bridge.Api.WorkflowActivation.ResolveChildWorkflowExecutionStartFailure.Parser, new[]{ "WorkflowId", "WorkflowType", "Cause" }, null, null, null, null), @@ -186,22 +187,37 @@ static WorkflowActivationReflection() { /// ## Job ordering guarantees and semantics /// /// Core will, by default, order jobs within the activation as follows: - /// `patches -> signals/updates -> other -> queries -> evictions` + /// 1. patches + /// 2. random-seed-updates + /// 3. signals/updates + /// 4. all others + /// 5. local activity resolutions + /// 6. queries + /// 7. evictions /// /// This is because: /// * Patches are expected to apply to the entire activation /// * Signal and update handlers should be invoked before workflow routines are iterated. That is to /// say before the users' main workflow function and anything spawned by it is allowed to continue. + /// * Local activities resolutions go after other normal jobs because while *not* replaying, they + /// will always take longer than anything else that produces an immediate job (which is + /// effectively instant). When *replaying* we need to scan ahead for LA markers so that we can + /// resolve them in the same activation that they completed in when not replaying. However, doing + /// so would, by default, put those resolutions *before* any other immediate jobs that happened + /// in that same activation (prime example: cancelling not-wait-for-cancel activities). So, we do + /// this to ensure the LA resolution happens after that cancel (or whatever else it may be) as it + /// normally would have when executing. /// * Queries always go last (and, in fact, always come in their own activation) /// * Evictions also always come in their own activation /// - /// The downside of this reordering is that a signal or update handler may not observe that some - /// other event had already happened (ex: an activity completed) when it is first invoked, though it - /// will subsequently when workflow routines are driven. Core only does this reordering to make life - /// easier for languages that cannot explicitly control when workflow routines are iterated. - /// Languages that can explicitly control such iteration should prefer to apply all the jobs to state - /// (by resolving promises/futures, invoking handlers, etc as they iterate over the jobs) and then - /// only *after* that is done, drive the workflow routines. + /// Core does this reordering to ensure that langs observe jobs in the same order during replay as + /// they would have during execution. However, in principle, this ordering is not necessary + /// (excepting queries/evictions, which definitely must come last) if lang layers apply all jobs to + /// state *first* (by resolving promises/futures, marking handlers to be invoked, etc as they iterate + /// over the jobs) and then only *after* that is done, drive coroutines/threads/whatever. If + /// execution works this way, then determinism is only impacted by the order routines are driven in + /// (which must be stable based on lang implementation or convention), rather than the order jobs are + /// processed. /// /// ## Evictions /// @@ -3083,6 +3099,7 @@ public ResolveActivity() { public ResolveActivity(ResolveActivity other) : this() { seq_ = other.seq_; result_ = other.result_ != null ? other.result_.Clone() : null; + isLocal_ = other.isLocal_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -3119,6 +3136,22 @@ public uint Seq { } } + /// Field number for the "is_local" field. + public const int IsLocalFieldNumber = 3; + private bool isLocal_; + /// + /// Set to true if the resolution is for a local activity. This is used internally by Core and + /// lang does not need to care about it. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool IsLocal { + get { return isLocal_; } + set { + isLocal_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -3136,6 +3169,7 @@ public bool Equals(ResolveActivity other) { } if (Seq != other.Seq) return false; if (!object.Equals(Result, other.Result)) return false; + if (IsLocal != other.IsLocal) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3145,6 +3179,7 @@ public override int GetHashCode() { int hash = 1; if (Seq != 0) hash ^= Seq.GetHashCode(); if (result_ != null) hash ^= Result.GetHashCode(); + if (IsLocal != false) hash ^= IsLocal.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3171,6 +3206,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteMessage(Result); } + if (IsLocal != false) { + output.WriteRawTag(24); + output.WriteBool(IsLocal); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3189,6 +3228,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteMessage(Result); } + if (IsLocal != false) { + output.WriteRawTag(24); + output.WriteBool(IsLocal); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3205,6 +3248,9 @@ public int CalculateSize() { if (result_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result); } + if (IsLocal != false) { + size += 1 + 1; + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3226,6 +3272,9 @@ public void MergeFrom(ResolveActivity other) { } Result.MergeFrom(other.Result); } + if (other.IsLocal != false) { + IsLocal = other.IsLocal; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3252,6 +3301,10 @@ public void MergeFrom(pb::CodedInputStream input) { input.ReadMessage(Result); break; } + case 24: { + IsLocal = input.ReadBool(); + break; + } } } #endif @@ -3278,6 +3331,10 @@ public void MergeFrom(pb::CodedInputStream input) { input.ReadMessage(Result); break; } + case 24: { + IsLocal = input.ReadBool(); + break; + } } } } diff --git a/src/Temporalio/Bridge/Cargo.lock b/src/Temporalio/Bridge/Cargo.lock index 67a3c3d5..8a263946 100644 --- a/src/Temporalio/Bridge/Cargo.lock +++ b/src/Temporalio/Bridge/Cargo.lock @@ -154,7 +154,7 @@ dependencies = [ "rustversion", "serde", "sync_wrapper 1.0.1", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", ] @@ -356,12 +356,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "core-foundation" version = "0.9.4" @@ -420,25 +414,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-queue" version = "0.3.11" @@ -585,15 +560,23 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.18" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version", "syn 2.0.72", + "unicode-xid", ] [[package]] @@ -1086,7 +1069,7 @@ dependencies = [ "pin-project-lite", "socket2", "tokio", - "tower", + "tower 0.4.13", "tower-service", "tracing", ] @@ -1299,14 +1282,13 @@ dependencies = [ [[package]] name = "mockall" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48" +checksum = "d4c28b3fb6d753d28c20e826cd46ee611fda1cf3cde03a443a974043247c065a" dependencies = [ "cfg-if", "downcast", "fragile", - "lazy_static", "mockall_derive", "predicates", "predicates-tree", @@ -1314,9 +1296,9 @@ dependencies = [ [[package]] name = "mockall_derive" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2" +checksum = "341014e7f530314e9a1fdbc7400b244efea7122662c96bfa248c31da5bfb2020" dependencies = [ "cfg-if", "proc-macro2", @@ -1889,26 +1871,6 @@ dependencies = [ "bitflags 2.6.0", ] -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -2051,15 +2013,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - [[package]] name = "rustfsm" version = "0.1.0" @@ -2201,12 +2154,6 @@ dependencies = [ "libc", ] -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" - [[package]] name = "serde" version = "1.0.204" @@ -2395,16 +2342,14 @@ checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" [[package]] name = "sysinfo" -version = "0.30.13" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" +checksum = "355dbe4f8799b304b05e1b0f05fc59b2a18d36645cf169607da45bde2f69a1be" dependencies = [ - "cfg-if", "core-foundation-sys", "libc", + "memchr", "ntapi", - "once_cell", - "rayon", "windows", ] @@ -2457,7 +2402,7 @@ dependencies = [ "thiserror", "tokio", "tonic", - "tower", + "tower 0.5.1", "tracing", "url", "uuid", @@ -2772,7 +2717,7 @@ dependencies = [ "tokio", "tokio-rustls", "tokio-stream", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", "tracing", @@ -2811,17 +2756,31 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -2829,7 +2788,6 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -2949,6 +2907,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-xid" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" + [[package]] name = "untrusted" version = "0.9.0" @@ -3133,9 +3097,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.52.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" dependencies = [ "windows-core", "windows-targets 0.52.6", @@ -3143,9 +3107,43 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.52.0" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "windows-result" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" dependencies = [ "windows-targets 0.52.6", ] diff --git a/src/Temporalio/Bridge/sdk-core b/src/Temporalio/Bridge/sdk-core index 631b40a6..9690510f 160000 --- a/src/Temporalio/Bridge/sdk-core +++ b/src/Temporalio/Bridge/sdk-core @@ -1 +1 @@ -Subproject commit 631b40a68ef9961abcc9a1bb23d9763a06f6a8f5 +Subproject commit 9690510f46b95f226b100871708e3212304f04d1