[ 
https://issues.apache.org/jira/browse/ACCUMULO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13430810#comment-13430810
 ] 

Josh Elser commented on ACCUMULO-721:
-------------------------------------

For those with sharp eyes, two things that should stand out:

In the attached ACCUMULO-721-tserver.debug.log, you'll notice that it lists 
commons-lang-2.4.jar in lib/ext which is also in lib according to the attached 
classpath. I realized this, retested, and it made no difference. I'm being lazy.

Second, you might notice the guava-r09-jarjar.jar in /opt/hadoop/current/lib. 
This was rebundled by Hadoop, and while it is an old copy of guava, the package 
names are all prefixed with /org/apache/hadoop/thirdparty. So, unless the 
classloader isn't properly using full package name, the point should be moot.

If someone is curious enough to re-test themselves, I'd be happy to throw the 
actual code up. I was working it for another ticket anyways...
                
> Reloading of lib/ext classloader causes LinkageError
> ----------------------------------------------------
>
>                 Key: ACCUMULO-721
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-721
>             Project: Accumulo
>          Issue Type: Bug
>          Components: tserver
>    Affects Versions: 1.5.0
>            Reporter: Josh Elser
>            Assignee: Keith Turner
>         Attachments: ACCUMULO-721-classpath, ACCUMULO-721-tserver.debug.log
>
>
> I was writing an iterator that takes advantage of some classes in Google's 
> guava-libraries. I placed my jar and the guava-13.0-rc2.jar into lib/ext.
> I then ran a simple Java class which opened a Scanner to a table with my 
> customer Iterator in Eclipse. The first attempt succeeded. I then changed my 
> iterator, recompiled the jar, and placed it in lib/ext. The 
> AccumuloClassLoader message said it picked up the changes. Then, trying to 
> run my class in the same manner, I got a java.lang.LinkageError relating to 
> the classloader having two different Class objects for a class defined in the 
> guava jar (which hadn't changed).
> Moving the guava jar from lib/ext to lib/ and retrying this experiment did 
> not net the same LinkageError.
> I'll attach full stack traces and the output of `accumulo classpath`

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to