Commit e3868088 authored by mronstrom@mysql.com's avatar mronstrom@mysql.com

Fix for allowing large transactions with less memory impact.

Currently one needs 636*1.6*2*noOfReplicas + 184 bytes per record
which amounts to about 4200 bytes per record. The 2 is a bug which
is fixed here as well, noOfReplicas is removed, it was there for
concurrent transactions but it is better to focus on supporting one
large transaction in the cluster. Also decreasing the safety factor
from 1.6 to 1.1.

Also removing unused parameters.
parent 39e63640
...@@ -510,7 +510,7 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){ ...@@ -510,7 +510,7 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){
// The remainder are allowed for use by the scan processes. // The remainder are allowed for use by the scan processes.
/*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/
cfg.put(CFG_ACC_OP_RECS, cfg.put(CFG_ACC_OP_RECS,
noOfReplicas*((16 * noOfOperations) / 10 + 50) + ((11 * noOfOperations) / 10 + 50) +
(noOfLocalScanRecords * MAX_PARALLEL_SCANS_PER_FRAG) + (noOfLocalScanRecords * MAX_PARALLEL_SCANS_PER_FRAG) +
NODE_RECOVERY_SCAN_OP_RECORDS); NODE_RECOVERY_SCAN_OP_RECORDS);
...@@ -536,17 +536,8 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){ ...@@ -536,17 +536,8 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){
cfg.put(CFG_DICT_ATTRIBUTE, cfg.put(CFG_DICT_ATTRIBUTE,
noOfAttributes); noOfAttributes);
cfg.put(CFG_DICT_CONNECT,
noOfOperations + 32);
cfg.put(CFG_DICT_FRAG_CONNECT,
NO_OF_FRAG_PER_NODE * noOfDBNodes * noOfReplicas);
cfg.put(CFG_DICT_TABLE, cfg.put(CFG_DICT_TABLE,
noOfTables); noOfTables);
cfg.put(CFG_DICT_TC_CONNECT,
2* noOfOperations);
} }
{ {
...@@ -587,17 +578,11 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){ ...@@ -587,17 +578,11 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){
cfg.put(CFG_LQH_FRAG, cfg.put(CFG_LQH_FRAG,
NO_OF_FRAG_PER_NODE * noOfTables * noOfReplicas); NO_OF_FRAG_PER_NODE * noOfTables * noOfReplicas);
cfg.put(CFG_LQH_CONNECT,
noOfReplicas*((11 * noOfOperations) / 10 + 50));
cfg.put(CFG_LQH_TABLE, cfg.put(CFG_LQH_TABLE,
noOfTables); noOfTables);
cfg.put(CFG_LQH_TC_CONNECT, cfg.put(CFG_LQH_TC_CONNECT,
noOfReplicas*((16 * noOfOperations) / 10 + 50)); (11 * noOfOperations) / 10 + 50);
cfg.put(CFG_LQH_REPLICAS,
noOfReplicas);
cfg.put(CFG_LQH_SCAN, cfg.put(CFG_LQH_SCAN,
noOfLocalScanRecords); noOfLocalScanRecords);
...@@ -611,7 +596,7 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){ ...@@ -611,7 +596,7 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){
3 * noOfTransactions); 3 * noOfTransactions);
cfg.put(CFG_TC_TC_CONNECT, cfg.put(CFG_TC_TC_CONNECT,
noOfOperations + 16 + noOfTransactions); (2 * noOfOperations) + 16 + noOfTransactions);
cfg.put(CFG_TC_TABLE, cfg.put(CFG_TC_TABLE,
noOfTables); noOfTables);
...@@ -631,7 +616,7 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){ ...@@ -631,7 +616,7 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){
2 * NO_OF_FRAG_PER_NODE * noOfTables* noOfReplicas); 2 * NO_OF_FRAG_PER_NODE * noOfTables* noOfReplicas);
cfg.put(CFG_TUP_OP_RECS, cfg.put(CFG_TUP_OP_RECS,
noOfReplicas*((16 * noOfOperations) / 10 + 50)); (11 * noOfOperations) / 10 + 50);
cfg.put(CFG_TUP_PAGE, cfg.put(CFG_TUP_PAGE,
noOfDataPages); noOfDataPages);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment