[CONTROLLER-1889] Rework NormalizedNodePruner in terms of a forwarder Created: 29/Mar/19 Updated: 04/Nov/19 Resolved: 04/Nov/19 |
|
| Status: | Resolved |
| Project: | controller |
| Component/s: | clustering |
| Affects Version/s: | None |
| Fix Version/s: | Magnesium, Sodium SR2 |
| Type: | Improvement | Priority: | Medium |
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
The pruner contains quite a bit of code which is really duplicating ImmutableNormalizedNodeStreamWriter. Refactor it so that it is an event filter sitting between the event source and an instance of ImmutableNormalizedNodeStreamWriter. This way we can just track schema availability and leave the heavy lifting to the canonical implementation. It also has the benefit that we will not end up creating dead trees when we know they will not be built. |
| Comments |
| Comment by Robert Varga [ 13/May/19 ] |
|
In order to fully benefit from this optimization we also need NormalizedNodeDataInput to stream normalized nodes instead of completely pulling them in. |
| Comment by Robert Varga [ 27/Sep/19 ] |
|
Transformation of Sodium to Magnesium during recovery requires this work. |