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