[ 
https://issues.apache.org/jira/browse/NIFI-6485?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Peter Turcsanyi updated NIFI-6485:
----------------------------------
    Description: 
If HortonworksSchemaRegistry is used by a processor with multiple threads 
(Concurrent Tasks > 1) and no schema version has been specified (so the 
'latest' one needs to be retrieved), then the threads refresh the NiFi side 
schema cache in parallel / multiple times. Subsequent threads should block 
until the first one retrieves the schema from SchemaRegistryClient.

Proposed solution: use a cache implementation that correctly handles parallel 
get() requests (eg. [caffeine|https://github.com/ben-manes/caffeine]).

  was:
If HortonworksSchemaRegistry is used by a processor with multiple threads 
(Concurrent Tasks > 1) and no schema version has been specified (so the 
'latest' one needs to be retrieved), then the threads refresh the NiFi side 
schema cache in parallel / multiple times. Subsequent threads should block 
until the first one retrieves the schema from SchemaRegistryClient.

Proposed solution: use a cache implementation that correctly handles parallel 
get() requests (eg. [caffeine|[https://github.com/ben-manes/caffeine]]).


> Optimize schema retrieval in HortonworksSchemaRegistry
> ------------------------------------------------------
>
>                 Key: NIFI-6485
>                 URL: https://issues.apache.org/jira/browse/NIFI-6485
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Peter Turcsanyi
>            Priority: Minor
>
> If HortonworksSchemaRegistry is used by a processor with multiple threads 
> (Concurrent Tasks > 1) and no schema version has been specified (so the 
> 'latest' one needs to be retrieved), then the threads refresh the NiFi side 
> schema cache in parallel / multiple times. Subsequent threads should block 
> until the first one retrieves the schema from SchemaRegistryClient.
> Proposed solution: use a cache implementation that correctly handles parallel 
> get() requests (eg. [caffeine|https://github.com/ben-manes/caffeine]).



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to