accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-1321) Dynamic Classloader lost jars
Date Thu, 25 Apr 2013 18:18:20 GMT

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

Keith Turner commented on ACCUMULO-1321:
----------------------------------------

I experimented with this and ran into a problem on my first try.   I did the following.

 * started 1.5.0-SNAP
 * placed jar containing constraint in lib/ext
 * added constraint to table
 * inserted data that triggered constraint and that worked
 * updated constraint jar in lib/ext
 * tried to insert data and that failed w/ Failed to load constraints

I took a look at the tablet server logs and saw the following :

{noformat}
2013-04-25 13:54:36,405 [vfs.AccumuloReloadingVFSClassLoader] DEBUG: file:///home/user/workspace/accumulo-1.5/lib/ext/TC.jar
created, recreating classloader

2013-04-25 13:57:24,485 [vfs.AccumuloReloadingVFSClassLoader] DEBUG: file:///home/user/workspace/accumulo-1.5/lib/ext/TC.jar
deleted, recreating classloader

2013-04-25 13:57:25,217 [constraints.ConstraintChecker] ERROR: Failed to load constraints
2 java.lang.ClassFormatError: Truncated class file
java.lang.ClassFormatError: Truncated class file
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at org.apache.commons.vfs2.impl.VFSClassLoader.defineClass(VFSClassLoader.java:223)
        at org.apache.commons.vfs2.impl.VFSClassLoader.findClass(VFSClassLoader.java:177)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at org.apache.accumulo.server.constraints.ConstraintChecker.<init>(ConstraintChecker.java:63)
        at org.apache.accumulo.server.tabletserver.Tablet.checkConstraints(Tablet.java:2522)
        at org.apache.accumulo.server.tabletserver.TabletServer$6.run(TabletServer.java:3137)
        at org.apache.accumulo.server.util.time.SimpleTimer$LoggingTimerTask.run(SimpleTimer.java:42)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)

{noformat}

I wonder if the code is trying to read the jar while its being written.
                
> Dynamic Classloader lost jars
> -----------------------------
>
>                 Key: ACCUMULO-1321
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1321
>             Project: Accumulo
>          Issue Type: Bug
>            Reporter: John Vines
>             Fix For: 1.5.0
>
>
> We have a table setup that uses some custom iterators. We ran an MR job against it without
issues. We then ran the job immediately after the first one wrapped and 2 of my tservers errored
with ClassNotFoundException, even though it ran just fine before.
> Unfortunately we don't have a stack trace (to see if it was breaking differently in the
VFSClassLoader), nor a convenient way to recreate currently. We're working on reproducing
it in order to get more information.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message