Commit 05ff0ac
authored
refactor(inkless:consume): only remote fetches to run on data executor (#466)
* refactor(inkless:consume): only remote fetches to run on data executor
Refactor fetch planning by changing how fetch operations are scheduled
on the data executor. It only assigns the data executor for remote fetch
operations and let the calling thread to run the cache.get(), avoiding
the scenario where calls to cache are blocked by all data executor
threads being used.
By doing this, the CacheFetchJob component becomes irrelevant as most of
the logic is already on the planning, even the scheduling decision.
Changes:
- Delete CacheFetchJob
- Extend ObjectCache to allow passing the executor to run the load
function
- Refactor the FetchPlanner to use the new approach
- Update documentation on FetchPlanner and Reader to clarify how stages
are ran
- Move CacheFetchJobTest to FetchPlannerTest to keep and improve
coverage
* fixup! refactor(inkless:consume): only remote fetches to run on data executor
Remove the temporal merged as this PR does not use bytes or timestamp.
Let that for the following PRs to define
* fixup! refactor(inkless:consume): only remote fetches to run on data executor
Apply suggestion on simplified test
* fixup! refactor(inkless:consume): only remote fetches to run on data executor
Improve error handling on cache async get
* fixup! refactor(inkless:consume): only remote fetches to run on data executor
Improve comment as suggested
* fixup! refactor(inkless:consume): only remote fetches to run on data executor
Further refactoring: Use same constructor as existing methods
* fixup! refactor(inkless:consume): only remote fetches to run on data executor
* fixup! refactor(inkless:consume): only remote fetches to run on data executor
* fixup! refactor(inkless:consume): only remote fetches to run on data executor
* fixup! refactor(inkless:consume): only remote fetches to run on data executor
* fixup! refactor(inkless:consume): only remote fetches to run on data executor1 parent 3218448 commit 05ff0ac
File tree
10 files changed
+624
-361
lines changed- storage/inkless/src
- main/java/io/aiven/inkless
- cache
- consume
- test/java/io/aiven/inkless
- cache
- consume
10 files changed
+624
-361
lines changedLines changed: 43 additions & 14 deletions
| 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 | + | |
1 | 18 | | |
2 | 19 | | |
3 | 20 | | |
| |||
7 | 24 | | |
8 | 25 | | |
9 | 26 | | |
| 27 | + | |
10 | 28 | | |
11 | 29 | | |
12 | 30 | | |
| |||
26 | 44 | | |
27 | 45 | | |
28 | 46 | | |
29 | | - | |
| 47 | + | |
| 48 | + | |
30 | 49 | | |
31 | 50 | | |
32 | 51 | | |
| |||
42 | 61 | | |
43 | 62 | | |
44 | 63 | | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
49 | 87 | | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | 88 | | |
60 | 89 | | |
61 | 90 | | |
| |||
Lines changed: 17 additions & 0 deletions
| 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 | + | |
1 | 18 | | |
2 | 19 | | |
3 | 20 | | |
| |||
Lines changed: 0 additions & 68 deletions
This file was deleted.
Lines changed: 19 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
28 | 30 | | |
29 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
30 | 48 | | |
Lines changed: 0 additions & 111 deletions
This file was deleted.
0 commit comments