Commit fee822e4 authored by unknown's avatar unknown
Browse files

bug#7864 - fix ndb limit 4.5G data memory due to truncation error


ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
  remove 8k->32k conversion
ndb/src/kernel/vm/Configuration.cpp:
  compute size in 32k pages directly
parent e8e48614
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -633,13 +633,10 @@ void Dbtup::execREAD_CONFIG_REQ(Signal* signal)

  ndbrequire(!ndb_mgm_get_int_parameter(p, CFG_TUP_OP_RECS, &cnoOfOprec));
  
  // MemorySpaceTuples is specified in 8k pages, divide by 4 for 32k pages
  Uint32 tmp;
  ndbrequire(!ndb_mgm_get_int_parameter(p, CFG_TUP_PAGE, &tmp));
  Uint64 pages = (tmp * 2048 + (ZWORDS_ON_PAGE - 1))/ (Uint64)ZWORDS_ON_PAGE;
  cnoOfPage = (Uint32)pages;
  ndbrequire(!ndb_mgm_get_int_parameter(p, CFG_TUP_PAGE, &cnoOfPage));
  Uint32 noOfTriggers= 0;
  
  Uint32 tmp= 0;
  ndbrequire(!ndb_mgm_get_int_parameter(p, CFG_TUP_PAGE_RANGE, &tmp));
  initPageRangeSize(tmp);
  ndbrequire(!ndb_mgm_get_int_parameter(p, CFG_TUP_TABLE, &cnoOfTablerec));
+1 −1
Original line number Diff line number Diff line
@@ -521,7 +521,7 @@ Configuration::calcSizeAlt(ConfigValues * ownConfig){
    ERROR_SET(fatal, ERR_INVALID_CONFIG, msg, buf);
  }

  noOfDataPages = (dataMem / 8192);
  noOfDataPages = (dataMem / 32768);
  noOfIndexPages = (indexMem / 8192);

  for(unsigned j = 0; j<LogLevel::LOGLEVEL_CATEGORIES; j++){