OK so we upgraded the version of parquet-avro in [1]. The snappy-java
version between both is not the same so I *guess* there could be something
weird in terms of classloader with another dependency conflicting. Checking.

[1]
https://github.com/apache/nifi/commit/5108d7cdd015ef14e98f2acfb61b0213972fe29e#diff-c2fdc63240d48e73764ca171426b65fc143249bd466b9ba71eb76664cceb4410

Le mer. 15 sept. 2021 à 15:53, Bilal Bektas <bilal.bek...@obase.com> a
écrit :

> Hi Pierre,
>
> Thank you for your return.
>
> In order to do lean testing, the default configuration was used generally:
> * nifi-env.sh file has the default configuration.
> * bootstrap.conf file has the default configuration.
> * nifi.properties file has the default configuration except security
> configuration.
> * PutParquet Processor has the default configuration except configuration
> which I mentioned in the previous post. (But SNAPPY compression is not
> working)
> * ConvertAvroToParquet Processor has the default configuration. (SNAPPY
> compression is working correctly)
> * There is no custom processor in our NiFi environment.
> * There is no custom lib location in Nifi properties.
>
> As I mentioned in my previous email, this error happens only in NiFi
> 1.14.0 version.
>
> Thank you for helping,
>
> --Bilal
>
>
> -----Original Message-----
> From: Pierre Villard <pierre.villard...@gmail.com>
> Sent: 15 Eylül 2021 Çarşamba 13:50
> To: dev@nifi.apache.org
> Subject: Re: [SPAM] RE: PutParquet - Compression Type: SNAPPY (NiFi 1.14.0)
>
> Hi,
>
> Is there something you changed on how the Snappy libraries are loaded in
> the NiFi JVM?
> I'm not familiar with this specifically but you may need more recent
> versions of the native libraries.
> Also, anything related to a snappy-java lib you added somewhere? /lib?
> custom processor? etc.
>
> I believe it may be related to https://github.com/apache/nifi/pull/4601
> where we're adding snappy-java and maybe there is a version conflict there.
>
> Pierre
>
> Le mer. 15 sept. 2021 à 12:38, Bilal Bektas <bilal.bek...@obase.com> a
> écrit :
>
> > Hi Dev Team,
> >
> > To be able to detect the problem, is there anything you expect from us
> > or is there anything we can help with
> >
> > Thank you in advance,
> >
> > --Bilal
> >
> >
> > -----Original Message-----
> > From: Bilal Bektas <bilal.bek...@obase.com>
> > Sent: 1 Eylül 2021 Çarşamba 12:43
> > To: dev@nifi.apache.org
> > Subject: [SPAM] RE: PutParquet - Compression Type: SNAPPY (NiFi
> > 1.14.0)
> >
> > Hi Dev Team,
> >
> > I have tested different compression types which is a feature of
> > PutParquet and ConvertAvroToParquet Processors on different NiFi
> versions.
> >
> > To avoid confusion, i will give a summary information:
> >
> > * Compression types (UNCOMPRESSED, GZIP, SNAPPY) of PutParquet
> > Processor works correctly on NiFi 1.12.1 and 1.13.2
> > * Compression types (UNCOMPRESSED, GZIP) of PutParquet Processor works
> > correctly on NiFi 1.14.0; SNAPPY gives an error in the previous email
> >
> > * Compression types (UNCOMPRESSED, GZIP, SNAPPY) of
> > ConvertAvroToParquet Processor works correctly on NiFi 1.12.1, 1.13.2
> and 1.14.0.
> >
> >
> > PutParquet - Properties:
> > * Hadoop Configuration Resources: File locations
> > * Kerberos Credentials Service: Keytab service
> > * Record Reader: AvroReader Service (Embedded Avro Schema)
> > * Overwrite Files: True
> > * Compression Type: SNAPPY
> > * Other Properties: Default
> >
> > Error Log (nifi-app.log):
> > Class org.xerial.snappy.SnappyNative does not implement the requested
> > interface org.xerial.snappy.SnappyApi
> >
> >
> > Could you help in order to resolve this situation?
> >
> > Thank you in advance,
> >
> > --Bilal
> >
> >
> >
> > -----Original Message-----
> > From: Bilal Bektas <bilal.bek...@obase.com>
> > Sent: 3 Ağustos 2021 Salı 14:55
> > To: dev@nifi.apache.org
> > Subject: PutParquet - Compression Type: SNAPPY (NiFi 1.14.0)
> >
> > Hi Dev Team,
> >
> > SNAPPY compression feature of PutParquet Processor works correctly on
> > NiFi
> > 1.12.1 but NiFi 1.14.0 gives the following error.
> >
> > Could you help in order to resolve this situation?
> >
> > Thank you in advance,
> >
> > --Bilal
> >
> >
> > PutParquet - Config:
> > Hadoop Configuration Resources
> >
> > File locations
> >
> > Kerberos Credentials Service
> >
> > Keytab service
> >
> > Kerberos Relogin Period
> >
> > 4 Hours
> >
> > Record Reader
> >
> > AvroReader Service (Embedded Avro Schema)
> >
> > Compression Type
> >
> > SNAPPY
> >
> >
> >
> > Error Log (nifi-app.log):
> > 2021-08-03 14:13:01,955 ERROR [Timer-Driven Process Thread-12]
> > o.a.nifi.processors.parquet.PutParquet
> > PutParquet[id=6caab337-68e8-3834-b64a-1d2cbd93aba8] Failed to write
> > due to
> > java.lang.IncompatibleClassChangeError: Class
> > org.xerial.snappy.SnappyNative does not implement the requested
> > interface
> > org.xerial.snappy.SnappyApi: java.lang.IncompatibleClassChangeError:
> > Class org.xerial.snappy.SnappyNative does not implement the requested
> > interface org.xerial.snappy.SnappyApi
> > java.lang.IncompatibleClassChangeError: Class
> > org.xerial.snappy.SnappyNative does not implement the requested
> > interface org.xerial.snappy.SnappyApi
> >         at org.xerial.snappy.Snappy.maxCompressedLength(Snappy.java:380)
> >         at
> >
> org.apache.parquet.hadoop.codec.SnappyCompressor.compress(SnappyCompressor.java:67)
> >         at
> >
> org.apache.hadoop.io.compress.CompressorStream.compress(CompressorStream.java:81)
> >         at
> >
> org.apache.hadoop.io.compress.CompressorStream.finish(CompressorStream.java:92)
> >         at
> >
> org.apache.parquet.hadoop.CodecFactory$HeapBytesCompressor.compress(CodecFactory.java:167)
> >         at
> >
> org.apache.parquet.hadoop.ColumnChunkPageWriteStore$ColumnChunkPageWriter.writePage(ColumnChunkPageWriteStore.java:168)
> >         at
> >
> org.apache.parquet.column.impl.ColumnWriterV1.writePage(ColumnWriterV1.java:59)
> >         at
> >
> org.apache.parquet.column.impl.ColumnWriterBase.writePage(ColumnWriterBase.java:387)
> >         at
> >
> org.apache.parquet.column.impl.ColumnWriteStoreBase.flush(ColumnWriteStoreBase.java:186)
> >         at
> >
> org.apache.parquet.column.impl.ColumnWriteStoreV1.flush(ColumnWriteStoreV1.java:29)
> >         at
> >
> org.apache.parquet.hadoop.InternalParquetRecordWriter.flushRowGroupToStore(InternalParquetRecordWriter.java:185)
> >         at
> >
> org.apache.parquet.hadoop.InternalParquetRecordWriter.close(InternalParquetRecordWriter.java:124)
> >         at
> > org.apache.parquet.hadoop.ParquetWriter.close(ParquetWriter.java:319)
> >         at
> >
> org.apache.nifi.parquet.hadoop.AvroParquetHDFSRecordWriter.close(AvroParquetHDFSRecordWriter.java:49)
> >         at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:534)
> >         at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:466)
> >         at
> >
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$null$0(AbstractPutHDFSRecord.java:326)
> >         at
> >
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2466)
> >         at
> >
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2434)
> >         at
> >
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$onTrigger$1(AbstractPutHDFSRecord.java:303)
> >         at java.security.AccessController.doPrivileged(Native Method)
> >         at javax.security.auth.Subject.doAs(Subject.java:360)
> >         at
> >
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1822)
> >         at
> >
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.onTrigger(AbstractPutHDFSRecord.java:271)
> >         at
> >
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> >         at
> >
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1202)
> >         at
> >
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:214)
> >         at
> >
> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:103)
> >         at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
> >         at
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> >         at
> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> >         at
> >
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
> >         at
> >
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >         at java.lang.Thread.run(Thread.java:748)
> >
> > obase
> > TEL: +90216 527 30 00
> > FAX: +90216 527 31 11
> > [http://www.obase.com/images/signature/home.png]<http://www.obase.com>
> > [ http://www.obase.com/images/signature/facebook.png] <
> > https://www.facebook.com/obasesocial>  [
> > http://www.obase.com/images/signature/twitter.png] <
> > https://twitter.com/obasesocial>  [
> > http://www.obase.com/images/signature/linkedin.png] <
> > https://tr.linkedin.com/in/obase>
> > [http://www.obase.com/images/signature/obase25tr.png]<http://www.obase
> > .com
> > >
> >
> > Bu elektronik posta ve onunla iletilen b?t?n dosyalar sadece
> > g?ndericisi tarafindan almasi amaclanan yetkili gercek ya da t?zel
> > kisinin kullanimi icindir. Eger s?z konusu yetkili alici degilseniz bu
> > elektronik postanin icerigini aciklamaniz, kopyalamaniz,
> > y?nlendirmeniz ve kullanmaniz kesinlikle yasaktir ve bu elektronik
> postayi derhal silmeniz gerekmektedir.
> > OBASE bu mesajin icerdigi bilgilerin do?rulu?u veya eksiksiz oldugu
> > konusunda herhangi bir garanti vermemektedir. Bu nedenle bu bilgilerin
> > ne sekilde olursa olsun iceriginden, iletilmesinden, alinmasindan ve
> > saklanmasindan sorumlu degildir. Bu mesajdaki g?r?sler yalnizca
> > g?nderen kisiye aittir ve OBASE g?r?slerini yansitmayabilir.
> >
> > Bu e-posta bilinen b?t?n bilgisayar vir?slerine karsi taranmistir.
> >
> > This e-mail and any files transmitted with it are confidential and
> > intended solely for the use of the individual or entity to whom they
> > are addressed. If you are not the intended recipient you are hereby
> > notified that any dissemination, forwarding, copying or use of any of
> > the information is strictly prohibited, and the e-mail should
> > immediately be deleted. OBASE makes no warranty as to the accuracy or
> > completeness of any information contained in this message and hereby
> > excludes any liability of any kind for the information contained
> > therein or for the information transmission, recepxion, storage or use
> > of such in any way whatsoever. The opinions expressed in this message
> > belong to sender alone and may not necessarily reflect the opinions of
> OBASE.
> >
> > This e-mail has been scanned for all known computer viruses.
> >
>

Reply via email to