[ 
https://issues.apache.org/jira/browse/VFS-683?focusedWorklogId=783335&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-783335
 ]

ASF GitHub Bot logged work on VFS-683:
--------------------------------------

                Author: ASF GitHub Bot
            Created on: 21/Jun/22 11:23
            Start Date: 21/Jun/22 11:23
    Worklog Time Spent: 10m 
      Work Description: dlmarion commented on issue #2775:
URL: https://github.com/apache/accumulo/issues/2775#issuecomment-1161613487

   Closing based on the discussion. @ctubbsii made a suggestion in another 
discussion as a way to keep jars in HDFS and not use the VFS classloader. His 
suggestion was to create a script that copies the jars from HDFS to lib/ext 
before starting the Accumulo processes. You might be able to use the same 
script to update the jars on the local filesystem when an updated jar is pushed 
into HDFS.




Issue Time Tracking
-------------------

    Worklog Id:     (was: 783335)
    Time Spent: 1h 20m  (was: 1h 10m)

> Thread safety issue in VFSClassLoader - NullPointerException thrown
> -------------------------------------------------------------------
>
>                 Key: VFS-683
>                 URL: https://issues.apache.org/jira/browse/VFS-683
>             Project: Commons VFS
>          Issue Type: Bug
>    Affects Versions: 2.2
>            Reporter: Daryl Odnert
>            Assignee: Gary D. Gregory
>            Priority: Major
>         Attachments: Main.java
>
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> In my application, I have two instances of the {{VFSClassLoader}}, each of 
> which is being used in a distinct thread. Both {{VFSClassLoader}} instances 
> refer to the same compressed file resource described by a {{FileObject}} that 
> is passed to the class loader's constructor. Intermittently, the application 
> throws an exception with the stack trace shown below. So, there seems to be 
> either a race condition in the code or an undocumented assumption here. If it 
> is unsupported for two {{VFSClassLoader}} instances to refer to the same 
> resource (file), then that assumption should be documented. But if that is 
> not the case, then there is a race condition bug in the implementation.
> {noformat}
> 43789 WARN  {} c.a.e.u.PreferredPathClassLoader - While loading class 
> org.apache.hive.jdbc.HiveDatabaseMetaData, rethrowing unexpected 
> java.lang.NullPointerException: Inflater has been closed
> java.lang.NullPointerException: Inflater has been closed
>       at java.util.zip.Inflater.ensureOpen(Inflater.java:389)
>       at java.util.zip.Inflater.inflate(Inflater.java:257)
>       at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
>       at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
>       at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
>       at 
> org.apache.commons.vfs2.util.MonitorInputStream.read(MonitorInputStream.java:91)
>       at org.apache.commons.vfs2.FileUtil.getContent(FileUtil.java:47)
>       at org.apache.commons.vfs2.impl.Resource.getBytes(Resource.java:102)
>       at 
> org.apache.commons.vfs2.impl.VFSClassLoader.defineClass(VFSClassLoader.java:179)
>       at 
> org.apache.commons.vfs2.impl.VFSClassLoader.findClass(VFSClassLoader.java:150)
>         at 
> com.atscale.engine.utils.PreferredPathClassLoader.findClass(PreferredPathClassLoader.scala:54)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to