Listening fixes and optimizations for subscription item labeling
|Assignee:||Tuukka Lehtonen||% Done:|
|Category:||-||Spent time:||10.00 hours|
|Release notes:||Performance optimization and listening fixes for subscription item labeling in Model Browser.|
|Tags:||perf, subscription, variable|
|Velocity based estimate||-|
|Release||Simantics 1.18.1||Release relationship||Auto|
I found out the hard way that at times when DB requests are recomputed as a result of a write transaction, the ReadGraph provided to the request for recomputation can be set to either synchronous or asynchronous mode without any determinism.
Some requests, if computed in asynchronous mode, result in appalling performance due to pending-result thrashing. In those cases the request code should make sure it sets the ReadGraph into the proper mode.
Added explicit ReadGraph.setSynchronous(true) statements to selected listened DB requests.
Otherwise pending result thrashing can cause appalling performance in request recomputation after writes.
Merged trunk@31212 to branches/simantics-1.18 on 2015-04-25 for 1.18.1 release.