38 Commits
Author SHA1 Message Date
zeekay 6b89892286 merge: upstream/main (preserve Hanzo brand, 494 commits)
# Conflicts:
#	.github/workflows/build-and-publish.yml
#	AGENTS.md
#	AGENTS.md~upstream_main
#	api/adminservice/v1/request_response.go-helpers.pb.go
#	api/adminservice/v1/request_response.pb.go
#	api/adminservice/v1/service.pb.go
#	api/adminservice/v1/service_grpc.pb.go
#	api/adminservicemock/v1/service_grpc.pb.mock.go
#	api/archiver/v1/message.pb.go
#	api/batch/v1/request_response.pb.go
#	api/checksum/v1/message.pb.go
#	api/deployment/v1/message.go-helpers.pb.go
#	api/deployment/v1/message.pb.go
#	api/enums/v1/replication.go-helpers.pb.go
#	api/enums/v1/replication.pb.go
#	api/enums/v1/task.go-helpers.pb.go
#	api/enums/v1/task.pb.go
#	api/errordetails/v1/message.go-helpers.pb.go
#	api/errordetails/v1/message.pb.go
#	api/historyservice/v1/request_response.go-helpers.pb.go
#	api/historyservice/v1/request_response.pb.go
#	api/historyservice/v1/service.pb.go
#	api/historyservice/v1/service_grpc.pb.go
#	api/historyservicemock/v1/service_grpc.pb.mock.go
#	api/matchingservice/v1/request_response.pb.go
#	api/matchingservice/v1/service.pb.go
#	api/persistence/v1/chasm.pb.go
#	api/persistence/v1/executions.go-helpers.pb.go
#	api/persistence/v1/executions.pb.go
#	api/persistence/v1/workflow_mutable_state.pb.go
#	api/replication/v1/message.pb.go
#	api/routing/v1/extension.pb.go
#	api/schedule/v1/message.pb.go
#	api/taskqueue/v1/message.go-helpers.pb.go
#	api/taskqueue/v1/message.pb.go
#	chasm/component.go
#	chasm/component_mock.go
#	chasm/context.go
#	chasm/context_mock.go
#	chasm/engine.go
#	chasm/engine_mock.go
#	chasm/field.go
#	chasm/field_test.go
#	chasm/lib/activity/activity.go
#	chasm/lib/activity/activity_tasks.go
#	chasm/lib/activity/activity_test.go
#	chasm/lib/activity/config.go
#	chasm/lib/activity/frontend.go
#	chasm/lib/activity/fx.go
#	chasm/lib/activity/gen/activitypb/v1/activity_state.pb.go
#	chasm/lib/activity/gen/activitypb/v1/request_response.go-helpers.pb.go
#	chasm/lib/activity/gen/activitypb/v1/request_response.pb.go
#	chasm/lib/activity/gen/activitypb/v1/service.pb.go
#	chasm/lib/activity/gen/activitypb/v1/service_client.pb.go
#	chasm/lib/activity/gen/activitypb/v1/service_grpc.pb.go
#	chasm/lib/activity/handler.go
#	chasm/lib/activity/library.go
#	chasm/lib/activity/proto/v1/activity_state.proto
#	chasm/lib/activity/proto/v1/request_response.proto
#	chasm/lib/activity/proto/v1/service.proto
#	chasm/lib/activity/proto/v1/tasks.proto
#	chasm/lib/activity/statemachine.go
#	chasm/lib/activity/statemachine_test.go
#	chasm/lib/activity/validator.go
#	chasm/lib/activity/validator_test.go
#	chasm/lib/buf.yaml
#	chasm/lib/callback/component.go
#	chasm/lib/callback/config.go
#	chasm/lib/callback/fx.go
#	chasm/lib/callback/invocable_internal.go
#	chasm/lib/callback/invocable_outbound.go
#	chasm/lib/callback/library.go
#	chasm/lib/callback/proto/v1/message.proto
#	chasm/lib/callback/proto/v1/tasks.proto
#	chasm/lib/callback/request.go
#	chasm/lib/callback/request_test.go
#	chasm/lib/callback/tasks.go
#	chasm/lib/callback/tasks_test.go
#	chasm/lib/nexusoperation/cancellation.go
#	chasm/lib/nexusoperation/cancellation_statemachine.go
#	chasm/lib/nexusoperation/config.go
#	chasm/lib/nexusoperation/fx.go
#	chasm/lib/nexusoperation/gen/nexusoperationpb/v1/operation.go-helpers.pb.go
#	chasm/lib/nexusoperation/gen/nexusoperationpb/v1/operation.pb.go
#	chasm/lib/nexusoperation/gen/nexusoperationpb/v1/tasks.go-helpers.pb.go
#	chasm/lib/nexusoperation/gen/nexusoperationpb/v1/tasks.pb.go
#	chasm/lib/nexusoperation/library.go
#	chasm/lib/nexusoperation/metrics.go
#	chasm/lib/nexusoperation/operation.go
#	chasm/lib/nexusoperation/operation_statemachine.go
#	chasm/lib/nexusoperation/proto/v1/operation.proto
#	chasm/lib/nexusoperation/proto/v1/tasks.proto
#	chasm/lib/scheduler/backfiller.go
#	chasm/lib/scheduler/backfiller_tasks.go
#	chasm/lib/scheduler/backfiller_tasks_test.go
#	chasm/lib/scheduler/config.go
#	chasm/lib/scheduler/export_test.go
#	chasm/lib/scheduler/fx.go
#	chasm/lib/scheduler/gen/schedulerpb/v1/message.go-helpers.pb.go
#	chasm/lib/scheduler/gen/schedulerpb/v1/message.pb.go
#	chasm/lib/scheduler/gen/schedulerpb/v1/request_response.go-helpers.pb.go
#	chasm/lib/scheduler/gen/schedulerpb/v1/request_response.pb.go
#	chasm/lib/scheduler/gen/schedulerpb/v1/service.pb.go
#	chasm/lib/scheduler/gen/schedulerpb/v1/service_client.pb.go
#	chasm/lib/scheduler/gen/schedulerpb/v1/service_grpc.pb.go
#	chasm/lib/scheduler/gen/schedulerpb/v1/tasks.go-helpers.pb.go
#	chasm/lib/scheduler/gen/schedulerpb/v1/tasks.pb.go
#	chasm/lib/scheduler/generator.go
#	chasm/lib/scheduler/generator_tasks.go
#	chasm/lib/scheduler/generator_tasks_test.go
#	chasm/lib/scheduler/handler.go
#	chasm/lib/scheduler/handler_test.go
#	chasm/lib/scheduler/helper_test.go
#	chasm/lib/scheduler/invoker.go
#	chasm/lib/scheduler/invoker_execute_task_test.go
#	chasm/lib/scheduler/invoker_process_buffer_task_test.go
#	chasm/lib/scheduler/invoker_tasks.go
#	chasm/lib/scheduler/library.go
#	chasm/lib/scheduler/migration/migration.go
#	chasm/lib/scheduler/migration/migration_test.go
#	chasm/lib/scheduler/proto/v1/message.proto
#	chasm/lib/scheduler/proto/v1/request_response.proto
#	chasm/lib/scheduler/proto/v1/service.proto
#	chasm/lib/scheduler/proto/v1/tasks.proto
#	chasm/lib/scheduler/scheduler.go
#	chasm/lib/scheduler/scheduler_idle_tasks_test.go
#	chasm/lib/scheduler/scheduler_tasks.go
#	chasm/lib/scheduler/scheduler_test.go
#	chasm/lib/scheduler/spec_processor.go
#	chasm/lib/tests/gen/testspb/v1/service.pb.go
#	chasm/lib/tests/handler.go
#	chasm/lib/tests/library.go
#	chasm/lib/tests/payload.go
#	chasm/lib/tests/proto/v1/message.proto
#	chasm/lib/tests/proto/v1/request_response.proto
#	chasm/lib/tests/proto/v1/service.proto
#	chasm/lib/tests/tasks.go
#	chasm/lib/workflow/fx.go
#	chasm/lib/workflow/library.go
#	chasm/lib/workflow/workflow.go
#	chasm/library_core.go
#	chasm/ms_pointer.go
#	chasm/nexus_operation_processor.go
#	chasm/node_backend_mock.go
#	chasm/ref.go
#	chasm/ref_test.go
#	chasm/registrable_component.go
#	chasm/registrable_task.go
#	chasm/registry.go
#	chasm/registry_test.go
#	chasm/search_attribute.go
#	chasm/search_attribute_test.go
#	chasm/statemachine.go
#	chasm/task.go
#	chasm/task_mock.go
#	chasm/test_component_test.go
#	chasm/test_library_test.go
#	chasm/test_task_test.go
#	chasm/test_var_test.go
#	chasm/tree.go
#	chasm/tree_test.go
#	chasm/visibility.go
#	chasm/visibility_manager.go
#	chasm/visibility_manager_mock.go
#	chasm/visibility_test.go
#	chasm/visibility_value.go
#	chasm/visibility_value_test.go
#	chasm/workflow.go
#	client/admin/client_gen.go
#	client/admin/metric_client.go
#	client/admin/metric_client_gen.go
#	client/admin/retryable_client_gen.go
#	client/frontend/client_gen.go
#	client/frontend/metric_client.go
#	client/frontend/metric_client_gen.go
#	client/frontend/retryable_client_gen.go
#	client/history/client_gen.go
#	client/history/metric_client.go
#	client/history/metric_client_gen.go
#	client/history/retryable_client_gen.go
#	client/matching/README.md
#	client/matching/client.go
#	client/matching/client_gen.go
#	client/matching/loadbalancer.go
#	client/matching/metric_client.go
#	client/matching/metric_client_gen.go
#	cmd/tools/genrpcwrappers/main.go
#	cmd/tools/getproto/files.go
#	cmd/tools/getproto/main.go
#	common/api/metadata.go
#	common/archiver/README.md
#	common/archiver/gcloud/connector/client.go
#	common/archiver/provider/provider.go
#	common/archiver/provider/provider_mock.go
#	common/archiver/s3store/history_archiver.go
#	common/archiver/s3store/history_archiver_test.go
#	common/archiver/s3store/mocks/generate.go
#	common/archiver/s3store/mocks/s3api.go
#	common/archiver/s3store/util.go
#	common/archiver/s3store/visibility_archiver.go
#	common/archiver/s3store/visibility_archiver_test.go
#	common/authorization/authorizer.go
#	common/authorization/claim_mapper.go
#	common/authorization/default_authorizer.go
#	common/authorization/default_jwt_claim_mapper.go
#	common/authorization/default_token_key_provider.go
#	common/authorization/interceptor.go
#	common/authorization/interceptor_test.go
#	common/authorization/roles.go
#	common/cluster/metadata.go
#	common/cluster/metadata_test.go
#	common/config/config.go
#	common/config/config_template_embedded.yaml
#	common/config/persistence.go
#	common/config/persistence_test.go
#	common/constants.go
#	common/contextutil/metadata.go
#	common/contextutil/metadata_test.go
#	common/dynamicconfig/constants.go
#	common/dynamicconfig/shared_constants.go
#	common/enums/defaults.go
#	common/headers/caller_info.go
#	common/headers/headers.go
#	common/headers/version_checker.go
#	common/log/tag/values.go
#	common/log/zap_logger.go
#	common/membership/ringpop/factory.go
#	common/membership/ringpop/monitor.go
#	common/membership/ringpop/service_resolver.go
#	common/membership/ringpop/test_cluster.go
#	common/metrics/config.go
#	common/metrics/metric_defs.go
#	common/metrics/tags.go
#	common/metrics/tally_metrics_handler.go
#	common/metrics/tally_metrics_handler_test.go
#	common/metrics/task_queues.go
#	common/namespace/namespace.go
#	common/namespace/nsregistry/registry.go
#	common/namespace/nsregistry/registry_test.go
#	common/namespace/nsregistry/registry_watch_test.go
#	common/namespace/nsreplication/replication_task_executor.go
#	common/namespace/nsreplication/replication_task_executor_test.go
#	common/namespace/nsreplication/transmission_task_handler.go
#	common/namespace/nsreplication/transmission_task_handler_test.go
#	common/namespace/registry.go
#	common/namespace/registry_mock.go
#	common/namespace/replication_resolver.go
#	common/namespace/replication_resolver_test.go
#	common/nexus/callback_token.go
#	common/nexus/endpoint_registry.go
#	common/nexus/endpoint_registry_test.go
#	common/nexus/failure.go
#	common/nexus/failure_test.go
#	common/nexus/link_converter.go
#	common/nexus/link_converter_test.go
#	common/nexus/nexustest/server.go
#	common/nexus/payload_serializer.go
#	common/nexus/payload_serializer_test.go
#	common/payload/payload.go
#	common/payload/payload_test.go
#	common/payloads/payloads.go
#	common/persistence/cassandra/matching_task_store_queue.go
#	common/persistence/cassandra/matching_task_store_user_data.go
#	common/persistence/cassandra/matching_task_store_v1.go
#	common/persistence/cassandra/matching_task_store_v2.go
#	common/persistence/cassandra/queue_v2_store.go
#	common/persistence/data_interfaces.go
#	common/persistence/faultinjection/cluster_metadata_store_gen.go
#	common/persistence/faultinjection/data_store_factory.go
#	common/persistence/faultinjection/execution_store_gen.go
#	common/persistence/faultinjection/fault_generator.go
#	common/persistence/faultinjection/gowrap_template
#	common/persistence/faultinjection/metadata_store_gen.go
#	common/persistence/faultinjection/method_fault_generator.go
#	common/persistence/faultinjection/nexus_endpoint_store_gen.go
#	common/persistence/faultinjection/queue_gen.go
#	common/persistence/faultinjection/queue_v2_gen.go
#	common/persistence/faultinjection/shard_store_gen.go
#	common/persistence/faultinjection/store_fault_generator.go
#	common/persistence/faultinjection/task_store_gen.go
#	common/persistence/persistence_interface.go
#	common/persistence/persistencetest/queues.go
#	common/persistence/persistencetest/queues_test.go
#	common/persistence/serialization/codec.go
#	common/persistence/serialization/codec_test.go
#	common/persistence/serialization/serializer.go
#	common/persistence/serialization/task_serializers.go
#	common/persistence/serialization/task_serializers_test.go
#	common/persistence/sql/sqlplugin/mysql/session/session.go
#	common/persistence/sql/sqlplugin/mysql/visibility.go
#	common/persistence/sql/sqlplugin/postgresql/driver/interface.go
#	common/persistence/sql/sqlplugin/postgresql/driver/pgx.go
#	common/persistence/sql/sqlplugin/postgresql/driver/pq.go
#	common/persistence/sql/sqlplugin/postgresql/plugin.go
#	common/persistence/sql/sqlplugin/postgresql/session/session.go
#	common/persistence/sql/sqlplugin/sqlite/driver.go
#	common/persistence/sql/sqlplugin/sqlite/plugin.go
#	common/persistence/task_manager.go
#	common/persistence/tests/postgresql_test.go
#	common/persistence/tests/postgresql_test_util.go
#	common/persistence/tests/util.go
#	common/persistence/tests/visibility_persistence_suite.go
#	common/persistence/visibility/chasm_visibility_manager.go
#	common/persistence/visibility/chasm_visibility_manager_test.go
#	common/persistence/visibility/manager/visibility_manager.go
#	common/persistence/visibility/manager/visibility_manager_mock.go
#	common/persistence/visibility/store/elasticsearch/client/aws.go
#	common/persistence/visibility/store/elasticsearch/query_interceptors.go
#	common/persistence/visibility/store/elasticsearch/query_interceptors_test.go
#	common/persistence/visibility/store/elasticsearch/visibility_store.go
#	common/persistence/visibility/store/elasticsearch/visibility_store_read_test.go
#	common/persistence/visibility/store/query/converter.go
#	common/persistence/visibility/store/query/converter_test.go
#	common/persistence/visibility/store/sql/query_converter_legacy.go
#	common/persistence/visibility/store/sql/query_converter_legacy_test.go
#	common/persistence/visibility/store/sql/visibility_store.go
#	common/persistence/visibility/store/util.go
#	common/persistence/visibility/store/visibility_store.go
#	common/persistence/visibility/store/visibility_store_mock.go
#	common/persistence/visibility/visibility_manager_dual.go
#	common/persistence/visibility/visibility_manager_impl.go
#	common/persistence/visibility/visibility_manager_rate_limited.go
#	common/persistence/visibility/visiblity_manager_metrics.go
#	common/primitives/task_queues.go
#	common/quotas/clocked_rate_limiter.go
#	common/quotas/dynamic_rate_limiter_impl.go
#	common/quotas/priority_rate_limiter_impl.go
#	common/quotas/rate_burst.go
#	common/resource/fx.go
#	common/rpc/encryption/fixedTLSConfigProvider.go
#	common/rpc/encryption/local_store_tls_provider.go
#	common/rpc/encryption/tls_config_test.go
#	common/rpc/interceptor/dc_redirection_policy.go
#	common/rpc/interceptor/health_check.go
#	common/rpc/interceptor/logtags/admin_service_server_gen.go
#	common/rpc/interceptor/logtags/history_service_server_gen.go
#	common/rpc/interceptor/logtags/workflow_service_server_gen.go
#	common/rpc/interceptor/namespace_handover.go
#	common/rpc/interceptor/namespace_rate_limit.go
#	common/rpc/interceptor/namespace_validator.go
#	common/rpc/interceptor/namespace_validator_test.go
#	common/rpc/interceptor/rate_limit.go
#	common/rpc/interceptor/redirection.go
#	common/rpc/interceptor/redirection_test.go
#	common/rpc/interceptor/request_error_handler.go
#	common/rpc/interceptor/routing_key_interceptor_test.go
#	common/rpc/interceptor/service_error_interceptor.go
#	common/rpc/interceptor/service_error_interceptor_test.go
#	common/rpc/rpc.go
#	common/rpc/test/http_test.go
#	common/rpc/test/rpc_localstore_tls_test.go
#	common/searchattribute/encode.go
#	common/searchattribute/encode_test.go
#	common/searchattribute/manager.go
#	common/searchattribute/mapper.go
#	common/searchattribute/mapper_test.go
#	common/searchattribute/name_type_map.go
#	common/searchattribute/name_type_map_test.go
#	common/searchattribute/sadefs/encode_value.go
#	common/searchattribute/sadefs/encode_value_test.go
#	common/searchattribute/sadefs/util.go
#	common/searchattribute/search_attirbute.go
#	common/searchattribute/stringify.go
#	common/searchattribute/stringify_test.go
#	common/searchattribute/system_provider.go
#	common/searchattribute/test_provider.go
#	common/searchattribute/validator.go
#	common/serviceerror/convert.go
#	common/tasks/interleaved_weighted_round_robin_test.go
#	common/testing/historyrequire/history_require.go
#	common/testing/mockapi/workflowservicemock/v1/service_grpc.pb.mock.go
#	common/testing/mocksdk/client_mock.go
#	common/testing/protorequire/require.go
#	common/testing/testhooks/hooks.go
#	common/testing/testhooks/test_impl.go
#	common/testing/testlogger/testlogger.go
#	common/testing/testvars/test_vars.go
#	common/tqid/task_queue_id.go
#	common/tqid/task_queue_id_test.go
#	common/tqid/task_queue_validator.go
#	common/util/util.go
#	common/util/wildcard.go
#	common/worker_versioning/version_membership_cache.go
#	common/worker_versioning/worker_versioning.go
#	common/worker_versioning/worker_versioning_test.go
#	components/callbacks/config.go
#	components/callbacks/config_test.go
#	components/callbacks/request.go
#	components/callbacks/request_test.go
#	components/nexusoperations/config.go
#	components/nexusoperations/executors_test.go
#	components/nexusoperations/fx.go
#	components/nexusoperations/workflow/commands.go
#	components/nexusoperations/workflow/commands_test.go
#	config/development-cluster-a.yaml
#	config/development-cluster-b.yaml
#	config/development-cluster-c.yaml
#	config/dynamicconfig/development-cass.yaml
#	config/dynamicconfig/development-sql.yaml
#	config/dynamicconfig/development-xdc.yaml
#	develop/docker-compose/docker-compose.yml
#	develop/docker-compose/grafana/provisioning/tempo/tempo.yaml
#	develop/github/docker-compose.yml
#	docker/docker-bake.hcl
#	docker/targets/admin-tools.Dockerfile
#	docker/targets/server.Dockerfile
#	docs/Makefile
#	docs/_assets/matching-context.d2
#	docs/_assets/retries.d2
#	docs/architecture/chasm.md
#	docs/architecture/nexus.md
#	docs/development/macos/cassandra.md
#	docs/development/testing.md
#	proto/internal/buf.yaml
#	proto/internal/temporal/server/api/adminservice/v1/request_response.proto
#	proto/internal/temporal/server/api/adminservice/v1/service.proto
#	proto/internal/temporal/server/api/archiver/v1/message.proto
#	proto/internal/temporal/server/api/batch/v1/request_response.proto
#	proto/internal/temporal/server/api/checksum/v1/message.proto
#	proto/internal/temporal/server/api/cli/v1/message.proto
#	proto/internal/temporal/server/api/clock/v1/message.proto
#	proto/internal/temporal/server/api/cluster/v1/message.proto
#	proto/internal/temporal/server/api/common/v1/api_category.proto
#	proto/internal/temporal/server/api/common/v1/dlq.proto
#	proto/internal/temporal/server/api/deployment/v1/message.proto
#	proto/internal/temporal/server/api/enums/v1/cluster.proto
#	proto/internal/temporal/server/api/enums/v1/common.proto
#	proto/internal/temporal/server/api/enums/v1/fairness_state.proto
#	proto/internal/temporal/server/api/enums/v1/nexus.proto
#	proto/internal/temporal/server/api/enums/v1/predicate.proto
#	proto/internal/temporal/server/api/enums/v1/replication.proto
#	proto/internal/temporal/server/api/enums/v1/task.proto
#	proto/internal/temporal/server/api/enums/v1/workflow.proto
#	proto/internal/temporal/server/api/enums/v1/workflow_task_type.proto
#	proto/internal/temporal/server/api/errordetails/v1/message.proto
#	proto/internal/temporal/server/api/health/v1/message.proto
#	proto/internal/temporal/server/api/history/v1/message.proto
#	proto/internal/temporal/server/api/historyservice/v1/request_response.proto
#	proto/internal/temporal/server/api/historyservice/v1/service.proto
#	proto/internal/temporal/server/api/matchingservice/v1/request_response.proto
#	proto/internal/temporal/server/api/matchingservice/v1/service.proto
#	proto/internal/temporal/server/api/metrics/v1/message.proto
#	proto/internal/temporal/server/api/namespace/v1/message.proto
#	proto/internal/temporal/server/api/persistence/v1/chasm.proto
#	proto/internal/temporal/server/api/persistence/v1/chasm_visibility.proto
#	proto/internal/temporal/server/api/persistence/v1/cluster_metadata.proto
#	proto/internal/temporal/server/api/persistence/v1/executions.proto
#	proto/internal/temporal/server/api/persistence/v1/history_tree.proto
#	proto/internal/temporal/server/api/persistence/v1/hsm.proto
#	proto/internal/temporal/server/api/persistence/v1/namespaces.proto
#	proto/internal/temporal/server/api/persistence/v1/nexus.proto
#	proto/internal/temporal/server/api/persistence/v1/predicates.proto
#	proto/internal/temporal/server/api/persistence/v1/queue_metadata.proto
#	proto/internal/temporal/server/api/persistence/v1/queues.proto
#	proto/internal/temporal/server/api/persistence/v1/task_queues.proto
#	proto/internal/temporal/server/api/persistence/v1/tasks.proto
#	proto/internal/temporal/server/api/persistence/v1/update.proto
#	proto/internal/temporal/server/api/persistence/v1/workflow_mutable_state.proto
#	proto/internal/temporal/server/api/replication/v1/message.proto
#	proto/internal/temporal/server/api/routing/v1/extension.proto
#	proto/internal/temporal/server/api/schedule/v1/message.proto
#	proto/internal/temporal/server/api/taskqueue/v1/message.proto
#	proto/internal/temporal/server/api/testservice/v1/request_response.proto
#	proto/internal/temporal/server/api/testservice/v1/service.proto
#	proto/internal/temporal/server/api/token/v1/message.proto
#	proto/internal/temporal/server/api/workflow/v1/message.proto
#	service/frontend/admin_handler.go
#	service/frontend/admin_handler_test.go
#	service/frontend/configs/quotas.go
#	service/frontend/configs/quotas_test.go
#	service/frontend/errors.go
#	service/frontend/fx.go
#	service/frontend/fx_test.go
#	service/frontend/health_check_test.go
#	service/frontend/namespace_handler.go
#	service/frontend/namespace_handler_test.go
#	service/frontend/nexus_completion_http_handler.go
#	service/frontend/nexus_handler.go
#	service/frontend/nexus_handler_test.go
#	service/frontend/nexus_operation_http_handler.go
#	service/frontend/nexus_operation_http_handler_test.go
#	service/frontend/operator_handler.go
#	service/frontend/operator_handler_test.go
#	service/frontend/service.go
#	service/frontend/workflow_handler.go
#	service/frontend/workflow_handler_second_test.go
#	service/frontend/workflow_handler_test.go
#	service/fx.go
#	service/history/api/command_attr_validator.go
#	service/history/api/command_attr_validator_test.go
#	service/history/api/create_workflow_util.go
#	service/history/api/describeworkflow/api.go
#	service/history/api/get_workflow_util.go
#	service/history/api/multioperation/api.go
#	service/history/api/namespace.go
#	service/history/api/pauseactivity/api.go
#	service/history/api/pollupdate/api_test.go
#	service/history/api/queryworkflow/api.go
#	service/history/api/recordactivitytaskstarted/api.go
#	service/history/api/recordactivitytaskstarted/api_test.go
#	service/history/api/recordworkflowtaskstarted/api.go
#	service/history/api/removesignalmutablestate/api.go
#	service/history/api/resetactivity/api.go
#	service/history/api/resetworkflow/api.go
#	service/history/api/respondactivitytaskcanceled/api.go
#	service/history/api/respondactivitytaskcompleted/api.go
#	service/history/api/respondactivitytaskfailed/api.go
#	service/history/api/respondactivitytaskfailed/api_test.go
#	service/history/api/respondworkflowtaskcompleted/api.go
#	service/history/api/respondworkflowtaskcompleted/api_test.go
#	service/history/api/respondworkflowtaskcompleted/workflow_task_completed_handler.go
#	service/history/api/respondworkflowtaskcompleted/workflow_task_completed_handler_test.go
#	service/history/api/respondworkflowtaskfailed/api.go
#	service/history/api/signalwithstartworkflow/api.go
#	service/history/api/signalwithstartworkflow/convert.go
#	service/history/api/signalwithstartworkflow/signal_with_start_workflow.go
#	service/history/api/signalwithstartworkflow/signal_with_start_workflow_test.go
#	service/history/api/signalworkflow/api.go
#	service/history/api/startworkflow/api.go
#	service/history/api/unpauseactivity/api.go
#	service/history/api/updateactivityoptions/api.go
#	service/history/api/updateactivityoptions/api_test.go
#	service/history/api/updateworkflow/api.go
#	service/history/api/updateworkflowoptions/api.go
#	service/history/api/updateworkflowoptions/api_test.go
#	service/history/api/verifychildworkflowcompletionrecorded/api.go
#	service/history/api/verifyfirstworkflowtaskscheduled/api_test.go
#	service/history/api/worker_versioning_util.go
#	service/history/api/workflow_id_dedup.go
#	service/history/api/workflow_id_dedup_test.go
#	service/history/archival_queue_factory_test.go
#	service/history/chasm_engine.go
#	service/history/chasm_engine_test.go
#	service/history/chasm_task_util.go
#	service/history/configs/config.go
#	service/history/configs/quotas.go
#	service/history/consts/const.go
#	service/history/deletemanager/delete_manager.go
#	service/history/deletemanager/delete_manager_test.go
#	service/history/fx.go
#	service/history/handler.go
#	service/history/history_engine.go
#	service/history/history_engine2_test.go
#	service/history/history_engine_factory.go
#	service/history/history_engine_test.go
#	service/history/history_test.go
#	service/history/historybuilder/event_factory.go
#	service/history/historybuilder/event_store.go
#	service/history/historybuilder/history_builder.go
#	service/history/historybuilder/history_builder_categorization_test.go
#	service/history/historybuilder/history_builder_test.go
#	service/history/interfaces/chasm_tree.go
#	service/history/interfaces/chasm_tree_mock.go
#	service/history/interfaces/mutable_state.go
#	service/history/interfaces/mutable_state_mock.go
#	service/history/interfaces/shard_context.go
#	service/history/interfaces/shard_context_mock.go
#	service/history/interfaces/workflow_context.go
#	service/history/interfaces/workflow_context_mock.go
#	service/history/ndc/events_reapplier_test.go
#	service/history/ndc/transaction_manager.go
#	service/history/ndc/transaction_manager_existing_workflow.go
#	service/history/ndc/transaction_manager_existing_workflow_test.go
#	service/history/ndc/transaction_manager_new_workflow.go
#	service/history/ndc/transaction_manager_new_workflow_test.go
#	service/history/ndc/workflow.go
#	service/history/ndc/workflow_mock.go
#	service/history/ndc/workflow_resetter.go
#	service/history/ndc/workflow_resetter_test.go
#	service/history/ndc/workflow_state_replicator_test.go
#	service/history/ndc_standby_task_util.go
#	service/history/ndc_task_util.go
#	service/history/outbound_queue_active_task_executor.go
#	service/history/outbound_queue_active_task_executor_test.go
#	service/history/outbound_queue_factory.go
#	service/history/outbound_queue_standby_task_executor.go
#	service/history/outbound_queue_standby_task_executor_test.go
#	service/history/queue_factory_base.go
#	service/history/queue_factory_base_test.go
#	service/history/queues/active_standby_executor.go
#	service/history/queues/active_standby_executor_test.go
#	service/history/queues/dlq_writer.go
#	service/history/queues/dlq_writer_test.go
#	service/history/queues/executable.go
#	service/history/queues/executable_factory.go
#	service/history/queues/executable_mock.go
#	service/history/queues/executable_test.go
#	service/history/queues/grouper.go
#	service/history/queues/metrics.go
#	service/history/queues/metrics_test.go
#	service/history/queues/priority_assigner.go
#	service/history/queues/queue_base.go
#	service/history/queues/queue_immediate.go
#	service/history/queues/queue_immediate_test.go
#	service/history/queues/reader.go
#	service/history/queues/scheduler.go
#	service/history/queues/speculative_workflow_task_timeout_queue.go
#	service/history/replication/ack_manager.go
#	service/history/replication/dlq_writer.go
#	service/history/replication/dlq_writer_test.go
#	service/history/replication/executable_sync_versioned_transition_task.go
#	service/history/replication/executable_task.go
#	service/history/replication/executable_task_converter.go
#	service/history/replication/executable_task_mock.go
#	service/history/replication/executable_task_tool_box.go
#	service/history/replication/executable_verify_versioned_transition_task.go
#	service/history/replication/fx.go
#	service/history/replication/metrics.go
#	service/history/replication/progress_cache.go
#	service/history/replication/progress_cache_test.go
#	service/history/replication/raw_task_converter.go
#	service/history/replication/raw_task_converter_test.go
#	service/history/replication/stream_receiver.go
#	service/history/replication/stream_receiver_monitor.go
#	service/history/replication/stream_receiver_monitor_test.go
#	service/history/replication/stream_sender.go
#	service/history/replication/task_processor.go
#	service/history/replication/task_processor_manager.go
#	service/history/replication/task_processor_manager_test.go
#	service/history/replication/task_processor_test.go
#	service/history/service.go
#	service/history/shard/context_factory.go
#	service/history/shard/context_impl.go
#	service/history/shard/context_test.go
#	service/history/shard/context_testutil.go
#	service/history/shard/controller_test.go
#	service/history/shard/fx.go
#	service/history/tasks/chasm_task.go
#	service/history/tasks/delete_workflow_execution_stage.go
#	service/history/tasks/predicates.go
#	service/history/tasks/state_machine_task.go
#	service/history/tasks/task.go
#	service/history/tasks/task_mock.go
#	service/history/tasks/utils.go
#	service/history/timer_queue_active_task_executor.go
#	service/history/timer_queue_active_task_executor_test.go
#	service/history/timer_queue_standby_task_executor.go
#	service/history/timer_queue_standby_task_executor_test.go
#	service/history/timer_queue_task_executor_base.go
#	service/history/timer_queue_task_executor_base_test.go
#	service/history/transfer_queue_active_task_executor.go
#	service/history/transfer_queue_active_task_executor_test.go
#	service/history/transfer_queue_factory.go
#	service/history/transfer_queue_standby_task_executor.go
#	service/history/transfer_queue_standby_task_executor_test.go
#	service/history/visibility_queue_factory.go
#	service/history/visibility_queue_task_executor.go
#	service/history/visibility_queue_task_executor_test.go
#	service/history/worker_versioning_util.go
#	service/history/workflow/activity.go
#	service/history/workflow/cache/cache.go
#	service/history/workflow/command_handler.go
#	service/history/workflow/context.go
#	service/history/workflow/fx.go
#	service/history/workflow/metrics.go
#	service/history/workflow/metrics_test.go
#	service/history/workflow/mutable_state_impl.go
#	service/history/workflow/mutable_state_impl_restart_activity_test.go
#	service/history/workflow/mutable_state_impl_test.go
#	service/history/workflow/mutable_state_rebuilder.go
#	service/history/workflow/mutable_state_rebuilder_test.go
#	service/history/workflow/noop_chasm_tree.go
#	service/history/workflow/retry.go
#	service/history/workflow/task_generator.go
#	service/history/workflow/task_generator_mock.go
#	service/history/workflow/task_generator_provider.go
#	service/history/workflow/task_generator_test.go
#	service/history/workflow/task_refresher.go
#	service/history/workflow/timer_sequence.go
#	service/history/workflow/update/abort_reason.go
#	service/history/workflow/update/errors_failures.go
#	service/history/workflow/update/export_test.go
#	service/history/workflow/update/store.go
#	service/history/workflow/update/store_mock_test.go
#	service/history/workflow/update/update.go
#	service/history/workflow/update/update_test.go
#	service/history/workflow/update/validation.go
#	service/history/workflow/util.go
#	service/history/workflow/workflow_task_state_machine.go
#	service/history/workflow/workflow_test/mutable_state_impl_test.go
#	service/matching/backlog_manager_test.go
#	service/matching/config.go
#	service/matching/configs/quotas.go
#	service/matching/counter/cmsketch.go
#	service/matching/counter/cmsketch_test.go
#	service/matching/counter/hybrid.go
#	service/matching/db.go
#	service/matching/fair_backlog_manager.go
#	service/matching/fair_task_reader.go
#	service/matching/forwarder.go
#	service/matching/fx.go
#	service/matching/handler.go
#	service/matching/handler_test.go
#	service/matching/matcher.go
#	service/matching/matcher_data.go
#	service/matching/matcher_data_test.go
#	service/matching/matching_engine.go
#	service/matching/matching_engine_test.go
#	service/matching/physical_task_queue_key.go
#	service/matching/physical_task_queue_key_test.go
#	service/matching/physical_task_queue_manager.go
#	service/matching/physical_task_queue_manager_interface.go
#	service/matching/physical_task_queue_manager_mock.go
#	service/matching/physical_task_queue_manager_test.go
#	service/matching/pri_backlog_manager.go
#	service/matching/pri_forwarder.go
#	service/matching/pri_matcher.go
#	service/matching/pri_matcher_test.go
#	service/matching/pri_task_reader.go
#	service/matching/task.go
#	service/matching/task_queue_partition_manager.go
#	service/matching/task_queue_partition_manager_test.go
#	service/matching/task_tracker.go
#	service/matching/task_tracker_test.go
#	service/matching/task_validation.go
#	service/matching/user_data_manager.go
#	service/matching/user_data_manager_test.go
#	service/matching/workers/registry.go
#	service/matching/workers/registry_impl.go
#	service/matching/workers/registry_impl_test.go
#	service/matching/workers/registry_test.go
#	service/matching/workers/worker_query_engine.go
#	service/matching/workers/worker_query_engine_test.go
#	service/worker/batcher/activities.go
#	service/worker/batcher/activities_test.go
#	service/worker/deletenamespace/deleteexecutions/activities.go
#	service/worker/deletenamespace/deleteexecutions/workflow_test.go
#	service/worker/deletenamespace/fx.go
#	service/worker/dummy/workflow.go
#	service/worker/fx.go
#	service/worker/migration/activities.go
#	service/worker/migration/activities_test.go
#	service/worker/migration/force_replication_workflow.go
#	service/worker/migration/force_replication_workflow_test.go
#	service/worker/migration/fx.go
#	service/worker/migration/handover_workflow.go
#	service/worker/migration/handover_workflow_test.go
#	service/worker/scheduler/activities.go
#	service/worker/scheduler/activities_test.go
#	service/worker/scheduler/workflow.go
#	service/worker/workerdeployment/activities.go
#	service/worker/workerdeployment/client.go
#	service/worker/workerdeployment/fx.go
#	service/worker/workerdeployment/util.go
#	service/worker/workerdeployment/util_test.go
#	service/worker/workerdeployment/version_activities.go
#	service/worker/workerdeployment/version_workflow.go
#	service/worker/workerdeployment/version_workflow_test.go
#	service/worker/workerdeployment/workflow.go
#	service/worker/workerdeployment/workflow_test.go
#	temporal/fx.go
#	temporal/server_option.go
#	temporal/server_options.go
#	tests/acquire_shard_test.go
#	tests/activity_api_batch_reset_test.go
#	tests/activity_api_batch_unpause_test.go
#	tests/activity_api_batch_update_options_test.go
#	tests/activity_api_pause_test.go
#	tests/activity_api_reset_test.go
#	tests/activity_api_rules_test.go
#	tests/activity_api_update_test.go
#	tests/activity_test.go
#	tests/add_tasks_test.go
#	tests/admin_test.go
#	tests/advanced_visibility_test.go
#	tests/archival_test.go
#	tests/callbacks_migration_test.go
#	tests/callbacks_test.go
#	tests/cancel_workflow_test.go
#	tests/chasm_test.go
#	tests/child_workflow_test.go
#	tests/client_data_converter_test.go
#	tests/client_misc_test.go
#	tests/continue_as_new_test.go
#	tests/describe_test.go
#	tests/dlq_test.go
#	tests/links_test.go
#	tests/max_buffered_event_test.go
#	tests/namespace_interceptor_test.go
#	tests/namespace_test.go
#	tests/nexus_api_test.go
#	tests/nexus_api_validation_test.go
#	tests/nexus_endpoint_test.go
#	tests/nexus_test_base.go
#	tests/nexus_workflow_test.go
#	tests/pause_workflow_execution_test.go
#	tests/premature_eos_test.go
#	tests/priority_fairness_test.go
#	tests/purge_dlq_tasks_api_test.go
#	tests/query_workflow_test.go
#	tests/relay_task_test.go
#	tests/schedule_migration_test.go
#	tests/schedule_test.go
#	tests/signal_workflow_test.go
#	tests/sizelimit_test.go
#	tests/stickytq_test.go
#	tests/task_queue_stats_test.go
#	tests/task_queue_test.go
#	tests/testcore/context.go
#	tests/testcore/dynamic_config_overrides.go
#	tests/testcore/functional_test_base.go
#	tests/testcore/matching_behavior.go
#	tests/testcore/onebox.go
#	tests/testcore/shard_salt.txt
#	tests/testcore/test_cluster.go
#	tests/testcore/test_cluster_pool.go
#	tests/testcore/test_env.go
#	tests/transient_task_test.go
#	tests/update_workflow_sdk_test.go
#	tests/update_workflow_test.go
#	tests/user_metadata_test.go
#	tests/user_timers_test.go
#	tests/versioning_3_test.go
#	tests/versioning_test.go
#	tests/worker_deployment_test.go
#	tests/worker_deployment_version_test.go
#	tests/workflow_alias_search_attribute_test.go
#	tests/workflow_buffered_events_test.go
#	tests/workflow_delete_execution_test.go
#	tests/workflow_failures_test.go
#	tests/workflow_memo_test.go
#	tests/workflow_task_reported_problems_test.go
#	tests/workflow_test.go
#	tests/workflow_timer_test.go
#	tests/workflow_visibility_test.go
#	tests/xdc/base.go
#	tests/xdc/chasm_test.go
#	tests/xdc/failover_test.go
#	tests/xdc/history_replication_dlq_test.go
#	tests/xdc/history_replication_signals_and_updates_test.go
#	tests/xdc/nexus_request_forwarding_test.go
#	tests/xdc/nexus_state_replication_test.go
#	tests/xdc/stream_based_replication_test.go
#	tests/xdc/visibility_test.go
#	tools/elasticsearch/handler.go
#	tools/elasticsearch/main.go
#	tools/elasticsearch/tasks.go
#	tools/flakereport/flakereport.go
#	tools/flakereport/github.go
#	tools/flakereport/slack.go
#	tools/flakereport/types.go
#	tools/flakereport/writer.go
#	tools/tdbg/chasm_registry.go
#	tools/tdbg/commands.go
#	tools/tdbg/flags.go
#	tools/tdbg/task_queue_commands.go
#	tools/tdbg/task_queue_commands_test.go
#	tools/tdbg/tdbg_commands.go
#	tools/tdbg/util.go
#	tools/testrunner/junit.go
#	tools/testrunner/junit_test.go
#	tools/testrunner/log.go
#	tools/testrunner/log_test.go
#	tools/testrunner/testdata/junit-alerts-output.xml
#	tools/testrunner/testdata/junit-crash-output.xml
#	tools/testrunner/testdata/junit-empty.xml
#	tools/testrunner/testdata/junit-timeout-output.xml
#	tools/testrunner/testrunner.go
#	tools/testrunner/testrunner_test.go
2026-06-02 10:02:39 -07:00
Roey BermanandGitHub 453df8f1a2 Rename the dynamic config components.callbacks.allowedAddresses to callback.allowedAddresses. (#10234)
## What changed?

Use the new dynamic config instead of leaving it as a placeholder and
update its documentation.

Also bumps the server version constant to `1.32.0`. This was supposed to
be done after the `1.31.0` release and was missed.

## Why?

Remove duplication as we migrate the code to the CHASM backed
implementation.

## Potential risks

This config is only relevant for external endpoints which are
experimental or older server versions, needs to be called out in the
release notes.
2026-05-16 19:32:02 -07:00
zeekay 8f279a783a chore: drop dead config + ship-shape Dockerfile/Makefile/k8s
- rm config/ (cassandra/mysql/postgres/dual-cluster fork yamls)
- rm develop/ (fork docker-compose / grafana / temporalio-dashboards submodule)
- rm docs/{admin,architecture,development,_assets,ui-screenshots,Makefile,README.md,worker-versioning.md}
  (kept docs/red-review-zap-sdk.md — pkg/sdk port review)
- rm k8s/{configmap.yaml,init-db.yaml,kms-secrets.yaml} (dynamic config + Postgres init for fork)
- rm .gitmodules (was: temporalio-dashboards Grafana, gone)
- Dockerfile: 27 lines, no CGO, no SQLite driver, exposes :9999 (ZAP) + :7243 (HTTP)
- Makefile: 30 lines, just build/ui/run/vet/test/tidy/clean
- k8s/deployment.yaml: single Deployment, single Service, single Ingress, /healthz probes
- k8s/kustomization.yaml: 2 resources (deployment + ingress)

Binary: 6.65 MB (-trimpath -ldflags="-s -w"), RSS 13 MB, boots <1s, all probes 200.
2026-04-26 14:57:25 -07:00
f741dd0401 Add worker commands architecture doc (#9976)
## What

Adds an architecture doc for the worker commands framework — how
commands flow from history through matching to workers, and how to add
new command types.

---------

Co-authored-by: Sean Kane <[email protected]>

Co-authored-by: Hanzo Dev <[email protected]>
2026-04-17 11:10:35 -07:00
Stephan BehnkeandGitHub fd9e9adf1b Document CHASM (#9689)
WISOTT

Rendered:
https://github.com/temporalio/temporal/blob/stephanos/chasm-graph/docs/architecture/chasm.md
2026-04-02 22:04:42 +00:00
Stephan BehnkeandGitHub 379c8a6c6b Remove Nexus feature flag (#9512)
## What changed?

Deleted `"system.enableNexus"`.

## Why?

Nexus has been GA since Dec 2024.

## How did you test it?
- [ ] built
- [ ] run locally and tested manually
- [x] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)
2026-03-13 18:50:16 +00:00
Sean KaneandGitHub ab07c507cf Include transient and speculative WFT events in GetWorkflowExecutionHistoryResponse (#9325)
## What changed?

Re-does #9138 which was incidentally merged.

Include transient and speculative WFT events in
`GetWorkflowExecutionHistoryReponse` response, unless UI or CLI made
request.

* Adds `transient_or_speculative_events` back to
`GetMutableStateResponse`
* Reserve `transient_workflow_task` in `HisotryCOntinuation` token
* Add validation helpers
* Add query-compare-query for transient events at request start and end

Re-implements #7732

## Why?
Fix "premature end of stream" errors when workers request history after
cache eviction w/ transient/speculative workflow tasks present. This
adds transient & speculative WFT events in `GetWorkflowExecutionHistory`
(already in `PollWorkflowTask`). Worker cache eviction w/ speculative
workflow tasks causes the expected and actual event counts to be
different. #7732 passed transient events through continuation tokens,
which could become stale during pagination. This PR implements mutable
state querying at both start and end of pagination and compares
transient event IDs to detect if WFT state changed during pagination and
return a retryable error.

## How did you test it?
- [X] built
- [X] run locally and tested manually
- [X] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)

## Potential risks
Same risks from #7732
2026-02-19 15:24:21 -07:00
Sean KaneandGitHub dd9176cfe8 Revert "Include transient and speculative WFT events in GetWorkflowExecutionHistoryResponse" (#9322)
Reverts temporalio/temporal#9138
2026-02-13 19:49:27 +00:00
Sean KaneandGitHub c627307e9e Include transient and speculative WFT events in GetWorkflowExecutionHistoryResponse (#9138)
## What changed?
Include transient and speculative WFT events in
`GetWorkflowExecutionHistoryReponse` response, unless UI or CLI made
request.

* Adds `transient_or_speculative_events` back to
`GetMutableStateResponse`
* Reserve `transient_workflow_task` in `HisotryCOntinuation` token
* Add validation helpers
* Add query-compare-query for transient events at request start and end

Re-implements #7732

## Why?
Fix "premature end of stream" errors when workers request history after
cache eviction w/ transient/speculative workflow tasks present. This
adds transient & speculative WFT events in `GetWorkflowExecutionHistory`
(already in `PollWorkflowTask`). Worker cache eviction w/ speculative
workflow tasks causes the expected and actual event counts to be
different. #7732 passed transient events through continuation tokens,
which could become stale during pagination. This PR implements mutable
state querying at both start and end of pagination and compares
transient event IDs to detect if WFT state changed during pagination and
return a retryable error.

## How did you test it?
- [X] built
- [X] run locally and tested manually
- [X] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)

## Potential risks
Same risks from #7732
2026-02-13 19:05:53 +00:00
Lina JodoinandGitHub bffbf1443c [Scheduler] Put a limit on maximum number of concurrent backfillers (#9248)
## What changed?
- Puts an upper bound on how many concurrent backfillers can be active
in a scheduler.

## Why?
- Prevents a case of unbounded growth.

## How did you test it?
- [ ] built
- [ ] run locally and tested manually
- [ ] covered by existing tests
- [ ] added new unit test(s)
- [x] added new functional test(s)

## Potential risks
- I've set too low a limit, and on rollout, we break someone expecting a
higher number of concurrent backfillers. But I'd be pretty surprised if
anyone has a use case for 100+ backfillers..
2026-02-12 00:45:30 +00:00
Yichao YangandGitHub 8247bbb3d9 Fix workflow lifecycle and matching doc diagrams (#9210)
## What changed?
- Fix issues in architecture doc diagrams

## Why?
- Fix issues in architecture doc diagrams

## How did you test it?
- [x] built
- [ ] run locally and tested manually
- [ ] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)
2026-02-06 22:47:04 -08:00
3cc165c6a6 [Docs] Update Nexus Readme (Remove Experimental Lang + Improve Configs) (#9179)
## What changed?
Documentation Only. Update Nexus Readme to remove experimental language
and improve callback configuration recommendation.

## Why?
Nexus is Generally Available it is no longer experimental
Want to improve security posture for recommended configurations 

## How did you test it?
- [ ] built
- [ ] run locally and tested manually
- [ ] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)

---------

Co-authored-by: Roey Berman <[email protected]>
Co-authored-by: Roey Berman <[email protected]>
2026-02-06 01:19:31 +00:00
cf55d362c7 [Scheduled Actions] Architecture doc for CHASM scheduler (#8940)
## What changed?
- Adds an up-to-date design doc on the CHASM scheduler.
- Recommend using GitHub's [View
File..](https://github.com/temporalio/temporal/blob/b8d2cc736155392c29bd4ef123d4556de6430760/docs/architecture/schedules.md)
link to see it rendered.

## Why?
- Suppose you put every engineer who was familiar with the CHASM
scheduler on a single bus...

---------

Co-authored-by: Vladyslav Simonenko <[email protected]>
2026-01-15 17:51:16 +00:00
3cdce6528f Fix handling of context errors (#8702)
## What changed?
Context cancelations are getting incorrectly translated to `Unavailable`
service errors, which lead to Visibility Availability Alert false
positives.

This code change adds branches to check context error types before
casting to the resulting `serviceerror` for both ElasticSearch and SQL
visibility stores.

## Why?
Separate client and service side errors.

## How did you test it?
- [X] built
- [X] run locally and tested manually
- [X] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)

---------

Co-authored-by: Rodrigo Zhou <[email protected]>
2025-11-25 17:42:10 -05:00
Dan DavisonandGitHub 25026c1c5f Document some high-level CHASM terminology (#8657) 2025-11-20 17:20:40 -05:00
Yichao YangandGitHub 541bcb3d6a Update history service architecture doc (#8301)
## What changed?
- Add diagram for queue processing
- Add diagram for history state transitions
- Improve history shard explanation
2025-09-10 11:37:24 -07:00
Yichao YangandGitHub e518cb0803 Add more diagram for workflow lifecycle doc (#8302)
## What changed?
- Add diagrams for server side states as workflows make progress
2025-09-09 14:59:57 -07:00
Stephan BehnkeandGitHub abfa78d74c Improve error message for aborted Update (#7889)
## What changed?

Improve the error message for an Update that is aborted by a closing
workflow.

## Why?

To make it easier for users to understand what happend; and for devs to
debug it easier.

## How did you test it?
- [ ] built
- [ ] run locally and tested manually
- [x] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)

## Potential risks

Very low as the service error _type_ is still the same (NotFound).
2025-06-10 11:47:56 -07:00
Alex ShtinandGitHub 1a966c23cc Workflow Update: update doc to reflect recent changes in 7296 (#7844)
## What changed?
Workflow Update: update doc to reflect recent changes in #7296.

## Why?
Keep internal doc up to date.

## How did you test it?
- [ ] built
- [ ] run locally and tested manually
- [ ] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)
2025-06-02 09:48:03 -07:00
Stephan BehnkeandGitHub a523c00edc Document new Update configs (#7441)
## What changed?
<!-- Describe what has changed in this PR -->

Added documentation for the last two Update configs.
2025-03-07 08:25:50 -08:00
Alex ShtinandGitHub a7258db2c5 Workflow Update: fix doc on when WorkflowUpdateAbortedErr is returned (#7074)
## What changed?
<!-- Describe what has changed in this PR -->
Workflow Update: fix doc on when `WorkflowUpdateAbortedErr` is returned.

## Why?
<!-- Tell your future self why have you made these changes -->
Make doc in-sync with code.

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
N/A

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->
N/A

## Documentation
<!-- Have you made sure this change doesn't falsify anything currently
stated in `docs/`? If significant
new behavior is added, have you described that in `docs/`? -->
It is it.

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
No.
2025-01-13 20:45:29 -08:00
Stephan BehnkeandGitHub ed6e2d1136 Clarify maxTotalUpdates documentation (#6981)
WISOTT
2024-12-12 14:29:20 -08:00
Alex ShtinandGitHub eb82bb0314 Workflow Update: drop speculative WFT even if it had events (#6709)
## What changed?
<!-- Describe what has changed in this PR -->
Drop speculative WFT even if it had events.

## Why?
<!-- Tell your future self why have you made these changes -->
Special compatibility flag was
[added](https://github.com/temporalio/api/pull/467) to
`RespondWorkflowTaskCompletedRequest`. If this flag is set to true, then
server can drop speculative WFT with update rejections, even if it
shipped events to the worker. SDK support will be added later.

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
Added new unit tests.

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->
No risks. Compatibility flag is used to support backward compatibility
and don't drop speculative WFT if worker doesn't support it (old go
SDKs).

## Documentation
<!-- Have you made sure this change doesn't falsify anything currently
stated in `docs/`? If significant
new behavior is added, have you described that in `docs/`? -->
Yes, updated.

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
No.
2024-11-18 15:26:19 -08:00
Alex ShtinandGitHub 32e8496b21 Workflow Update: delay Update abortion with effects package (#6723)
## What changed?
<!-- Describe what has changed in this PR -->
Delay Update abortion with effects package.

## Why?
<!-- Tell your future self why have you made these changes -->
To address race condition case when Update is accepted and WF is
completed on the same WFT. In this scenario Update result waiters should
have similar experience as if Update was failed with error on the same
WFT, meaning that even waiters for `Accepted` stage should get Update
result (which is abort failure). Previous implementation had race
condition and those waiter might get Update failure, or "Update is
accepted" response.

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
Added unit tests.

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->
No risks.

## Documentation
<!-- Have you made sure this change doesn't falsify anything currently
stated in `docs/`? If significant
new behavior is added, have you described that in `docs/`? -->
Yes, updated.

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
No.
2024-11-13 20:54:20 +00:00
Roey BermanandGitHub ce2aabd2d0 Fix Nexus doc circuit breaker detail (#6766) 2024-11-06 18:51:52 +00:00
Alex ShtinandGitHub 157ba00a89 Workflow Update: abort updates with failure if update was accepted but workflow completes (#6630)
## What changed?
<!-- Describe what has changed in this PR -->
Abort updates with failure if update was accepted but workflow
completes.

## Why?
<!-- Tell your future self why have you made these changes -->
Accepted Updates are failed with special server failure because if a
client knows that Update has been accepted, it expects any following
requests to return an Update result (or failure) but not an error. There
can be different types of Update failures coming from worker and a
client must handle them anyway. It is easier and less error-prone for a
client to handle only Update failures instead of both failures and not
obvious `NotFound` errors in case if the Workflow completes before the
Update completes.

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
Modified existing tests.

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->
It is some sort of breaking change for very narrow case though.

## Documentation
<!-- Have you made sure this change doesn't falsify anything currently
stated in `docs/`? If significant
new behavior is added, have you described that in `docs/`? -->
TBD

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
No.
2024-10-22 11:32:39 -07:00
Stephan BehnkeandGitHub 413796feb2 Fix Update eviction documentation (#6681)
WISOTT
2024-10-21 10:21:02 -07:00
Roey BermanandGitHub d665ccda0d Clarify PUBLIC_URL is a placeholder in Nexus docs (#6660) 2024-10-15 12:30:03 -07:00
6d1468f176 Update Workflow docs editing (#6571)
## What changed?
<!-- Describe what has changed in this PR -->

Edited remaining Update Workflow docs not already covered by
https://github.com/temporalio/temporal/pull/6486.

---------

Co-authored-by: Alex Shtin <[email protected]>
Co-authored-by: Dan Davison <[email protected]>
2024-10-02 22:05:07 +00:00
Alex ShtinandGitHub 273e64924c Workflow Update: update docs with recent code changes (#6506)
## What changed?
<!-- Describe what has changed in this PR -->
Workflow Update: update docs with recent code changes in #6477 and
#6485. Also fixed some minors.

## Why?
<!-- Tell your future self why have you made these changes -->
Keep doc up to date.
2024-09-12 13:44:12 -07:00
Stephan BehnkeandGitHub 3379dea34d Update Workflow docs editing (#6486)
## What changed?
<!-- Describe what has changed in this PR -->

Edited Update Workflow docs.
2024-09-10 17:51:21 -07:00
Shahab TajikandGitHub 2215a5f42b Move worker-versioning.md back to docs folder (#6480)
## What changed?
<!-- Describe what has changed in this PR -->
Move versioning docs to the previous place as it is referenced in the
public docs.

We can move/delete this file once versioning goes to public preview.

## Why?
<!-- Tell your future self why have you made these changes -->

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->

## Documentation
<!-- Have you made sure this change doesn't falsify anything currently
stated in `docs/`? If significant
new behavior is added, have you described that in `docs/`? -->

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
2024-09-04 23:16:38 +00:00
356bf41c2c Document Workflow Update internals (#6448)
## What changed?
<!-- Describe what has changed in this PR -->
Document Workflow Update internals.

## Why?
<!-- Tell your future self why have you made these changes -->
For better visibility on how Workflow Update is implemented.

---------

Co-authored-by: Stephan Behnke <[email protected]>
2024-09-03 12:09:06 -07:00
Jacob BarzeeandGitHub bb9ccba489 MatchingService force other partitions to load if root partition is l… (#6324)
…oaded

## What changed?
MatchingService supports gRPC ForceLoadTaskQueuePartition. Whenever
matching engine loads a root partition, the RPC is called for all
non-root, non-sticky partitions of the same taskQueue.

## Why?
This addresses a unique situation where a TaskQueue has acquired a
backlog, and has been unloaded because there are no workers polling the
TaskQueue. When a worker comes back online, it can take a series of
polls before it is load balanced to all partitions, forcing them to
load. This can delay non-root partitions from attempting a sync-match
with the poller. Forcing the partitions to load when the root partition
is loaded can prevent this entirely because the root partition will be
forced to load when the poll triggers a sync-match.

## How did you test it?
Start workflow with sleep. Allow worker to handler workflow initially,
then kill it. Wait for partitions to be unloaded. Start worker back up,
watch task get picked up immediately.

## Potential risks
The new gRPC method and triggering code could be implemented incorrectly
and cause a cascade of calls. Worst case scenario would be perpetual
loop from root-partition to root-partition.

Additionally, we could have an unforeseen case where we call this RPC
far more often than necessary. Metrics have been installed to help us
keep an eye on that.

## Documentation
Matching Service documentation has been expanded to cover task queue
partitions.

## Is hotfix candidate?
nope.
2024-08-12 14:03:59 -06:00
1a07f0acbc Nexus docs (#6300)
[Rendered](https://github.com/temporalio/temporal/blob/main/docs/architecture/nexus.md)

---------

Co-authored-by: Dan Davison <[email protected]>
2024-07-17 23:59:15 +00:00
Stephan BehnkeandGitHub 02a9896e1a Tweak retry documentation (#5998)
## What changed?
<!-- Describe what has changed in this PR -->

Added a diagram to the retries.md docs.

## Why?
<!-- Tell your future self why have you made these changes -->

To make it clearer what's going on.

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->

## Documentation
<!-- Have you made sure this change doesn't falsify anything currently
stated in `docs/`? If significant
new behavior is added, have you described that in `docs/`? -->

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
2024-05-24 14:25:19 -07:00
Stephan BehnkeandGitHub 9d57a70777 Add docs describing retry behavior (#5883)
## What changed?
<!-- Describe what has changed in this PR -->

Adding a short doc to give a basic overview of the gRPC retry behavior.

Note that this could/should also include the task processing retry
behavior, but I'm not familiar enough with it to write that right now.
2024-05-15 17:31:22 +00:00
Michael SnowdenandGitHub c504991e6d Reorganize docs (#5535)
## What changed?
<!-- Describe what has changed in this PR -->
I reorganized our docs into `docs/{admin,architecture,development}`.

## Why?
<!-- Tell your future self why have you made these changes -->
We discussed this internally, but I believe this is a better
segmentation for the different audiences looking at our docs. I plan on
adding more stuff to docs/admin like metrics and dynamic config docs.

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
I'm mainly looking for broken links.
- I went through each markdown file in docs manually. 
- I looked through all inspection errors in the IDE.
- I looked at all references to "docs/" or "develop/" in our code.

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->

## Documentation
<!-- Have you made sure this change doesn't falsify anything currently
stated in `docs/`? If significant
new behavior is added, have you described that in `docs/`? -->

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
2024-03-18 23:13:02 -07:00