Commit eba57e1
authored
perf: avoid redundant work on informer event paths (#3545)
- Mappers#fromMetadata resolved the primary GroupVersionKind on every
secondary event, although it only depends on the primary type. Hoist it out
of the lambda and compare the encoded string before falling back to parsing
the annotation value.
- Mappers.SecondaryToPrimaryFromDefaultAnnotation built a whole new mapper on
every invocation; hold a single delegate instead. The primaryResourceType
field becomes unused and is dropped.
- InformerEventSource#start walked the entire informer cache to seed the
primary-to-secondary index even when that index is the no-op implementation
(i.e. whenever a primaryToSecondaryMapper is configured), which is pure
startup latency proportional to the number of cached secondaries.
- ExternalResourceCachingEventSource#getSecondaryResources looked the primary
up in the cache a second time although the value was already in a local.
- PerResourcePollingEventSource#getAndCacheResource derived the same
ResourceID twice in adjacent statements.1 parent 9010df1 commit eba57e1
4 files changed
Lines changed: 15 additions & 10 deletions
File tree
- operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source
- informer
- polling
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
242 | 242 | | |
243 | 243 | | |
244 | 244 | | |
245 | | - | |
| 245 | + | |
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
| |||
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
180 | | - | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
181 | 183 | | |
182 | 184 | | |
183 | 185 | | |
| |||
Lines changed: 8 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
| 127 | + | |
| 128 | + | |
127 | 129 | | |
128 | 130 | | |
129 | 131 | | |
| |||
143 | 145 | | |
144 | 146 | | |
145 | 147 | | |
146 | | - | |
147 | | - | |
| 148 | + | |
| 149 | + | |
148 | 150 | | |
149 | 151 | | |
150 | 152 | | |
| |||
183 | 185 | | |
184 | 186 | | |
185 | 187 | | |
186 | | - | |
| 188 | + | |
187 | 189 | | |
188 | 190 | | |
189 | 191 | | |
190 | 192 | | |
191 | 193 | | |
192 | 194 | | |
193 | 195 | | |
194 | | - | |
| 196 | + | |
195 | 197 | | |
196 | 198 | | |
197 | 199 | | |
198 | | - | |
| 200 | + | |
199 | 201 | | |
200 | 202 | | |
201 | 203 | | |
202 | 204 | | |
203 | | - | |
| 205 | + | |
204 | 206 | | |
205 | 207 | | |
206 | 208 | | |
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
80 | | - | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
81 | 82 | | |
82 | 83 | | |
83 | 84 | | |
| |||
0 commit comments