Commit c0db14b
[controller] Add rewindEpochTimeInSecondsOverride to pass absolute epoch
timestamps through the pipeline
Pass absolute epoch rewind timestamps directly through the Venice pipeline
instead of converting epoch→relative→epoch which introduces drift. This
unblocks EOP hybrid stores from using epoch-based rewind and eliminates
time-of-use vs time-of-check drift for SOP stores.
Changes:
- Add rewindEpochTimeInSecondsOverride field to StoreMetaValue (v42) and
AdminOperation (v96) Avro schemas
- Thread the new parameter through VPJ → ControllerClient → CreateVersion →
Admin → VeniceHelixAdmin → VeniceParentHelixAdmin → AdminExecutionTask
- Store epoch override on HybridStoreConfig (interface + impl + ReadOnly)
- Use epoch override directly in RealTimeTopicSwitcher.getRewindStartTime()
when set (>=0), bypassing relative→epoch conversion
- Default -1 sentinel preserves backward compatibility with existing callers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent dd4a58e commit c0db14b
29 files changed
Lines changed: 1918 additions & 17 deletions
File tree
- clients/venice-push-job/src
- main/java/com/linkedin/venice/hadoop
- test/java/com/linkedin/venice/hadoop
- internal
- venice-common/src/main
- java/com/linkedin/venice
- controllerapi
- meta
- serialization/avro
- resources/avro/StoreMetaValue/v42
- venice-test-common/src/integrationTest/java/com/linkedin/venice
- controller
- server
- endToEnd
- services/venice-controller/src
- main
- java/com/linkedin/venice
- controller
- kafka/consumer
- server
- ingestion/control
- resources/avro/AdminOperation/v96
- test/java/com/linkedin/venice/controller
- kafka/consumer
- server
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
327 | 327 | | |
328 | 328 | | |
329 | 329 | | |
330 | | - | |
| 330 | + | |
331 | 331 | | |
332 | 332 | | |
333 | 333 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| |||
Lines changed: 11 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
129 | | - | |
130 | 129 | | |
131 | 130 | | |
132 | 131 | | |
| |||
507 | 506 | | |
508 | 507 | | |
509 | 508 | | |
| 509 | + | |
510 | 510 | | |
511 | 511 | | |
512 | 512 | | |
| |||
523 | 523 | | |
524 | 524 | | |
525 | 525 | | |
526 | | - | |
527 | | - | |
528 | | - | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
529 | 531 | | |
530 | 532 | | |
531 | | - | |
532 | | - | |
533 | | - | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
534 | 537 | | |
535 | 538 | | |
536 | 539 | | |
| |||
2418 | 2421 | | |
2419 | 2422 | | |
2420 | 2423 | | |
| 2424 | + | |
2421 | 2425 | | |
2422 | 2426 | | |
2423 | 2427 | | |
| |||
clients/venice-push-job/src/test/java/com/linkedin/venice/hadoop/TestVenicePushJobCheckpoints.java
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
730 | 730 | | |
731 | 731 | | |
732 | 732 | | |
| 733 | + | |
733 | 734 | | |
734 | 735 | | |
735 | 736 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1737 | 1737 | | |
1738 | 1738 | | |
1739 | 1739 | | |
| 1740 | + | |
1740 | 1741 | | |
1741 | 1742 | | |
1742 | 1743 | | |
| |||
internal/venice-common/src/main/java/com/linkedin/venice/controllerapi/ControllerApiConstants.java
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
| 173 | + | |
| 174 | + | |
173 | 175 | | |
174 | 176 | | |
175 | 177 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
| |||
321 | 322 | | |
322 | 323 | | |
323 | 324 | | |
| 325 | + | |
324 | 326 | | |
325 | 327 | | |
326 | 328 | | |
| |||
355 | 357 | | |
356 | 358 | | |
357 | 359 | | |
| 360 | + | |
358 | 361 | | |
359 | 362 | | |
360 | 363 | | |
| |||
401 | 404 | | |
402 | 405 | | |
403 | 406 | | |
| 407 | + | |
404 | 408 | | |
405 | 409 | | |
406 | 410 | | |
| |||
419 | 423 | | |
420 | 424 | | |
421 | 425 | | |
| 426 | + | |
422 | 427 | | |
423 | 428 | | |
424 | 429 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
86 | 87 | | |
87 | 88 | | |
88 | 89 | | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
89 | 94 | | |
90 | 95 | | |
91 | 96 | | |
| |||
138 | 143 | | |
139 | 144 | | |
140 | 145 | | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
141 | 150 | | |
142 | 151 | | |
143 | 152 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
33 | 37 | | |
34 | 38 | | |
Lines changed: 13 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
115 | 125 | | |
116 | 126 | | |
117 | 127 | | |
| |||
136 | 146 | | |
137 | 147 | | |
138 | 148 | | |
139 | | - | |
| 149 | + | |
140 | 150 | | |
141 | 151 | | |
142 | 152 | | |
143 | 153 | | |
144 | 154 | | |
145 | 155 | | |
| 156 | + | |
| 157 | + | |
146 | 158 | | |
147 | 159 | | |
0 commit comments