[MCOL-820] support ability to override ExtentRows Created: 2017-07-20  Updated: 2021-01-17  Resolved: 2021-01-17

Status: Closed
Project: MariaDB ColumnStore
Component/s: N/A
Affects Version/s: 1.0.9
Fix Version/s: N/A

Type: New Feature Priority: Major
Reporter: David Thompson (Inactive) Assignee: Todd Stoffel (Inactive)
Resolution: Won't Do Votes: 1
Labels: None

Issue Links:
PartOf
is part of MCOL-4343 umbrella for tech debt issues Open

 Description   

ExtentRows (i.e. the number of rows per extent) is hardcoded to 8M in:

unsigned ExtentMap::getExtentRows()
{
//	boost::mutex::scoped_lock lk(fConfigCacheMutex);
//	checkReloadConfig( );
 
	ExtentRows = 0x800000;
	return ExtentRows;
}

The comments say that 1M and 64M are valid values but obviously the config code is commented out so its not configurable without recompiling. I tried changing the value to 0x100000 (1M) and recompiled. Creating a table failed with an extent error (forgot to save it). This suggest that this either never worked in infinidb (the code is this way in the first open source version) or had issues.

Assuming the system can scale to a larger extent map, it would seem that you could get better extent map elimination for many use cases with a smaller extent size.



 Comments   
Comment by Andrew Hutchings (Inactive) [ 2017-07-20 ]

There are several other places that also need changing as well since the code has been hard coded to always assume this figure. I forget exactly where now, but somewhere in the LBID calculations. The system should scale OK for this.

Comment by David Hall (Inactive) [ 2017-07-20 ]

I haven't looked, but the assumption was 8M for so long, I expect some programmers assumed that in their code. There may be some hidden places we won't find until deep into the feature. Just be prepared.

Generated at Thu Feb 08 02:24:04 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.