Details for this subtask will be added later.
This is likely to require a number of fixes, that should be broken down into stages. Until this is achieved, then all queries that change cluster will be run on the sequential engine.
The problem stems from the member function queryClusterName() belonging to the workunit.
The cluster name is modified at runtime, corresponding to each item that is run on a different cluster. If items run in parallel, this value will get overwritten and be incorrect. Instead of the clustername being accessed from the workunit, it should get passed as a parameter to the necessary functions.
These functions can be found by searching for calls to queryClusterName() and calls to getClusterName, which is declared in ICodeContext in eclhelper.hpp