Support Questions

Find answers, ask questions, and share your expertise

FetchFile not forwarding new fetched files but only files received in previous flow.

avatar
New Contributor
Attached is the workflow we are trying.
 
we have 3 files in the source directory.
- req.json
- a.csv
- b.csv
 
1. ListFile processor -> To get list of all the files in the source directory.
2. RouteOnAttribute -> Route req.json fle to left. a.csv and b.csv to right.
3. Notify -> when the req.json is received. notify it.
4. Wait -> waiting for req.json availabilty.
5. FetchFile -> on success of Wait, Fetch File a.csv.
6. PutFile -> write file req.json and a.csv to the target directory.
 
Now, the problem here is - FetchFile is forwarding only req.json and not a.csv. How can we resolve this? We want to write both the json and csv files in the target directory but only when the json file is available to us.
workflow_poc.png
1 REPLY 1

avatar
Super Guru

@jainN   Great looking flow.   The modification you need is to simply remove json route which is combined with csv.  Connect json route from Notify to FetchFile.   You may need to adjust the wait/notify so that csv is released when you want.   The wait/notify is often trickey, so i would recommend working with wait/notify until you understand their behavior.  Here is a good article:

 

https://community.cloudera.com/t5/Community-Articles/Trigger-based-Serial-Data-processing-in-NiFi-us...

 

You may find other articles/posts here if you do some deeper research on Wait/Notify.

 

 

 

If this answer resolves your issue or allows you to move forward, please choose to ACCEPT this solution and close this topic. If you have further dialogue on this topic please comment here or feel free to private message me. If you have new questions related to your Use Case please create separate topic and feel free to tag me in your post.

 

Thanks,

Steven