This has a number of performance problems today:
- suboptimal stored fields merging. This is especially the case with high compression. Today this is 7x-64x times slower than it should be.
- ram stacking: for any docvalues and norms fields, all instances will be loaded in RAM. for any string docvalues fields, all instances of global ordinals will be built, and none of this released until the whole merge is complete.
We can fix these two problems without completely refactoring LeafReader... we won't get a "bulk byte merge", checksum computation will still be suboptimal, and its not a general solution to "merging with filterreaders" but that stuff can be for another day.