Have you tried refreshing the tag provider to make sure the folder is actually empty? I just ran a test in 8.1.9 and it worked as expected for me (empty folder and returned false when I checked for a non-existent tag in the empty folder).
Edit: Just wanted to note that the provider I tested against does not use MQTT.
I think this might be a bug that is specific to the MQTT modules.
I thought maybe it affected any ManagedTagProvider implementation but I just tested against the provider from the SDK example and it works as expected.
I’d contact Cirrus Link or maybe paging @wes0johnson will work
This is not something I’ve seen before. I’m not sure how the MQTT Engine module could be causing this other than maybe with the way we configure the ManagedTagProvider. I believe some of the config options we use are different from the SDK example. I’ll take a look and see if I can repro this and isolate the cause.
Is this not something that is handled by the ManagedTagProvider itself? I just glanced at the SDK example and it doesn’t do anything explicitly around this that I can see…
The reason is that MQTT Engine does not persist tags. But, it does still persist the tag configuration. So, I think ‘tagExists’ looks to see if it is in the DB tag table - which does not necessarily mean it is visible in Designer. With this, I suspect the tag you are trying to look up did exist at one point and was never deleted from the Ignition Tag DB (via a delete event or similar). But, Engine has since been restarted which is why it is not visible in Designer.
I believe that if you delete that tag from the DB, tagExists will properly return false.