Query binding async exeuction

Hello, I am looking for some clarification regarding how query bindings are handled.

My current understanding is that when you bind a named query to a component property, the query is ran on a different thread that's not the EDT. Then, when the query is finished executing, the results are applied to the necessary component via the EDT. However, I have scenarios where query bindings can make the UI freeze, mostly on window startup. Is this because the queries are all returning their results at the same time and the EDT gets overloaded when applying all of the changes to the UI? Or is there any sort of blocking that can occur with query bindings?

Thank you in advance!

Possibly.

I'm assuming this is Vision, since you mentioned the EDT explicitly.
Query bindings themselves do run on a background thread, but by definition anything they do in the UI has to run on the EDT - so if you run a query that returns 10,000 rows that will be displayed in a table, Swing has to (to a certain extent) do a thing 10,000 times.

If the EDT is blocked for long enough (and you're on a modern version) you should get an automatic thread dump - you could upload those here or give them to support for analysis to see if there's a "smoking gun".

Note also that all scripting in Vision automatically happens on the EDT for thread safety - this is a common source of hung EDT threads.

Also doing silly things in runScript functions I have found given me EDT freeze events.

Check your logger for edt-watchdog I believe is the name and it will tell you were the file dump is, bring it here or honestly LLM's are decent at interpreting it.