Member since
07-30-2019
3473
Posts
1642
Kudos Received
1021
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 280 | 06-15-2026 08:08 AM | |
| 481 | 06-03-2026 06:06 PM | |
| 717 | 05-06-2026 09:16 AM | |
| 1660 | 05-04-2026 05:20 AM | |
| 815 | 05-01-2026 10:15 AM |
02-13-2025
07:52 AM
@hus So what i am understanding is you do not want to overwrite the existing file, but rather update an existing file. Is my understanding correct? Can you share more detail or example of what you are trying to accomplish? Are you looking for a way to search the content of an existing file for a specific string and the replace that string with a new string? NiFi processors are designed to perform work against FlowFiles contained within NiFi, but there are processors that can be triggered by a FlowFile that can run a script against files outside of NiFi. You could also ingest the file, modify its content and the write out the newly modified file. Please help our community thrive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped. Thank you, Matt
... View more
02-13-2025
06:26 AM
@mks27 What you are trying to do above is not possible in Apache NiFi. Apache NiFi only supports defining one login identity provider nifi.security.user.login.identity.provider It does not support a comma separated list of multiple login providers, so what is happening is NiFi is expecting to find a login provider in the "login-identity-providers.xml" file with: <identifier>ldap-provider-1, ldap-provider-2</identifier> which does not exist and thus the error you are seeing. Please help our community thrive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped. Thank you, Matt
... View more
02-13-2025
06:18 AM
@hus The PutFile processor has a conflict resolution option of "replace". When used and a file of the same filename already exists in target directory, it will be replaced with the file being written by putFile processor. Please help our community thrive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped. Thank you, Matt
... View more
02-13-2025
06:14 AM
@mridul_tripathi The best way to check if two files have the exact same content is to generate a hash of the content and then compare that those two hashes to see if they are the same. While comparing hash values allows you to detect if the content is the same between NiFi FlowFiles, it sounds like you want to determine what is different and not just that they are different? NiFi does not have a processor that is designed to do this function. So what is the full use case here? SFTP1 is source of truth always expected to have correct content? SFTP2 is the backup or expected to have content that matches SFTP1? Example use case: You could pull a file from SFTP2 (File to be verified), create a FlowFile attribute containing the hash of this file (Hash-SFTP2), then zero out the content (Modify bytes), then pass this FlowFile to a FetchSFTP (used to fetch file of same filename from SFTP 1), create another FlowFile attribute (hash-sftp1), Now you can use a RouteOnAttribute that compares the two hash attributes to see if they are the equal. If false, route the FlowFile to PutSFTP to overwrite the file on SFTP2 withe FlowFiles current content from SFTP1 so that both SFTP server now have matching content for this filename. Now if your use case is to somehow output a FlowFile containing all the difference in the content, that is more challenging and would likely require something custom (custom processor or some custom script) Please help our community thrive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped. Thank you, Matt
... View more
02-12-2025
10:34 AM
@fy-test The NiFi node that disconnects due to a flow mismatch should inherit the cluster flow when it attempts to rejoin the cluster. The only time this is not possible is if the cluster flow includes change that would result in dataloss. Example: Cluster flow has a connection removed that on the connecting node still has queued FlowFiles. NiFi has not feature to force removal/archive of a flow.json.gz on a disconnected node. You could file an Apache NiFi improvement jira here: https://issues.apache.org/jira/projects/NIFI But first step is to identify why your node is not able to inherit cluster flow and rejoin the cluster. What is the exception logged when it attempts to rejoin the cluster? Please help our community thrive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped. Thank you, Matt
... View more
02-12-2025
10:24 AM
@Darryl The ListenUDP processor will listen on a specific port and can be configured to listen on a specific network interface on the NiFi host. The question is what network interface on the NiFi host is assigned and address associated with your multicast 224.1.1.1 ip address? You can't bind any NiFi processor to a specific IP address. NiFi supports multi-node clusters where every node runs the exact same dataflows. Lets assume your multicast group is sending datagrams to port 10000 on the eth3 network interface on your NiFi host, then you would configure the listenUDP to create a listener using port 10000 for eth3. The Site to Site properties from the nifi.properties have absolutely nothing to do with any processor components you add to the NiFi UI. Site-to-Site (S2S) NiFi protocol is used for the transfer of NiFi FlowFiles between NiFi nodes. This S2S protocol is utilized by Remote Process Groups and Load Balanced connections capability only. You'll want to unset 10000 in the S2S settings since you want your listenUDP processor to bind to that port number. You'll also want to unset 224.1.1.1 as the S2S input host. S2S can't bind to host that does not resolve to one of the NiFi network interfaces. S2S reference documentation: Site-to-Site Site to Site Properties Please help our community grow and grow. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped. Thank you, Matt
... View more
02-11-2025
09:34 AM
1 Kudo
@nifi-srinikr The exception you shared is complaining about a null value for the "flowConfigurationFile": Caused by: java.lang.NullPointerException: Cannot invoke "java.io.File.exists()" because "flowConfigurationFile" is null On NiFi startup NiFi will check if the flow configuration file that NiFi is configured to use exists. If it does not, NiFi will create it. In your case it appears this property is null and this the if exists check is failing. The configuration file location and filename is specified by this property in the nifi.properties file: nifi.flow.configuration.file=<path to>/flow.xml.gz (Apache NiFi 1.x releases) or nifi.flow.configuration.file=<path to>/flow.json.gz (Apache NiFi 2.x releases) What version of Apache NiFi are you using? Please help our community grow and trhive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped. Thank you, Matt
... View more
02-07-2025
12:09 PM
@Darryl You will certainly have issues using localhost even outside docker with a multi-node NiFi cluster since only the NiFi node installed in the same server as Keycloak would have any chance of connecting with Keycloak. Understand that a NiFi cluster can bae accessed form any node in the NiFi cluster. So first thing i would have suggested is using the hostname of the actual server that is hosting Keycloak rather then localhost. I am not familiar with Keycloak myself and the article you reference (while i know the author) is very old. A lot has likely evolved/changes with regards to security since it was written. Glad to hear you had some success even if it was outside of Docker and thank you with sharing what you learned with the community. Matt
... View more
02-07-2025
05:48 AM
@Darryl Please start a new community question around your new keycloak integration issues with NiFi. Thank you, Matt
... View more
02-06-2025
10:06 AM
hello @Darryl the ldap exception shared indicates your ldap does not support anonymous access and expects authentication: Caused by: javax.naming.NoPermissionException: [LDAP: error code 50 - No user currently bound]
2025-02-05 09:20:33 at java.naming/com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3268) using the "SIMPLE" strategy would use the manager DN and Manager password to connect to the ldap. "LDAPS" strategy would still require manager DN and Manager password, but would also require TLS properties configured (truststore only if one one may TLS is required by your ldap or both keystore and truststore if mutual TLS exchange is required by your ldap). LDAPS strategy requires using the ldaps://<url>:<ldaps port>. "START_TLS" is rarely used, but has same requirements as LDAPS strategy; however, connection is initially made insecure and later redirected to secure connection url. https://nifi.apache.org/nifi-docs/administration-guide.html#ldapusergroupprovider Also: Your user search base configuration is till not valid, but that is not related to your ldap connection exception. Please help our community grow and thrive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped. Thank you, Matt
... View more