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

Michael Noll commented on PIG-3159:
-----------------------------------

Are you running JDK 7 by chance, Bill?

I have noticed the same error when trying to use Snappy as the compression 
codec with Avro Tools on a Mac with Oracle JDK 7 (but not when using JDK 6):

{code}
$ uname -a
Darwin panama-2.local 12.3.0 Darwin Kernel Version 12.3.0: Sun Jan  6 22:37:10 
PST 2013; root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64

$ java -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

$ java -jar ~/Downloads/avro-tools-1.7.4.jar fromjson --codec snappy 
--schema-file mydata.avsc mydata.json > mydata.snappy.avro

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        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.avro.file.SnappyCodec.compress(SnappyCodec.java:43)
        at 
org.apache.avro.file.DataFileStream$DataBlock.compressUsing(DataFileStream.java:349)
        at 
org.apache.avro.file.DataFileWriter.writeBlock(DataFileWriter.java:348)
        at 
org.apache.avro.file.DataFileWriter.writeIfBlockFull(DataFileWriter.java:295)
        at org.apache.avro.file.DataFileWriter.append(DataFileWriter.java:266)
        at 
org.apache.avro.tool.DataFileWriteTool.run(DataFileWriteTool.java:109)
        at org.apache.avro.tool.Main.run(Main.java:80)
        at org.apache.avro.tool.Main.main(Main.java:69)
Caused by: java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
        at java.lang.Runtime.loadLibrary0(Runtime.java:845)
        at java.lang.System.loadLibrary(System.java:1084)
        at 
org.xerial.snappy.SnappyNativeLoader.loadLibrary(SnappyNativeLoader.java:52)
        ... 15 more
Exception in thread "main" org.xerial.snappy.SnappyError: 
[FAILED_TO_LOAD_NATIVE_LIBRARY] null
        at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)
        at org.xerial.snappy.Snappy.<clinit>(Snappy.java:44)
        at org.apache.avro.file.SnappyCodec.compress(SnappyCodec.java:43)
        at 
org.apache.avro.file.DataFileStream$DataBlock.compressUsing(DataFileStream.java:349)
        at 
org.apache.avro.file.DataFileWriter.writeBlock(DataFileWriter.java:348)
        at 
org.apache.avro.file.DataFileWriter.writeIfBlockFull(DataFileWriter.java:295)
        at org.apache.avro.file.DataFileWriter.append(DataFileWriter.java:266)
        at 
org.apache.avro.tool.DataFileWriteTool.run(DataFileWriteTool.java:109)
        at org.apache.avro.tool.Main.run(Main.java:80)
        at org.apache.avro.tool.Main.main(Main.java:69)
{code}

Running the exact same command line with Sun JDK 6 on my Mac works just fine.

{code}
$ /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java 
-versionjava version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01-447-11M4203)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-447, mixed mode)
{code}
                
> TestAvroStorage.testArrayWithSnappyCompression fails on mac
> -----------------------------------------------------------
>
>                 Key: PIG-3159
>                 URL: https://issues.apache.org/jira/browse/PIG-3159
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Bill Graham
>
> Seems like snappy isn't being properly loaded when run on mac. This is the 
> exception from the {{testArrayWithSnappyCompression}} test.
> {noformat}
> 13/02/03 13:20:49 INFO mapReduceLayer.PigMapOnly$Map: Aliases being processed 
> per job phase (AliasName[line,offset]): M: in[1,6] C:  R: 
> java.lang.reflect.InvocationTargetException
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:601)
>       at 
> org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:315)
>       at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:218)
>       at org.xerial.snappy.Snappy.<clinit>(Snappy.java:42)
>       at org.apache.avro.file.SnappyCodec.compress(SnappyCodec.java:43)
>       at 
> org.apache.avro.file.DataFileStream$DataBlock.compressUsing(DataFileStream.java:349)
>       at 
> org.apache.avro.file.DataFileWriter.writeBlock(DataFileWriter.java:347)
>       at org.apache.avro.file.DataFileWriter.sync(DataFileWriter.java:359)
>       at org.apache.avro.file.DataFileWriter.flush(DataFileWriter.java:366)
>       at org.apache.avro.file.DataFileWriter.close(DataFileWriter.java:373)
>       at 
> org.apache.pig.piggybank.storage.avro.PigAvroRecordWriter.close(PigAvroRecordWriter.java:44)
>       at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat$PigRecordWriter.close(PigOutputFormat.java:149)
>       at 
> org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.close(MapTask.java:651)
>       at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:766)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
>       at 
> org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
> Caused by: java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path
>       at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
>       at java.lang.Runtime.loadLibrary0(Runtime.java:845)
>       at java.lang.System.loadLibrary(System.java:1084)
>       at 
> org.xerial.snappy.SnappyNativeLoader.loadLibrary(SnappyNativeLoader.java:52)
>       ... 19 more
> 13/02/03 13:20:49 WARN mapred.LocalJobRunner: job_local_0001
> org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null
>       at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:227)
>       at org.xerial.snappy.Snappy.<clinit>(Snappy.java:42)
>       at org.apache.avro.file.SnappyCodec.compress(SnappyCodec.java:43)
>       at 
> org.apache.avro.file.DataFileStream$DataBlock.compressUsing(DataFileStream.java:349)
>       at 
> org.apache.avro.file.DataFileWriter.writeBlock(DataFileWriter.java:347)
>       at org.apache.avro.file.DataFileWriter.sync(DataFileWriter.java:359)
>       at org.apache.avro.file.DataFileWriter.flush(DataFileWriter.java:366)
>       at org.apache.avro.file.DataFileWriter.close(DataFileWriter.java:373)
>       at 
> org.apache.pig.piggybank.storage.avro.PigAvroRecordWriter.close(PigAvroRecordWriter.java:44)
>       at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat$PigRecordWriter.close(PigOutputFormat.java:149)
>       at 
> org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.close(MapTask.java:651)
>       at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:766)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
>       at 
> org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
> {noformat}

--
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

Reply via email to