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

ASF GitHub Bot commented on DRILL-5157:
---------------------------------------

GitHub user paul-rogers opened a pull request:

    https://github.com/apache/drill/pull/707

    DRILL-5157: Multiple Snappy versions on class path

    Multiple Snappy versions on class path; causes unit test failures.
    
    Drill's pom.xml files bring in multiple Snappy versions. Drill itself 
brings in a very old version that has a known problem loading the snappy native 
library. Other libraries bring in a newer version. The one that ends up first 
on the class path is non-deterministic, leading to random test failures.
    
    This fix updates the Snappy library to the latest and adds dependency 
management to exclude older versions brought in by Avro and Parquet.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/paul-rogers/drill DRILL-5157

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/drill/pull/707.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #707
    
----
commit 909efcec92c4a259d139dfc4008c431969d061f7
Author: Paul Rogers <prog...@maprtech.com>
Date:   2016-12-28T01:21:09Z

    DRILL-5157: Multiple Snappy versions on class path
    
    Multiple Snappy versions on class path; causes unit test failures.
    
    This fix updates the Snappy library and adds dependency management to
    exclude older versions brought in by Avro and Parquet.

----


> Multiple Snappy versions on class path; causes unit test failures
> -----------------------------------------------------------------
>
>                 Key: DRILL-5157
>                 URL: https://issues.apache.org/jira/browse/DRILL-5157
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.9.0
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
>
> Run the {{TestDrillbitResilience.doMemoryLeaksWhenCancelled}} unit test. It 
> fails with the following stack trace and the memory leak trace shown second.
> Strangely, this error appears only if the test is run as part of the overall 
> suite. The error does not appear if the test is run individually in the 
> debugger. This suggests that the problem described here is a side-effect of a 
> problem created by an earlier test.
> Investigation (see notes below) reveal that this is a Maven dependency 
> management problem.
> Stack trace that seems to show that the code was trying to find a Snappy 
> native library:
> {code}
> java.lang.reflect.InvocationTargetException
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:317)
>       at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:219)
>       at org.xerial.snappy.Snappy.<clinit>(Snappy.java:44)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.AsyncPageReader$DecompressionHelper.decompress(AsyncPageReader.java:402)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.AsyncPageReader.decompress(AsyncPageReader.java:169)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.AsyncPageReader.getDecompressedPageData(AsyncPageReader.java:96)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.AsyncPageReader.nextInternal(AsyncPageReader.java:219)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.PageReader.next(PageReader.java:280)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.ColumnReader.readPage(ColumnReader.java:250)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.ColumnReader.determineSize(ColumnReader.java:178)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.ColumnReader.processPages(ColumnReader.java:130)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.ParquetRecordReader.readAllFixedFieldsSerial(ParquetRecordReader.java:485)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.ParquetRecordReader.readAllFixedFields(ParquetRecordReader.java:479)
>       at 
> org.apache.drill.exec.store.parquet.columnreaders.ParquetRecordReader.next(ParquetRecordReader.java:562)
>       at 
> org.apache.drill.exec.physical.impl.ScanBatch.next(ScanBatch.java:178)
>       at 
> org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:215)
>       at 
> org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119)
> …
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to