Commit 3a46bd5
Optimize Cayenne catalog maintenance paths (spiceai#10904)
* Optimize Cayenne catalog maintenance paths
* refactor(cayenne): replace `allow` with `expect` for Clippy lints and update function signatures to return `()` where applicable
* fix(cayenne): satisfy lint after review updates
* refactor(cayenne): update terminology from RPC to metastore call in benchmarks and documentation
* Update vortex dependencies to revision 86cc337 for consistency across crates
* feat(cayenne): add maintenance compaction triggers for protected snapshots and implement benchmark for cache invalidation
* feat(cayenne): add compaction trigger snapshot age configuration and related logging
* test(cayenne): add unit test for resolving compaction thresholds from acceleration parameters
* fix(cayenne): update PARAMETERS array length to include additional S3 parameter
* feat(cayenne): implement cache invalidation for scan listing tables and add integration test for snapshot publishing
* refactor(cayenne): improve comments and update function signatures for clarity
* feat(benchmarks): add benchmark for load_existing_keyset_cap_disabled
* feat(runtime): add filter propagation option and related parsing function
feat(telemetry): implement tracking for Cayenne write phase durations
refactor(cayenne): streamline keyset handling and improve performance
* Enhance VortexConfig and optimize staging file moves
- Updated VortexConfig documentation to clarify runtime parameter effects on compaction and inline write settings.
- Introduced a function to apply refresh mode defaults to VortexConfig based on the acceleration mode.
- Adjusted default values for compaction and inline write parameters for append and changes refresh modes.
- Improved performance of S3 staged-file moves by implementing concurrent processing, reducing the time readers are blocked during file operations.
- Refactored benchmarks to reflect changes in the staging move concurrency and inline memtable read overhead.
- Added tests to verify correct application of VortexConfig defaults based on refresh mode.
* refactor(cayenne): update VortexConfig documentation and refresh mode handling
* refactor(benches): improve documentation and clarify inline upsert benchmark details
* refactor(cayenne): enhance VortexConfig documentation and improve small write handling
* feat(cayenne): add compaction_trigger_protected_snapshots to VortexConfig and related functions
* refactor: optimize max_sequence_number validation in DeletionIndex and KeyDeletionIndex
* feat(cayenne): add scaling benchmark for upsert performance against DuckDB
* refactor: improve comments and optimize keyset cache handling in Cayenne
* refactor: enhance error handling and improve comments in Cayenne components
* refactor: improve code clarity and consistency in catalog and deletion index implementations
* refactor: enhance transaction handling and add query_row_values method for metastore
* refactor: update comments to clarify byte-budget cap impact on keyset rebuilding
* refactor: enhance comments and improve clarity in benchmark and catalog implementations
* refactor: initialize raw field in CachedTableStatistics for first load/persist
* refactor: update keyset cache handling to use byte budget and improve delete file validation
* refactor: update keyset cache handling to use byte budget and improve delete file validation
* refactor: simplify delete file validation and improve code clarity in multiple files
* refactor: enhance keyset cache handling and improve parameter parsing with semantic hints
* refactor: enhance parameter handling for snapshot age configuration in Cayenne
* refactor: add benchmark for int64 primary key filter keep mask allocation and improve snapshot age parsing logic
* refactor: add max coalesce age configuration to CDC and update documentation
* refactor: implement batched multi-VALUES INSERT for delete-file rows with ON CONFLICT handling
* refactor: clean up formatting and improve readability in delete file insertion logic
* refactor: add benchmark for position-based deletion redundant walks
* refactor: remove redundant parse_u64 function and streamline parsing logic
* test: add unit test for batched on-conflict deletions in CayenneCatalog
* refactor: improve comments and error handling in various modules
* refactor: simplify visibility checks in deletion filter execution
* refactor: enhance transaction handling in SqliteMetastore and update conflict deletion logic
* fix: correct type in insert_pks vector creation for delete file tests
* feat: add benchmark for apply_partial_deletion_filter to measure allocation efficiency
* feat: add default on_schema_change handling in dataset configuration
* feat: add benchmark for pk_lookup_file_group_fanout to evaluate partition sensitivity
* refactor: simplify batch query in benchmark for target partitions
* feat: add benchmark for pk_lookup_session_cache_warmup to evaluate cache performance
* feat: add benchmarks for pk_in_list_vs_range_rewrite and get_max_delete_sequence_walk
* refactor: streamline SQL query formatting and add async await to vortex config calls
* perf: optimize get_max_delete_sequence by using cached max_sequence_number1 parent 68a7a38 commit 3a46bd5
48 files changed
Lines changed: 5897 additions & 826 deletions
File tree
- crates
- cayenne
- benches
- src
- metastore
- provider
- delete
- sink
- tests
- runtime/src
- accelerated_table/refresh_task
- dataaccelerator/cayenne
- datafusion
- telemetry/src
- docs/features
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 | |
|---|---|---|---|
| |||
347 | 347 | | |
348 | 348 | | |
349 | 349 | | |
350 | | - | |
351 | | - | |
352 | | - | |
353 | | - | |
354 | | - | |
355 | | - | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
356 | 356 | | |
357 | 357 | | |
358 | 358 | | |
| |||
470 | 470 | | |
471 | 471 | | |
472 | 472 | | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | | - | |
477 | | - | |
478 | | - | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
132 | 144 | | |
133 | 145 | | |
134 | 146 | | |
| |||
165 | 177 | | |
166 | 178 | | |
167 | 179 | | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
168 | 184 | | |
169 | 185 | | |
170 | 186 | | |
| |||
200 | 216 | | |
201 | 217 | | |
202 | 218 | | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
203 | 224 | | |
204 | 225 | | |
205 | 226 | | |
| |||
218 | 239 | | |
219 | 240 | | |
220 | 241 | | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
125 | | - | |
| 125 | + | |
126 | 126 | | |
127 | 127 | | |
| 128 | + | |
128 | 129 | | |
129 | 130 | | |
130 | 131 | | |
| |||
186 | 187 | | |
187 | 188 | | |
188 | 189 | | |
189 | | - | |
| 190 | + | |
190 | 191 | | |
191 | 192 | | |
192 | 193 | | |
| |||
204 | 205 | | |
205 | 206 | | |
206 | 207 | | |
207 | | - | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
208 | 211 | | |
209 | 212 | | |
210 | | - | |
| 213 | + | |
211 | 214 | | |
212 | 215 | | |
213 | | - | |
214 | | - | |
215 | | - | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
216 | 219 | | |
217 | 220 | | |
218 | | - | |
219 | | - | |
220 | | - | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
221 | 224 | | |
222 | 225 | | |
223 | 226 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
0 commit comments