[CONTROLLER-1887] Improve NormalizedNodePruner memory footprint Created: 28/Mar/19 Updated: 29/Mar/19 Resolved: 29/Mar/19 |
|
| Status: | Resolved |
| Project: | controller |
| Component/s: | clustering |
| Affects Version/s: | None |
| Fix Version/s: | Sodium, Neon SR1, Fluorine SR3 |
| 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 | ||
| Description |
|
NormalizedNodePruner is used heavily during recovery, where it is used for each modification being applied. Its design unfortunately does not lend itself for reuse and we end churning memory rather heavily due to its use of an internal stack. Furthermore we end up looking up the same DataSchemaContextTree over and over, which while working on a weak cache, is still a waste of CPU cycles. |