Skip to content

Fix race conditions from PVLogger

Different threads (ds, rs) tried to access the verbosity key-value map from vtkPVLogger causing a race condition. These commits introduce per-module, thread-local log verbosity variables like we did with ServicesAsio module.

In order to show logs from a module, the verbosity can be

  1. pre-loaded from the user environment (applies to all threads)
export VTKREMOTINGSERVERMANAGERCORE_LOG_VERBOSITY=value (nix)
$env:VTKREMOTINGSERVERMANAGERCORE_LOG_VERBOSITY=value (windows ps)
  1. set programmatically (applies to current thread)
vtkRemotingServerManagerCoreLogVerbosity::SetVerbosity(vtkLogger::INFO)
  1. set from a debugger (applies to current thread)
(gdb) call vtkRemotingServerManagerCoreLogVerbosity::SetVerbosity(vtkLogger::INFO)

Some modules declare additional keys to aid debugging and development.

  1. ServerManagerCore provides a RemotingServerManagerCoreDataMovementVerbosity used to track the movement of geometry and images.
  2. ServicesCore provides a ServicesCoreProviderVerbosity used by concrete implementations of vtkProvider.
Edited by Jaswant Panchumarti (Kitware)

Merge request reports