accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Tubbs (JIRA)" <>
Subject [jira] [Created] (ACCUMULO-3938) Incorrect use of Class.getCanonicalName()
Date Fri, 17 Jul 2015 23:16:04 GMT
Christopher Tubbs created ACCUMULO-3938:

             Summary: Incorrect use of Class.getCanonicalName()
                 Key: ACCUMULO-3938
             Project: Accumulo
          Issue Type: Bug
          Components: mapreduce, test
            Reporter: Christopher Tubbs
            Assignee: Christopher Tubbs
             Fix For: 1.6.4, 1.7.1, 1.8.0

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

This message was sent by Atlassian JIRA

View raw message