Commit e20b783
committed
[adapters] Delta output: enable checkpoints.
The Delta output connector did not create periodic checkpoints.
While this is in itself problematic, it also meant that the connector
became slow over time, due to this delta-rs bug, which causes the
`update_incremental` function to scan the entire transaction log on
every commit:
delta-io/delta-kernel-rs#2103.
This commit:
- Introduces the `checkpoint_interval` option, which tells
the connector to configure checkpoint interval when creating
the table.
- Creates a CommitBuilder that is actually setup to create
checkpoints.
Without this fix the time to create a trivial delta commit increases from
1.5s to 6s after ~1000 commits. With the fix it remains constant at
~2s.
Signed-off-by: Leonid Ryzhyk <ryzhyk@gmail.com>1 parent 48d51fb commit e20b783
File tree
6 files changed
+54
-6
lines changed- crates
- adapters
- benches
- src/integrated/delta_table
- feldera-types/src/transport
- docs.feldera.com/docs/connectors/sinks
6 files changed
+54
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
281 | 281 | | |
282 | 282 | | |
283 | 283 | | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
284 | 289 | | |
285 | 290 | | |
286 | 291 | | |
287 | 292 | | |
288 | | - | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
289 | 298 | | |
290 | 299 | | |
291 | 300 | | |
| |||
357 | 366 | | |
358 | 367 | | |
359 | 368 | | |
360 | | - | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
361 | 374 | | |
362 | 375 | | |
363 | 376 | | |
| |||
988 | 1001 | | |
989 | 1002 | | |
990 | 1003 | | |
| 1004 | + | |
991 | 1005 | | |
992 | 1006 | | |
993 | 1007 | | |
| |||
1268 | 1282 | | |
1269 | 1283 | | |
1270 | 1284 | | |
| 1285 | + | |
1271 | 1286 | | |
1272 | 1287 | | |
1273 | 1288 | | |
| |||
1405 | 1420 | | |
1406 | 1421 | | |
1407 | 1422 | | |
| 1423 | + | |
1408 | 1424 | | |
1409 | 1425 | | |
1410 | 1426 | | |
| |||
1433 | 1449 | | |
1434 | 1450 | | |
1435 | 1451 | | |
| 1452 | + | |
1436 | 1453 | | |
1437 | 1454 | | |
1438 | 1455 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
646 | 646 | | |
647 | 647 | | |
648 | 648 | | |
649 | | - | |
650 | | - | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
651 | 657 | | |
652 | 658 | | |
653 | 659 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
12 | 14 | | |
13 | 15 | | |
14 | 16 | | |
| |||
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
| 22 | + | |
| 23 | + | |
20 | 24 | | |
21 | 25 | | |
22 | 26 | | |
| |||
35 | 39 | | |
36 | 40 | | |
37 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
38 | 54 | | |
39 | 55 | | |
40 | 56 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7997 | 7997 | | |
7998 | 7998 | | |
7999 | 7999 | | |
| 8000 | + | |
| 8001 | + | |
| 8002 | + | |
| 8003 | + | |
| 8004 | + | |
| 8005 | + | |
| 8006 | + | |
8000 | 8007 | | |
8001 | 8008 | | |
8002 | 8009 | | |
| |||
0 commit comments