Commit c969b65
Add revision-based suppression for pinned workflow target version signals
Add revision_number to LastNotifiedTargetVersion (server-internal) and
DeclinedTargetVersionUpgrade (public API) protos. Thread
TaskDispatchRevisionNumber from matching through to the target version
change switch in AddWorkflowTaskStartedEvent.
Case 4 now compares revision numbers instead of version strings:
if the incoming target revision <= the declined revision, the signal
is suppressed. This prevents trampolining when stale matching partitions
send outdated target versions that differ from what was already declined.
computeDeclinedTargetVersionUpgrade now carries the revision number
from LastNotifiedTargetVersion into DeclinedTargetVersionUpgrade at
continue-as-new time.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 21a84ee commit c969b65
10,315 files changed
Lines changed: 9459788 additions & 516 deletions
File tree
- api/persistence/v1
- proto/internal/temporal/server/api/persistence/v1
- service/history
- api
- recordworkflowtaskstarted
- respondworkflowtaskcompleted
- verifyfirstworkflowtaskscheduled
- interfaces
- ndc
- workflow
- workflow_test
- vendor
- cel.dev/expr
- cloud.google.com/go
- auth
- credentials
- internal
- externalaccountuser
- externalaccount
- gdch
- impersonate
- stsexchange
- grpctransport
- httptransport
- internal
- compute
- credsfile
- jwt
- retry
- transport
- cert
- headers
- trustboundary
- oauth2adapt
- compute/metadata
- iam
- apiv1/iampb
- internal
- optional
- trace
- version
- longrunning
- autogen
- longrunningpb
- monitoring
- apiv3/v2
- monitoringpb
- internal
- run
- apiv2
- runpb
- internal
- storage
- experimental
- internal
- apiv2
- storagepb
- dario.cat/mergo
- filippo.io/edwards25519
- field
- github.com
- GoogleCloudPlatform/opentelemetry-operations-go
- detectors/gcp
- exporter/metric
- internal/resourcemapping
- Masterminds
- goutils
- semver/v3
- sprig/v3
- apache/thrift
- lib/go/thrift
- aws
- aws-sdk-go-v2
- aws
- arn
- defaults
- middleware
- protocol
- eventstream
- eventstreamapi
- query
- restjson
- xml
- ratelimit
- retry
- signer
- internal/v4
- v4
- transport/http
- config
- credentials
- ec2rolecreds
- endpointcreds
- internal/client
- logincreds
- processcreds
- ssocreds
- stscreds
- feature/ec2/imds
- internal/config
- internal
- auth
- smithy
- configsources
- context
- endpoints
- awsrulesfn
- v2
- ini
- middleware
- rand
- sdkio
- sdk
- strings
- sync/singleflight
- timeconv
- service
- ecs
- document
- internal
- document
- endpoints
- types
- internal
- accept-encoding
- presigned-url
- lambda
- internal/endpoints
- types
- signin
- internal/endpoints
- types
- ssooidc
- internal/endpoints
- types
- sso
- internal/endpoints
- types
- sts
- internal/endpoints
- types
- aws-sdk-go
- aws
- arn
- auth/bearer
- awserr
- awsutil
- client
- metadata
- corehandlers
- credentials
- ec2rolecreds
- endpointcreds
- processcreds
- ssocreds
- stscreds
- csm
- defaults
- ec2metadata
- endpoints
- request
- session
- signer/v4
- internal
- context
- ini
- sdkio
- sdkmath
- sdkrand
- sdkuri
- strings
- sync/singleflight
- private
- checksum
- protocol
- eventstream
- eventstreamapi
- jsonrpc
- json/jsonutil
- query
- queryutil
- restjson
- restxml
- rest
- xml/xmlutil
- service
- s3
- s3iface
- ssooidc
- sso
- ssoiface
- sts
- stsiface
- smithy-go
- auth
- bearer
- context
- document
- internal/serde
- json
- encoding
- httpbinding
- json
- xml
- endpoints
- private/rulesfn
- internal/sync/singleflight
- io
- logging
- metrics
- middleware
- private/requestcompression
- ptr
- rand
- sync
- time
- tracing
- transport/http
- internal/io
- waiter
- benbjohnson/clock
- beorn7/perks
- quantile
- blang/semver/v4
- cactus/go-statsd-client
- statsd
- v5
- statsd
- cenkalti/backoff/v4
- cespare/xxhash/v2
- cncf/xds/go
- udpa
- annotations
- type/v1
- xds
- annotations/v3
- core/v3
- data/orca/v3
- service/orca/v3
- type
- matcher/v3
- v3
- cpuguy83/go-md2man/v2
- md2man
- davecgh/go-spew
- spew
- dgryski/go-farm
- dustin/go-humanize
- emicklei/go-restful/v3
- log
- emirpasic/gods
- containers
- maps
- treemap
- trees
- redblacktree
- utils
- envoyproxy
- go-control-plane/envoy
- admin/v3
- annotations
- config
- accesslog/v3
- bootstrap/v3
- cluster/v3
- common
- matcher/v3
- mutation_rules/v3
- core/v3
- endpoint/v3
- listener/v3
- metrics/v3
- overload/v3
- rbac/v3
- route/v3
- tap/v3
- trace/v3
- data/accesslog/v3
- extensions
- clusters/aggregate/v3
- filters
- common/fault/v3
- http
- fault/v3
- rbac/v3
- router/v3
- network/http_connection_manager/v3
- load_balancing_policies
- client_side_weighted_round_robin/v3
- common/v3
- least_request/v3
- pick_first/v3
- ring_hash/v3
- wrr_locality/v3
- rbac/audit_loggers/stream/v3
- transport_sockets/tls/v3
- service
- discovery/v3
- load_stats/v3
- status/v3
- type
- http/v3
- matcher/v3
- metadata/v3
- tracing/v3
- v3
- protoc-gen-validate
- validate
- facebookgo/clock
- fatih/color
- felixge/httpsnoop
- fxamacker/cbor/v2
- go-faker/faker/v4
- misc
- pkg
- errors
- interfaces
- options
- slice
- go-jose/go-jose/v4
- cipher
- json
- go-logr
- logr
- funcr
- stdr
- go-openapi
- jsonpointer
- jsonreference
- internal
- swag
- go-sql-driver/mysql
- gocql/gocql
- internal
- lru
- murmur
- streams
- gogo/protobuf
- gogoproto
- jsonpb
- protoc-gen-gogo/descriptor
- proto
- sortkeys
- types
- golang-jwt/jwt/v4
- golang
- mock
- gomock
- mockgen/model
- snappy
- googleapis
- enterprise-certificate-proxy
- client
- util
- gax-go/v2
- apierror
- internal/proto
- callctx
- internallog
- grpclog
- internal
- internal
- iterator
- google
- gnostic-models
- compiler
- extensions
- jsonschema
- openapiv2
- openapiv3
- go-cmp
- cmp
- cmpopts
- internal
- diff
- flags
- function
- value
- s2a-go
- fallback
- internal
- authinfo
- handshaker
- service
- proto
- common_go_proto
- s2a_context_go_proto
- s2a_go_proto
- v2
- common_go_proto
- s2a_context_go_proto
- s2a_go_proto
- record
- internal
- aeadcrypter
- halfconn
- tokenmanager
- v2
- certverifier
- remotesigner
- tlsconfigstore
- retry
- stream
- uuid
- gorilla/mux
- grpc-ecosystem
- go-grpc-middleware/v2
- interceptors/retry
- metadata
- util/backoffutils
- grpc-gateway/v2
- internal/httprule
- runtime
- utilities
- hailocab/go-hostpool
- huandu/xstrings
- iancoleman/strcase
- jackc
- pgpassfile
- pgservicefile
- pgx/v5
- internal
- iobufpool
- pgio
- sanitize
- stmtcache
- pgconn
- ctxwatch
- internal/bgreader
- pgproto3
- pgtype
- pgxpool
- stdlib
- puddle/v2
- internal/genstack
- jmespath/go-jmespath
- jmoiron/sqlx
- reflectx
- josharian/intern
- json-iterator/go
- jstemmer/go-junit-report/v2
- gtr
- junit
- klauspost/compress
- fse
- huff0
- internal
- cpuinfo
- le
- snapref
- zstd
- internal/xxhash
- lib/pq
- oid
- scram
- mailru/easyjson
- buffer
- jlexer
- jwriter
- maruel/panicparse/v2
- stack
- mattn
- go-colorable
- go-isatty
- go-runewidth
- mitchellh
- copystructure
- mapstructure
- reflectwalk
- modern-go
- concurrent
- reflect2
- munnerz/goautoneg
- ncruces/go-strftime
- nexus-rpc/sdk-go
- nexus
- olekukonko/tablewriter
- olivere/elastic/v7
- aws/v4
- config
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
| 219 | + | |
| 220 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
440 | 440 | | |
441 | 441 | | |
442 | 442 | | |
443 | | - | |
444 | | - | |
445 | 443 | | |
446 | 444 | | |
447 | 445 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
321 | 321 | | |
322 | 322 | | |
323 | 323 | | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
324 | 328 | | |
325 | 329 | | |
326 | 330 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| 116 | + | |
116 | 117 | | |
117 | 118 | | |
118 | 119 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
| 173 | + | |
173 | 174 | | |
174 | 175 | | |
175 | 176 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
597 | 597 | | |
598 | 598 | | |
599 | 599 | | |
| 600 | + | |
600 | 601 | | |
601 | 602 | | |
602 | 603 | | |
| |||
722 | 723 | | |
723 | 724 | | |
724 | 725 | | |
| 726 | + | |
725 | 727 | | |
726 | 728 | | |
727 | 729 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
726 | 726 | | |
727 | 727 | | |
728 | 728 | | |
| 729 | + | |
729 | 730 | | |
730 | 731 | | |
731 | 732 | | |
| |||
805 | 806 | | |
806 | 807 | | |
807 | 808 | | |
| 809 | + | |
808 | 810 | | |
809 | 811 | | |
810 | 812 | | |
| |||
822 | 824 | | |
823 | 825 | | |
824 | 826 | | |
| 827 | + | |
825 | 828 | | |
826 | 829 | | |
827 | 830 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
238 | 238 | | |
239 | 239 | | |
240 | 240 | | |
| 241 | + | |
241 | 242 | | |
242 | 243 | | |
243 | 244 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6618 | 6618 | | |
6619 | 6619 | | |
6620 | 6620 | | |
| 6621 | + | |
6621 | 6622 | | |
6622 | 6623 | | |
6623 | 6624 | | |
| |||
0 commit comments