What version of NiFi is Kylo based on?

There was a memory leak related to HDFS processors that was fixed back in 1.7.0:

https://issues.apache.org/jira/browse/NIFI-5136

On Mon, Nov 11, 2019 at 11:14 PM Jeff <[email protected]> wrote:
>
> If you remove the @RequiresInstanceClassloading, the UserGroupInformation 
> class from Hadoop (hadoop-common, if I remember correctly) will be shared 
> across all instances that come from a particular NAR (such as PutHDFS, 
> ListHDFS, FetchHDFS, etc, from nifi-hadoop-nar-x.y.z.nar).  If you are using 
> Kerberos in those processors and configured different principals across the 
> various processors, you could run into issues when the processors attempt to 
> acquire new TGTs, most likely the first time a relogin is attempted.  UGI has 
> some static state and @RequiresInstanceClassloading makes sure each instance 
> of a processor with that annotation has its own classloader to keep that kind 
> of state from being shared across instances.
>
> On Mon, Nov 11, 2019 at 9:41 PM abellnotring <[email protected]> wrote:
>>
>> Hi,Peter & All
>>      I’m using kylo to manage the nifi flow(called feed in kylo),and there 
>> are 4200 instances(600+ instances extended from  AbstractHadoopProcessor) in 
>> my nifi canvas,The NIFI Non-Heap Memory has increased more than  6GB after 
>> some days running ,which is extremely abnormal . I have analyzed the class 
>> loaded into Compressed Class Space ,and found most of the CCS was used by 
>> classes related by AbstractHadoopProcessor.
>>    So  I think removing RequiresInstanceClassLoading from 
>> AbstractHadoopProcessor processor may be a Solution for reducing the CCS 
>> used.
>>    Do you have any ideas for this ?
>>
>>
>>
>>     Thanks
>>
>>
>>     By Hai Luo
>>
>> On 11/12/2019 02:17,Shawn Weeks<[email protected]> wrote:
>>
>> I’m assuming your talking about the snappy problem. If you use compress 
>> content prior to puthdfs you can compress with Snappy as it uses the Java 
>> Native Snappy Lib. The HDFS processors are limited to the actual Hadoop 
>> Libraries so they’d have to change from Native to get around this. I’m 
>> pretty sure we need instance loading to handle the other issues mentioned.
>>
>>
>>
>> Thanks
>>
>> Shawn
>>
>>
>>
>> From: Joe Witt <[email protected]>
>> Reply-To: "[email protected]" <[email protected]>
>> Date: Monday, November 11, 2019 at 8:56 AM
>> To: "[email protected]" <[email protected]>
>> Subject: Re: Influence about removing RequiresInstanceClassLoading from 
>> AbstractHadoopProcessor processor
>>
>>
>>
>> Peter
>>
>>
>>
>> The most common challenge is if two isolated instances both want to use a 
>> native lib.  No two native libs with the same name can be in the same jvm.  
>> We need to solve that for sure.
>>
>>
>>
>> Thanks
>>
>>
>>
>> On Mon, Nov 11, 2019 at 9:53 AM Peter Turcsanyi <[email protected]> wrote:
>>
>> Hi Hai Luo,
>>
>>
>>
>> @RequiresInstanceClassLoading makes possible to configure separate / 
>> isolated "Additional Classpath Resources" settings on your HDFS processors 
>> (eg. S3 storage driver on one of your PutHDFS and Azure Blob on the other).
>>
>>
>>
>> Is there any specific reason / use case why you are considering to remove it?
>>
>>
>>
>> Regards,
>>
>> Peter Turcsanyi
>>
>>
>>
>> On Mon, Nov 11, 2019 at 3:30 PM abellnotring <[email protected]> wrote:
>>
>> Hi,all
>>
>>      I’m considering removing the RequiresInstanceClassLoading annotation 
>> from class AbstractHadoopProcessor,
>>
>>      Does anybody know the potential Influence?
>>
>>
>>
>>     Thanks
>>
>>     By Hai Luo

Reply via email to