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