From 07dcfaa8c92936aa5c80cef11baa8f27640da8d5 Mon Sep 17 00:00:00 2001 From: Shivam Saraf Date: Wed, 30 Apr 2025 22:36:39 -0400 Subject: [PATCH 01/10] required timestamps to be emitted from deploymentStateInfo --- openapi/openapiv2.json | 22 ++++++++++++++++++++- openapi/openapiv3.yaml | 25 ++++++++++++++++++++++++ temporal/api/deployment/v1/message.proto | 14 +++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index 93e23d898..838bad556 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -6968,7 +6968,27 @@ "format": "date-time" }, "drainageStatus": { - "$ref": "#/definitions/v1VersionDrainageStatus" + "$ref": "#/definitions/v1VersionDrainageStatus", + "description": "Deprecated. Use `drainage_info` instead." + }, + "drainageInfo": { + "$ref": "#/definitions/v1VersionDrainageInfo", + "title": "Information about workflow drainage to help the user determine when it is safe\nto decommission a Version. Not present while version is current or ramping" + }, + "currentSinceTime": { + "type": "string", + "format": "date-time", + "description": "Nil if not current." + }, + "rampingSinceTime": { + "type": "string", + "format": "date-time", + "description": "Nil if not ramping. Updated when the version first starts ramping, not on each ramp change." + }, + "routingUpdateTime": { + "type": "string", + "format": "date-time", + "description": "Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed." } } }, diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index dd5d4016a..a5d0365db 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -11947,7 +11947,32 @@ components: - VERSION_DRAINAGE_STATUS_DRAINING - VERSION_DRAINAGE_STATUS_DRAINED type: string + description: Deprecated. Use `drainage_info` instead. format: enum + drainageInfo: + allOf: + - $ref: '#/components/schemas/VersionDrainageInfo' + description: |- + Information about workflow drainage to help the user determine when it is safe + to decommission a Version. Not present while version is current or ramping + currentSinceTime: + type: string + description: |- + Nil if not current. + (-- api-linter: core::0140::prepositions=disabled + aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) + format: date-time + rampingSinceTime: + type: string + description: |- + Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. + (-- api-linter: core::0140::prepositions=disabled + aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) + format: date-time + routingUpdateTime: + type: string + description: Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. + format: date-time WorkerDeploymentOptions: type: object properties: diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index e31c45bb6..d13bd9cc0 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -210,7 +210,21 @@ message WorkerDeploymentInfo { // The fully-qualified string representation of the version, in the form ".". string version = 1; google.protobuf.Timestamp create_time = 2; + // Deprecated. Use `drainage_info` instead. enums.v1.VersionDrainageStatus drainage_status = 3; + // Information about workflow drainage to help the user determine when it is safe + // to decommission a Version. Not present while version is current or ramping + VersionDrainageInfo drainage_info = 4; + // Nil if not current. + // (-- api-linter: core::0140::prepositions=disabled + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) + google.protobuf.Timestamp current_since_time = 5; + // Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. + // (-- api-linter: core::0140::prepositions=disabled + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) + google.protobuf.Timestamp ramping_since_time = 6; + // Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. + google.protobuf.Timestamp routing_update_time = 7; } } From 42c5c507f49f72ec4ac2572802fc30e814034291 Mon Sep 17 00:00:00 2001 From: Shivam Saraf Date: Wed, 7 May 2025 16:39:50 -0400 Subject: [PATCH 02/10] add timestamps --- openapi/openapiv2.json | 10 ++++++++++ openapi/openapiv3.yaml | 8 ++++++++ temporal/api/deployment/v1/message.proto | 4 ++++ 3 files changed, 22 insertions(+) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index 388c769e1..15ea33c3d 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -7009,6 +7009,16 @@ }, "drainageStatus": { "$ref": "#/definitions/v1VersionDrainageStatus" + }, + "trafficFirstReceivedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp when this version first started receiving traffic, either as current or ramping." + }, + "trafficLastReceivedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp when this version last received any traffic, either as current or ramping." } } }, diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index 3ac53a172..832b0867f 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -12057,6 +12057,14 @@ components: - VERSION_DRAINAGE_STATUS_DRAINED type: string format: enum + trafficFirstReceivedTime: + type: string + description: Timestamp when this version first started receiving traffic, either as current or ramping. + format: date-time + trafficLastReceivedTime: + type: string + description: Timestamp when this version last received any traffic, either as current or ramping. + format: date-time WorkerDeploymentOptions: type: object properties: diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index 143f8ce1d..769204fb6 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -189,6 +189,10 @@ message WorkerDeploymentInfo { string version = 1; google.protobuf.Timestamp create_time = 2; enums.v1.VersionDrainageStatus drainage_status = 3; + // Timestamp when this version first started receiving traffic, either as current or ramping. + google.protobuf.Timestamp traffic_first_received_time = 4; + // Timestamp when this version last received any traffic, either as current or ramping. + google.protobuf.Timestamp traffic_last_received_time = 5; } } From 36d69bed39f6e67487994c76b5d34f91a5d3ac57 Mon Sep 17 00:00:00 2001 From: Shivam Saraf Date: Wed, 7 May 2025 16:45:48 -0400 Subject: [PATCH 03/10] add timestamps in WorkerDeploymentVersionInfo --- openapi/openapiv2.json | 10 ++++++++++ openapi/openapiv3.yaml | 8 ++++++++ temporal/api/deployment/v1/message.proto | 5 +++++ 3 files changed, 23 insertions(+) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index 15ea33c3d..8dfc1868f 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -14771,6 +14771,16 @@ "format": "date-time", "description": "\nNil if not ramping. Updated when the version first starts ramping, not on each ramp change." }, + "trafficFirstReceivedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp when this version first started receiving traffic, either as current or ramping." + }, + "trafficLastReceivedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp when this version last received any traffic, either as current or ramping." + }, "rampPercentage": { "type": "number", "format": "float", diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index 832b0867f..49f56c57e 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -12120,6 +12120,14 @@ components: aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. format: date-time + trafficFirstReceivedTime: + type: string + description: Timestamp when this version first started receiving traffic, either as current or ramping. + format: date-time + trafficLastReceivedTime: + type: string + description: Timestamp when this version last received any traffic, either as current or ramping. + format: date-time rampPercentage: type: number description: |- diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index 769204fb6..a8154d604 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -113,6 +113,11 @@ message WorkerDeploymentVersionInfo { // Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. google.protobuf.Timestamp ramping_since_time = 6; + // Timestamp when this version first started receiving traffic, either as current or ramping. + google.protobuf.Timestamp traffic_first_received_time = 11; + // Timestamp when this version last received any traffic, either as current or ramping. + google.protobuf.Timestamp traffic_last_received_time = 12; + // Range: [0, 100]. Must be zero if the version is not ramping (i.e. `ramping_since_time` is nil). // Can be in the range [0, 100] if the version is ramping. float ramp_percentage = 7; From ac49d06b0caeb8d1ca7dadcf9df1707bfa19bfd5 Mon Sep 17 00:00:00 2001 From: Shivam Saraf Date: Thu, 8 May 2025 08:44:19 -0400 Subject: [PATCH 04/10] running make proto after merge --- openapi/openapiv2.json | 24 ++++++++++-------------- openapi/openapiv3.yaml | 18 ++++++++---------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index 089f90a40..d8b358822 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -7008,19 +7008,6 @@ "format": "date-time" }, "drainageStatus": { -<<<<<<< HEAD - "$ref": "#/definitions/v1VersionDrainageStatus" - }, - "trafficFirstReceivedTime": { - "type": "string", - "format": "date-time", - "description": "Timestamp when this version first started receiving traffic, either as current or ramping." - }, - "trafficLastReceivedTime": { - "type": "string", - "format": "date-time", - "description": "Timestamp when this version last received any traffic, either as current or ramping." -======= "$ref": "#/definitions/v1VersionDrainageStatus", "description": "Deprecated. Use `drainage_info` instead." }, @@ -7042,7 +7029,16 @@ "type": "string", "format": "date-time", "description": "Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed." ->>>>>>> ss/sync_version_summary_version_state + }, + "trafficFirstReceivedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp when this version first started receiving traffic, either as current or ramping." + }, + "trafficLastReceivedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp when this version last received any traffic, either as current or ramping." } } }, diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index bb79ee9ad..58c39b824 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -12058,15 +12058,6 @@ components: type: string description: Deprecated. Use `drainage_info` instead. format: enum -<<<<<<< HEAD - trafficFirstReceivedTime: - type: string - description: Timestamp when this version first started receiving traffic, either as current or ramping. - format: date-time - trafficLastReceivedTime: - type: string - description: Timestamp when this version last received any traffic, either as current or ramping. -======= drainageInfo: allOf: - $ref: '#/components/schemas/VersionDrainageInfo' @@ -12090,7 +12081,14 @@ components: routingUpdateTime: type: string description: Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. ->>>>>>> ss/sync_version_summary_version_state + format: date-time + trafficFirstReceivedTime: + type: string + description: Timestamp when this version first started receiving traffic, either as current or ramping. + format: date-time + trafficLastReceivedTime: + type: string + description: Timestamp when this version last received any traffic, either as current or ramping. format: date-time WorkerDeploymentOptions: type: object From 6fa3aff468ebf5834c9435ddd116042872ab6b42 Mon Sep 17 00:00:00 2001 From: Shivam Saraf Date: Thu, 8 May 2025 10:24:56 -0400 Subject: [PATCH 05/10] first_activation + last_deactivation --- openapi/openapiv2.json | 16 ++++++++-------- openapi/openapiv3.yaml | 16 ++++++++-------- temporal/api/deployment/v1/message.proto | 16 ++++++++-------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index d8b358822..facedacac 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -7030,15 +7030,15 @@ "format": "date-time", "description": "Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed." }, - "trafficFirstReceivedTime": { + "firstActivationTime": { "type": "string", "format": "date-time", - "description": "Timestamp when this version first started receiving traffic, either as current or ramping." + "description": "Timestamp when this version first became current or ramping." }, - "trafficLastReceivedTime": { + "lastDeactivationTime": { "type": "string", "format": "date-time", - "description": "Timestamp when this version last received any traffic, either as current or ramping." + "description": "Timestamp when this version last stopped from being current or ramping." } } }, @@ -14791,15 +14791,15 @@ "format": "date-time", "description": "\nNil if not ramping. Updated when the version first starts ramping, not on each ramp change." }, - "trafficFirstReceivedTime": { + "firstActivationTime": { "type": "string", "format": "date-time", - "description": "Timestamp when this version first started receiving traffic, either as current or ramping." + "description": "Timestamp when this version first became current or ramping." }, - "trafficLastReceivedTime": { + "lastDeactivationTime": { "type": "string", "format": "date-time", - "description": "Timestamp when this version last received any traffic, either as current or ramping." + "description": "Timestamp when this version last stopped from being current or ramping." }, "rampPercentage": { "type": "number", diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index 58c39b824..89c68bd3e 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -12082,13 +12082,13 @@ components: type: string description: Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. format: date-time - trafficFirstReceivedTime: + firstActivationTime: type: string - description: Timestamp when this version first started receiving traffic, either as current or ramping. + description: Timestamp when this version first became current or ramping. format: date-time - trafficLastReceivedTime: + lastDeactivationTime: type: string - description: Timestamp when this version last received any traffic, either as current or ramping. + description: Timestamp when this version last stopped from being current or ramping. format: date-time WorkerDeploymentOptions: type: object @@ -12145,13 +12145,13 @@ components: aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. format: date-time - trafficFirstReceivedTime: + firstActivationTime: type: string - description: Timestamp when this version first started receiving traffic, either as current or ramping. + description: Timestamp when this version first became current or ramping. format: date-time - trafficLastReceivedTime: + lastDeactivationTime: type: string - description: Timestamp when this version last received any traffic, either as current or ramping. + description: Timestamp when this version last stopped from being current or ramping. format: date-time rampPercentage: type: number diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index 7a6530c8f..55a434932 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -113,10 +113,10 @@ message WorkerDeploymentVersionInfo { // Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. google.protobuf.Timestamp ramping_since_time = 6; - // Timestamp when this version first started receiving traffic, either as current or ramping. - google.protobuf.Timestamp traffic_first_received_time = 11; - // Timestamp when this version last received any traffic, either as current or ramping. - google.protobuf.Timestamp traffic_last_received_time = 12; + // Timestamp when this version first became current or ramping. + google.protobuf.Timestamp first_activation_time = 11; + // Timestamp when this version last stopped from being current or ramping. + google.protobuf.Timestamp last_deactivation_time = 12; // Range: [0, 100]. Must be zero if the version is not ramping (i.e. `ramping_since_time` is nil). // Can be in the range [0, 100] if the version is ramping. @@ -208,10 +208,10 @@ message WorkerDeploymentInfo { google.protobuf.Timestamp ramping_since_time = 6; // Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. google.protobuf.Timestamp routing_update_time = 7; - // Timestamp when this version first started receiving traffic, either as current or ramping. - google.protobuf.Timestamp traffic_first_received_time = 8; - // Timestamp when this version last received any traffic, either as current or ramping. - google.protobuf.Timestamp traffic_last_received_time = 9; + // Timestamp when this version first became current or ramping. + google.protobuf.Timestamp first_activation_time = 8; + // Timestamp when this version last stopped from being current or ramping. + google.protobuf.Timestamp last_deactivation_time = 9; } } From c71337bb7c53d6e1c3f254a060dd5062ba73031d Mon Sep 17 00:00:00 2001 From: Shivam Saraf Date: Thu, 8 May 2025 10:26:42 -0400 Subject: [PATCH 06/10] grammar --- openapi/openapiv2.json | 4 ++-- openapi/openapiv3.yaml | 4 ++-- temporal/api/deployment/v1/message.proto | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index facedacac..fe292a5d6 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -7038,7 +7038,7 @@ "lastDeactivationTime": { "type": "string", "format": "date-time", - "description": "Timestamp when this version last stopped from being current or ramping." + "description": "Timestamp when this version last stopped being current or ramping." } } }, @@ -14799,7 +14799,7 @@ "lastDeactivationTime": { "type": "string", "format": "date-time", - "description": "Timestamp when this version last stopped from being current or ramping." + "description": "Timestamp when this version last stopped being current or ramping." }, "rampPercentage": { "type": "number", diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index 89c68bd3e..00ca826de 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -12088,7 +12088,7 @@ components: format: date-time lastDeactivationTime: type: string - description: Timestamp when this version last stopped from being current or ramping. + description: Timestamp when this version last stopped being current or ramping. format: date-time WorkerDeploymentOptions: type: object @@ -12151,7 +12151,7 @@ components: format: date-time lastDeactivationTime: type: string - description: Timestamp when this version last stopped from being current or ramping. + description: Timestamp when this version last stopped being current or ramping. format: date-time rampPercentage: type: number diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index 55a434932..426bf27fd 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -115,7 +115,7 @@ message WorkerDeploymentVersionInfo { // Timestamp when this version first became current or ramping. google.protobuf.Timestamp first_activation_time = 11; - // Timestamp when this version last stopped from being current or ramping. + // Timestamp when this version last stopped being current or ramping. google.protobuf.Timestamp last_deactivation_time = 12; // Range: [0, 100]. Must be zero if the version is not ramping (i.e. `ramping_since_time` is nil). @@ -210,7 +210,7 @@ message WorkerDeploymentInfo { google.protobuf.Timestamp routing_update_time = 7; // Timestamp when this version first became current or ramping. google.protobuf.Timestamp first_activation_time = 8; - // Timestamp when this version last stopped from being current or ramping. + // Timestamp when this version last stopped being current or ramping. google.protobuf.Timestamp last_deactivation_time = 9; } } From 8aca99dd6ade442345c151812a0035d277faafd6 Mon Sep 17 00:00:00 2001 From: Shivam Saraf Date: Thu, 8 May 2025 15:34:19 -0400 Subject: [PATCH 07/10] replace nil with unset for _since timestamps --- openapi/openapiv2.json | 8 ++++---- openapi/openapiv3.yaml | 8 ++++---- temporal/api/deployment/v1/message.proto | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index fe292a5d6..aeb3ca139 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -7018,12 +7018,12 @@ "currentSinceTime": { "type": "string", "format": "date-time", - "description": "Nil if not current." + "description": "Unset if not current." }, "rampingSinceTime": { "type": "string", "format": "date-time", - "description": "Nil if not ramping. Updated when the version first starts ramping, not on each ramp change." + "description": "Unset if not ramping. Updated when the version first starts ramping, not on each ramp change." }, "routingUpdateTime": { "type": "string", @@ -14784,12 +14784,12 @@ "currentSinceTime": { "type": "string", "format": "date-time", - "description": "\nNil if not current." + "description": "\nUnset if not current." }, "rampingSinceTime": { "type": "string", "format": "date-time", - "description": "\nNil if not ramping. Updated when the version first starts ramping, not on each ramp change." + "description": "\nUnset if not ramping. Updated when the version first starts ramping, not on each ramp change." }, "firstActivationTime": { "type": "string", diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index 00ca826de..2d0cd9713 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -12067,14 +12067,14 @@ components: currentSinceTime: type: string description: |- - Nil if not current. + Unset if not current. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) format: date-time rampingSinceTime: type: string description: |- - Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. + Unset if not ramping. Updated when the version first starts ramping, not on each ramp change. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) format: date-time @@ -12136,14 +12136,14 @@ components: description: |- (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - Nil if not current. + Unset if not current. format: date-time rampingSinceTime: type: string description: |- (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. + Unset if not ramping. Updated when the version first starts ramping, not on each ramp change. format: date-time firstActivationTime: type: string diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index 426bf27fd..36844840d 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -105,12 +105,12 @@ message WorkerDeploymentVersionInfo { // (-- api-linter: core::0140::prepositions=disabled // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - // Nil if not current. + // Unset if not current. google.protobuf.Timestamp current_since_time = 5; // (-- api-linter: core::0140::prepositions=disabled // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - // Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. + // Unset if not ramping. Updated when the version first starts ramping, not on each ramp change. google.protobuf.Timestamp ramping_since_time = 6; // Timestamp when this version first became current or ramping. @@ -198,11 +198,11 @@ message WorkerDeploymentInfo { // Information about workflow drainage to help the user determine when it is safe // to decommission a Version. Not present while version is current or ramping VersionDrainageInfo drainage_info = 4; - // Nil if not current. + // Unset if not current. // (-- api-linter: core::0140::prepositions=disabled // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) google.protobuf.Timestamp current_since_time = 5; - // Nil if not ramping. Updated when the version first starts ramping, not on each ramp change. + // Unset if not ramping. Updated when the version first starts ramping, not on each ramp change. // (-- api-linter: core::0140::prepositions=disabled // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) google.protobuf.Timestamp ramping_since_time = 6; From ee8e6b03dec36cc7a7cf3e7a9b18658e078f850c Mon Sep 17 00:00:00 2001 From: Shivam Saraf Date: Fri, 9 May 2025 10:05:44 -0400 Subject: [PATCH 08/10] last_routing_update_time --- openapi/openapiv2.json | 2 +- openapi/openapiv3.yaml | 2 +- temporal/api/deployment/v1/message.proto | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index aeb3ca139..7935f48d7 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -7025,7 +7025,7 @@ "format": "date-time", "description": "Unset if not ramping. Updated when the version first starts ramping, not on each ramp change." }, - "routingUpdateTime": { + "lastRoutingUpdateTime": { "type": "string", "format": "date-time", "description": "Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed." diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index 2d0cd9713..133e735da 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -12078,7 +12078,7 @@ components: (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) format: date-time - routingUpdateTime: + lastRoutingUpdateTime: type: string description: Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. format: date-time diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index 36844840d..ba37fb027 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -207,7 +207,7 @@ message WorkerDeploymentInfo { // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) google.protobuf.Timestamp ramping_since_time = 6; // Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. - google.protobuf.Timestamp routing_update_time = 7; + google.protobuf.Timestamp last_routing_update_time = 7; // Timestamp when this version first became current or ramping. google.protobuf.Timestamp first_activation_time = 8; // Timestamp when this version last stopped being current or ramping. From e6838886bd048bd1653817780a157887279128a4 Mon Sep 17 00:00:00 2001 From: Shivam Saraf Date: Fri, 9 May 2025 10:16:30 -0400 Subject: [PATCH 09/10] reverting back to using routing_update_time --- openapi/openapiv2.json | 2 +- openapi/openapiv3.yaml | 2 +- temporal/api/deployment/v1/message.proto | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index 7935f48d7..aeb3ca139 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -7025,7 +7025,7 @@ "format": "date-time", "description": "Unset if not ramping. Updated when the version first starts ramping, not on each ramp change." }, - "lastRoutingUpdateTime": { + "routingUpdateTime": { "type": "string", "format": "date-time", "description": "Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed." diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index 133e735da..2d0cd9713 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -12078,7 +12078,7 @@ components: (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) format: date-time - lastRoutingUpdateTime: + routingUpdateTime: type: string description: Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. format: date-time diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index ba37fb027..36844840d 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -207,7 +207,7 @@ message WorkerDeploymentInfo { // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) google.protobuf.Timestamp ramping_since_time = 6; // Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. - google.protobuf.Timestamp last_routing_update_time = 7; + google.protobuf.Timestamp routing_update_time = 7; // Timestamp when this version first became current or ramping. google.protobuf.Timestamp first_activation_time = 8; // Timestamp when this version last stopped being current or ramping. From e4d2b3b3740e472b0a28a066c2ad6f15c14abce2 Mon Sep 17 00:00:00 2001 From: Shivam Saraf Date: Wed, 14 May 2025 16:35:23 -0400 Subject: [PATCH 10/10] resolve attribute number conflict since main got merged in before this did --- temporal/api/deployment/v1/message.proto | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index 26a966dca..15b9230db 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -116,9 +116,9 @@ message WorkerDeploymentVersionInfo { google.protobuf.Timestamp ramping_since_time = 6; // Timestamp when this version first became current or ramping. - google.protobuf.Timestamp first_activation_time = 11; + google.protobuf.Timestamp first_activation_time = 12; // Timestamp when this version last stopped being current or ramping. - google.protobuf.Timestamp last_deactivation_time = 12; + google.protobuf.Timestamp last_deactivation_time = 13; // Range: [0, 100]. Must be zero if the version is not ramping (i.e. `ramping_since_time` is nil). // Can be in the range [0, 100] if the version is ramping. @@ -202,21 +202,21 @@ message WorkerDeploymentInfo { enums.v1.VersionDrainageStatus drainage_status = 3; // Information about workflow drainage to help the user determine when it is safe // to decommission a Version. Not present while version is current or ramping - VersionDrainageInfo drainage_info = 4; + VersionDrainageInfo drainage_info = 5; // Unset if not current. // (-- api-linter: core::0140::prepositions=disabled // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - google.protobuf.Timestamp current_since_time = 5; + google.protobuf.Timestamp current_since_time = 6; // Unset if not ramping. Updated when the version first starts ramping, not on each ramp change. // (-- api-linter: core::0140::prepositions=disabled // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) - google.protobuf.Timestamp ramping_since_time = 6; + google.protobuf.Timestamp ramping_since_time = 7; // Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. - google.protobuf.Timestamp routing_update_time = 7; + google.protobuf.Timestamp routing_update_time = 8; // Timestamp when this version first became current or ramping. - google.protobuf.Timestamp first_activation_time = 8; + google.protobuf.Timestamp first_activation_time = 9; // Timestamp when this version last stopped being current or ramping. - google.protobuf.Timestamp last_deactivation_time = 9; + google.protobuf.Timestamp last_deactivation_time = 10; } }