-
Type:
Improvement
-
Status: Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: Later
-
Fix Version/s: 7.0.0
-
Component/s: Documentation
-
Labels:
-
Pull Request URL:
"Using Configuration Manager" states the options for ROXIE configuration - simple, overloaded, cyclic-redundancy, and full-redundancy however, does not document how they differ or what they are.
e.g. their relation to the total number of channels to the option channelsPerNode in which the following code from roxie/ccd/ccdmain.cpp details
// Generate the slave channels unsigned numDataCopies = topology->getPropInt("@numDataCopies", 1); if (!numDataCopies) throw MakeStringException(MSGAUD_operator, ROXIE_INVALID_TOPOLOGY, "Invalid topology file - numDataCopies should be > 0"); unsigned channelsPerNode = topology->getPropInt("@channelsPerNode", 1); unsigned numNodes = getNumNodes(); const char *slaveConfig = topology->queryProp("@slaveConfig"); if (!slaveConfig) slaveConfig = "simple"; if (strnicmp(slaveConfig, "cyclic", 6) == 0) { numChannels = numNodes; unsigned cyclicOffset = topology->getPropInt("@cyclicOffset", 1); for (unsigned i=0; i<numNodes; i++) { // Note this code is a little confusing - easy to get the cyclic offset backwards // cyclic offset means node n+offset has copy 2 for channel n, so node n has copy 2 for channel n-offset int channel = (int)i+1; for (unsigned copy=0; copy<numDataCopies; copy++) { if (channel < 1) channel = channel + numNodes; addChannel(i, channel, copy); channel -= cyclicOffset; } } } else if (strnicmp(slaveConfig, "overloaded", 10) == 0) { if (!channelsPerNode) throw MakeStringException(MSGAUD_operator, ROXIE_INVALID_TOPOLOGY, "Invalid topology file - channelsPerNode should be > 0"); numChannels = numNodes * channelsPerNode; for (unsigned i=0; i<numNodes; i++) { int channel = (int)(i+1); for (unsigned copy=0; copy<channelsPerNode; copy++) { addChannel(i, channel, copy); channel += numNodes; } } } else // 'Full redundancy' or 'simple' mode { if (numNodes % numDataCopies) throw MakeStringException(MSGAUD_operator, ROXIE_INVALID_TOPOLOGY, "Invalid topology file - numChannels not an integer"); numChannels = numNodes / numDataCopies; int channel = 1; for (unsigned i=0; i<numNodes; i++) { addChannel(i, channel, 0); channel++; if ((unsigned)channel > numChannels) channel = 1; } }
- relates to
-
HPCC-14374 Collate information scattered across multiple HD/installation manuals.
-
- Resolved
-