Skip to content

Commit 8c9ddf5

Browse files
committed
Adding Features and Breaking Change for CDSH 2.36.0
1 parent af825bc commit 8c9ddf5

File tree

1 file changed

+93
-1
lines changed

1 file changed

+93
-1
lines changed

content/en/continuous-deployment/release-notes/rn-prerelease-armory-spinnaker/armoryspinnaker_v2-36-0-rc4.md

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,32 @@ Armory scans the codebase as we develop and release software. Contact your Armor
4040
## Breaking changes
4141
<!-- Copy/paste from the previous version if there are recent ones. We can drop breaking changes after 3 minor versions. Add new ones from OSS and Armory. -->
4242

43-
> Breaking changes are kept in this list for 3 minor versions from when the change is introduced. For example, a breaking change introduced in 2.21.0 appears in the list up to and including the 2.24.x releases. It would not appear on 2.25.x release notes.
43+
The following configuration properties have been restructured:
44+
45+
Previous Configuration:
46+
47+
'''
48+
tasks:
49+
days-of-execution-history:
50+
number-of-old-pipeline-executions-to-include:
51+
'''
52+
53+
New configuration format
54+
55+
'''
56+
tasks:
57+
controller:
58+
days-of-execution-history:
59+
number-of-old-pipeline-executions-to-include:
60+
optimize-execution-retrieval: <boolean>
61+
max-execution-retrieval-threads:
62+
max-number-of-pipeline-executions-to-process:
63+
execution-retrieval-timeout-seconds:
64+
'''
65+
66+
These changes improve query performance and execution retrieval efficiency, particularly for large-scale pipeline applications.
67+
68+
[Performance Improvements for SQL Backend](#performance-improvements-for-sql-backend)
4469

4570
## Known issues
4671
<!-- Copy/paste known issues from the previous version if they're not fixed. Add new ones from OSS and Armory. If there aren't any issues, state that so readers don't think we forgot to fill out this section. -->
@@ -64,6 +89,73 @@ spec:
6489
JAVA_OPTS: "--add-exports=java.base/sun.security.x509=ALL-UNNAMED --add-exports=java.base/sun.security.pkcs=ALL-UNNAMED --add-exports=java.base/sun.security.rsa=ALL-UNNAMED"
6590
{{< /highlight >}}
6691

92+
### Performance Improvements for Pipeline Executions
93+
94+
This release includes several optimizations to improve pipeline execution times, particularly for complex pipeline structures.
95+
96+
Key Improvements
97+
98+
1. Memorize the `anyUpstreamStagesFailed` extension function to improve time complexity from exponential to linear
99+
2. Optimize `getAncestorsImpl` to reduce time complexity by a factor of N, where N is the number of stages in a pipeline
100+
3. Optimize `StartStageHandler` to only call withAuth (which calls getAncestorsImpl) when
101+
102+
These enhancements significantly reduce pipeline execution time, with the most notable gains observed in dense pipeline graphs. For example, in the `ComplexPipeline.kt` test scenario, execution time improved from not completing at all to approximately `160ms`.
103+
104+
*[PR 4824](https://github.com/spinnaker/orca/pull/4824)*
105+
106+
### Performance Improvements for SQL Backend
107+
108+
This release enhances the performance of SQL-backed pipeline queries by optimizing database operations, particularly for the API call:
109+
110+
'''
111+
/applications/{application}/pipelines?expand=false&limit=2
112+
'''
113+
114+
which is frequently initiated by Deck and forwarded through Gate to Orca.
115+
116+
Key Improvements
117+
118+
- Improved Query Efficiency: Optimized the retrieval of pipeline execution data, significantly reducing database query times.
119+
- Refactored `TaskController`: Externalized configuration properties to allow better flexibility and tuning.
120+
- Enhanced `getPipelinesForApplication()`
121+
- Limits the number of pipeline config IDs queried.
122+
- Processes multiple pipeline config IDs simultaneously.
123+
- Introduces multi-threading to handle batches efficiently.
124+
125+
*[PR 4804](https://github.com/spinnaker/orca/pull/4804)*
126+
127+
### Feature: Read Connection Pool for SQL Execution Repository
128+
129+
This release introduces support for a dedicated read connection pool for specific read-only database queries in `SqlExecutionRepository`
130+
131+
Key Improvements
132+
133+
1. New "read" Connection Pool: Allows read operations to be routed to a separate connection pool.
134+
2. Configurable Read Pool: Users can define an additional read connection pool in the SQL configuration.
135+
3. Ensures Data Consistency: Some read queries still rely on recently written data and are not yet converted to use a read replica due to potential replication lag.
136+
137+
Configuration Example
138+
139+
To enable the read connection pool, add the following configuration:
140+
'''
141+
sql:
142+
connectionPools:
143+
default:
144+
<...>
145+
read:
146+
jdbcUrl: jdbc:...
147+
user: orca_service
148+
password:
149+
connectionTimeoutMs:
150+
validationTimeoutMs:
151+
maxPoolSize:
152+
minIdle:
153+
maxLifetimeMs:
154+
idleTimeoutMs:
155+
'''
156+
157+
*[PR 4803](https://github.com/spinnaker/orca/pull/4803)*
158+
67159
### Enhanced pipeline batch update feature
68160

69161
#### Gate

0 commit comments

Comments
 (0)