This will refactor raw erasure coders according to some comments received so far.
- As discussed in
HADOOP-11540and suggested by Colin McCabe, better not to rely class inheritance to reuse the codes, instead they can be moved to some utility.
- Suggested by Jing Zhao somewhere quite some time ago, better to have a state holder to keep some checking results for later reuse during an encode/decode call.
This would not get rid of some inheritance levels as doing so isn't clear yet for the moment and also incurs big impact. I do wish the end result by this refactoring will make all the levels more clear and easier to follow.