-
Ole John Aske authored
If datanodes are only partially connected to the API nodes, a particular SPJ node might get its request via a TC on another node, without (yet) being connected to the API node itself. The NodeInfo for the requesting API node will then not have any valid info about the API nodes 'm_version', which then is reported as '0'. This caused DbSpj::abort() to incorrectly assume that the API node is of version <= 7.2.5, which require a backward compatability mode to be used during query abort. That involved sending a 'nodeFailure' error instead of the real error as abort reason. This patch assume that if m_version is not yet available, the API node is of a more recent version that 7.2.4. There are hardly any customers (none?) left on older versions, so this should be a rather safe assumption. In addition to the testcase, this patch extends the HugoQuery framework such that the NdbError causing a failure can be get'ed. It also fixes a potential issue where the Node_info::m_connected member was not initialized by the Node_info constructor.
Ole John Aske authoredIf datanodes are only partially connected to the API nodes, a particular SPJ node might get its request via a TC on another node, without (yet) being connected to the API node itself. The NodeInfo for the requesting API node will then not have any valid info about the API nodes 'm_version', which then is reported as '0'. This caused DbSpj::abort() to incorrectly assume that the API node is of version <= 7.2.5, which require a backward compatability mode to be used during query abort. That involved sending a 'nodeFailure' error instead of the real error as abort reason. This patch assume that if m_version is not yet available, the API node is of a more recent version that 7.2.4. There are hardly any customers (none?) left on older versions, so this should be a rather safe assumption. In addition to the testcase, this patch extends the HugoQuery framework such that the NdbError causing a failure can be get'ed. It also fixes a potential issue where the Node_info::m_connected member was not initialized by the Node_info constructor.
Loading