Iván Ezequiel Rodriguez created NIFI-6395:
---------------------------------------------
Summary: CountText processor is not thread safe - concurrency error
Key: NIFI-6395
URL: https://issues.apache.org/jira/browse/NIFI-6395
Project: Apache NiFi
Issue Type: Bug
Components: Extensions
Affects Versions: 1.9.2
Environment: software platform
Reporter: Iván Ezequiel Rodriguez
The processor counters fail to execute multiple threads. The programming is not
safe since they are not atomic operations. They are using a volatile instance
variable accessed by multiple threads when Ontrigger is called. The solution is
to declare those local variables to onTrigger. Perform several tests with
millions of records and the counter does not work correctly when it is executed
with more than one task.
The problem is in the declaration of these instance variables:
private *volatile int* lineCount;
private *volatile int* lineNonEmptyCount;
private *volatile int* wordCount;
private *volatile int* characterCount;
This is not safe to perform atomic operations on these variables. As a result
the counters register less amount of lines when executed with multiple threads.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)