mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
First step for WL 2025
Not yet fully working Scan reads work fine, not scan updates ndb/include/kernel/ndb_limits.h: Introducing a new parameter plus increasing the max no of parallel operations per scan in LQH, first step in WL 2025 ndb/include/kernel/signaldata/ScanFrag.hpp: Only need one clientOpPtr Concurrency is batch_size to use in this scan batch_byte_size is max no of bytes sent in a batch first_batch_size is the batch size in the first batch ndb/include/kernel/signaldata/ScanTab.hpp: apiOperationPtr is sent as long signal data batch_byte_size and first_batch_size is needed for further transport to LQH batch size can now be bigger than before ndb/include/kernel/signaldata/TcKeyReq.hpp: More concurrency means more size for scanInfo also in TCKEYREQ ndb/include/ndbapi/NdbReceiver.hpp: New subroutine to caclculate batch size and similar parameters ndb/include/ndbapi/NdbScanOperation.hpp: batch size calculated before sending, not necessary to store anymore ndb/src/common/debugger/signaldata/ScanTab.cpp: Updated signal printer for SCAN_TABREQ ndb/src/kernel/blocks/backup/Backup.cpp: Fixes to make it compile, not fixed for BACKUP being useful yet ndb/src/kernel/blocks/dblqh/Dblqh.hpp: Removed parameters no longer needed and added some new ones. ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Fix for cmaxAccOps that was using the wrong constant Removed old code New SCAN_FRAGREQ signal ndb/src/kernel/blocks/dbtc/Dbtc.hpp: New variables Removed dead code ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: New SCAN_TABREQ, SCAN_FRAGREQ, SCAN_FRAGCONF and SCAN_TABCONF Fixed some error handling to be more efficient ndb/src/kernel/blocks/suma/Suma.cpp: Fixes to make it compile, not yet usable for SUMA features ndb/src/kernel/vm/Configuration.cpp: Fix for wrong constant ndb/src/ndbapi/NdbApiSignal.cpp: Fix for not using constants ndb/src/ndbapi/NdbApiSignal.hpp: Added possibility to get signal sending node from signal ndb/src/ndbapi/NdbConnectionScan.cpp: Moved declaration ndb/src/ndbapi/NdbReceiver.cpp: New routine to calculate batch_size etc. ndb/src/ndbapi/NdbScanOperation.cpp: Various fixes for sending SCAN_TABREQ and other stuff
This commit is contained in:
@ -68,7 +68,22 @@
|
||||
* API can order a multiple of this number of records at a time since
|
||||
* fragments can be scanned in parallel.
|
||||
*/
|
||||
#define MAX_PARALLEL_OP_PER_SCAN 16
|
||||
#define MAX_PARALLEL_OP_PER_SCAN 64
|
||||
/*
|
||||
* When calculating the number of records sent from LQH in each batch
|
||||
* one uses SCAN_BATCH_SIZE divided by the expected size of signals
|
||||
* per row. This gives the batch size used for the scan. The NDB API
|
||||
* will receive one batch from each node at a time so there has to be
|
||||
* some care taken also so that the NDB API is not overloaded with
|
||||
* signals.
|
||||
*/
|
||||
#define SCAN_BATCH_SIZE 32768
|
||||
/*
|
||||
* To protect the NDB API from overload we also define a maximum total
|
||||
* batch size from all nodes. This parameter should most likely be
|
||||
* configurable, or dependent on sendBufferSize.
|
||||
*/
|
||||
#define MAX_SCAN_BATCH_SIZE 196608
|
||||
/*
|
||||
* Maximum number of Parallel Scan queries on one hash index fragment
|
||||
*/
|
||||
|
Reference in New Issue
Block a user