Github user arkadius commented on the issue:

    https://github.com/apache/nifi/pull/3111
  
    Other places of usage:
    1. `org.apache.nifi.record.path.util.RecordPathCache` - record path cache, 
synchronized access
    2. `org.apache.nifi.avro.AvroReader` - avro schema cache (this parts is 
almost copy-paste of `AvroRecordSetWriter`), synchronized access
    3. `org.apache.nifi.processors.attributes.UpdateAttribute` - canonical 
value lookup cache, synchronized access
    4. `org.apache.nifi.atlas.hook.NotificationSender` - `guidToQualifiedName` 
and `typedQualifiedNameToRef` caches, but no synchronization on class level
    5. `org.apache.nifi.processors.jolt.record.JoltTransformRecord` - 
tranformations cache, synchronized access
    6. `org.apache.nifi.schema.access.WriteAvroSchemaAttributeStrategy` - avro 
schema cache, synchronized access
    7. `org.apache.nifi.processors.standard.PutDatabaseRecord` - table schema 
cache, synchronized access
    8. `org.apache.nifi.processors.standard.JoltTransformJSON` - tranformations 
cache, synchronized access
    9. `org.apache.nifi.processors.standard.ConvertJSONToSQL` - table schema 
cache, synchronized access
    10. 
`org.apache.nifi.confluent.schemaregistry.client.CachingSchemaRegistryClient` - 
avro schema cache, synchronized access
    
    For me in 9/10 case it is the same scenario and would be better to fix it 
there before someone hit the same problem. Especially when it is used for avro 
schema cache. If someone choose, avro it is very high probability that he or 
she will expect high throughputs. WDYT?


---

Reply via email to