[
https://issues.apache.org/jira/browse/NIFI-5109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16468163#comment-16468163
]
ASF GitHub Bot commented on NIFI-5109:
--------------------------------------
Github user ijokarumawak commented on the issue:
https://github.com/apache/nifi/pull/2657
Maybe I'm thinking the issue oversimplified, but changing the line 378
`return` to `break` would address the issue while ensuring that we don't reset
the flag until we know we've pulled the latest state, wouldn't it?
```
if (LATEST_LISTED_ENTRY_TIMESTAMP_KEY.equals(k)) {
minTimestampToListMillis = Long.parseLong(v);
// If our determined timestamp is the same as that
of our last listing, skip this execution as there are no updates
if
(minTimestampToListMillis.equals(this.lastListedLatestEntryTimestampMillis)) {
context.yield();
return; // How about changing this to 'break'?
} else {
this.lastListedLatestEntryTimestampMillis =
minTimestampToListMillis;
}
} else if
(LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY.equals(k)) {
this.lastProcessedLatestEntryTimestampMillis =
Long.parseLong(v);
} else if (k.startsWith(IDENTIFIER_PREFIX)) {
latestIdentifiersProcessed.add(v);
}
```
> AbstractListProcessor stop calling performListing after primary node
> reelection
> -------------------------------------------------------------------------------
>
> Key: NIFI-5109
> URL: https://issues.apache.org/jira/browse/NIFI-5109
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 1.6.0
> Reporter: Maksym Viazovskyi
> Priority: Major
> Attachments:
> 0001-NIFI-2109-Reset-justElectedPrimaryNode-flag-right-af.patch,
> PutAndListSFTP.xml, docker-compose.yml
>
> Original Estimate: 72h
> Remaining Estimate: 72h
>
> AbstractListProcessor stops performing listing of entities when after
> reelection the same node becomes Primary.
> STEPS TO REPRODUCE:
> 0. Make sure that you have docker 18.03.0-ce
> 1. Download attached [^docker-compose.yml] and [^PutAndListSFTP.xml]
> 2. Run *_docker-compose up -d_* in the folder where you downloaded
> docker-compose.yml. This command will run 3 containers - Zookeeper, NiFi
> 1.6.0 in Cluster Mode with 1 node, SFTPs server
> 3. After NiFi is up and running (check http://localhost:8080/nifi) upload
> PutAndListSFTP.xml template and place it on NiFi canvas. It has simple logic
> - generate flow file each 10 seconds and put it on SFTP, in parallel
> ListSFTP processor "listens" for the new files and pushes data about them to
> NiFi log with LogAttribute processor
> 4. Update PutSFTP and ListSFTP processors with password admin (to check SFTP
> container use following credentials SFTP://admin:admin@localhost:2222)
> 5. Run the flow
> 6. Check the NiFi log (*_docker logs -f --tail 100 nifi_*) - you should see
> attributes for the uploaded files on SFTP
> 7. Check that generated each 10 seconds files appear on SFTP /upload folder
> 8. Run following command to restart Zookeeper to put NiFi in reelection
> state: *_docker restart zookeeper_*
> 9. After reelection phase finished check that new files appears on SFTP, but
> NO new files info appears in NiFi log
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)