Description
It looks like there's some places where we're incorrectly using getCanonicalName instead of getName for serialization (when we expect to be able to later call Class.forName() to load the class dynamically).
Most of these occur in tests, and don't matter, because there's no difference between the name and canonical name. However, there is a big issue in RangeInputSplit, which serializes the AuthenticationToken name... this could be a serious bug if any other AuthenticationToken types are created and used by people implementing their own security modules.
General rule:
- use getName() if you expect to later call forName()
- use getCanonicalName() if you're generating code or printing log messages