Skip to content
Closed
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions content/en/changelogs/1.36.0-changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,44 @@ controller:
```

#### Orca
#### Breaking Changes

##### Front50 Timeout Configuration

Before PR #4773, these config properties controlled timeouts for Orca to Front50 communication:
```yaml
ok-http-client:
connectTimeoutMs: 5000 # Default: 5 seconds
readTimeoutMs: 120000 # Default: 120 seconds (2 minutes)
maxRequests: 100 # Default: 100
maxRequestsPerHost: 100 # Default: 100
```
After PR #4773, the config properties changed to:
```yaml
front50:
okhttp:
connectTimeoutMs: 10000 # Hardcoded default: 10 seconds
readTimeoutMs: 10000 # Hardcoded default: 10 seconds
writeTimeoutMs: 10000 # Hardcoded default: 10 seconds
```
Spinnaker installations that set the old config properties (`ok-http-client`) see a change in behavior in version 1.36.0. The old properties are ignored, and the new hardcoded defaults (10 seconds) are used instead.
Copy link
Contributor

Choose a reason for hiding this comment

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

Even users that didn't set any ok-http-client properties see a change in behavior.

Copy link
Author

Choose a reason for hiding this comment

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

Correct, since the new default is shorter

Copy link
Member

Choose a reason for hiding this comment

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

Yeah need to tweak the text to allow for this. Probably rephrased to

  • in 1.36, there's a new set of defaults that replace the default timeouts on internal calls to front50 with drastically lower defaults. Further these defaults now ignore any overridden okhttp settings for inter-service communications. This can break certain operations that might have previously worked due to the lower timeout defaults. The most common case is when service accounts are created as part of saving a pipeline. As such, you should adjust your front50 timeout calls explicitly for your use case using these different properties.

Copy link
Author

Choose a reason for hiding this comment

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

@jasonmcintosh @dbyron-sf please review! If it is still problematic, feel free to edit this. I think you should have the option, this will reduce the time :)

Copy link
Contributor

Choose a reason for hiding this comment

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

Done in 9f451c3. I'd like to reference spinnaker/orca#4851 and be able to say when we've at least restored the timeout behavior, but let's not do that until it's actually merged. It still needs some work from my perspective.


This change has caused intermittent authentication failures during batch pipeline updates, especially with high latency or large pipeline configurations, as the global default read timeout of 120 seconds is being overridden with a much shorter 10 second timeout.

If you're experiencing timeout issues, configure the new Front50 timeouts explicitly:
```yaml
front50:
okhttp:
readTimeoutMs: 120000 # Restore previous default
writeTimeoutMs: 120000 # Match read timeout
connectTimeoutMs: 5000 # Restore previous default
```

---------------------------------------------------

Updates Orca's SavePipelineTask to support bulk saves using the updated functionality in the front50 bulk save endpoint.


With https://github.com/spinnaker/orca/pull/4781, keys from the stage context's outputs section can now be removed (there by reducing the context size significantly).
At present the following tasks support this feature:
* PromoteManifestKatoOutputsTask
Expand Down