Skip to content

vtkSpreadSheetView: Synchronize block names and ensure cache is not empty

vtkSpreadSheetView that uses vtkSortedTableStreamer now makes sure that all processes have the same block names field data array so that the indices can be synchronized, and when the tables are merged, the indices are still valid.

vtkSpreadSheetView::Update() adds a block to the cache if none exists. This is needed to ensure that if a progress event is attempted to be handled, because of a WrongTagEvent during another Receive call message from the client's controller in any view that is present, the progress can query some block from the cache instead of trying to fetch it from the server which will result in a deadlock. After finishing the Update(), a StillRender/InteractiveRender will be called which will ensure that the cache is cleared and the correct block is fetched from the server.

The MR resolves #22294 (closed), #21849 (closed).

Backport: release

Edited by Spiros Tsalikis

Merge request reports