https://bz.apache.org/bugzilla/show_bug.cgi?id=60687
--- Comment #16 from Vladimir Sitnikov <sitnikov.vladi...@gmail.com> --- Felix> Could you be a bit more specific here? For instance, 1) Things like "model.insertRow" do require to be executed on the AWT thread. I'm not sure how hard it could break, however accessing UI thread on the hot path is bad. 2) Table rendering code (that is run on the UI thread) accesses computed values without any synchronization. This might result in word tearing, stale values, unexpected division by zero, etc. Felix> Right. Get swing out of the path and be happy. This kind of change would likely to heal 1 above, however it might look like a "complete rewrite of the relevant listener code". Even if we move swing calls out of hot path, we would still need some fast way to aggregate values. For instance, "Total" row could be computed "on UI refresh" to avoid global synchronization of all the threads. >From one point of view this might look like a over engineering, on the other hand, that might be reused for "non-gui console mode" listeners. -- You are receiving this mail because: You are the assignee for the bug.