[MCOL-312] utility to rebuild extent maps Created: 2016-09-23  Updated: 2023-10-26  Resolved: 2021-10-26

Status: Closed
Project: MariaDB ColumnStore
Component/s: None
Affects Version/s: 1.0.3
Fix Version/s: 6.2.1, 6.2.2

Type: New Feature Priority: Critical
Reporter: David Thompson (Inactive) Assignee: David Hall (Inactive)
Resolution: Done Votes: 2
Labels: Utility

Issue Links:
Relates
relates to MCOL-4566 rebuildEM utility must support compre... Closed
Epic Link: ColumnStore Utility Improvements
Sprint: 2021-2, 2021-10, 2021-11, 2021-12, 2021-13

 Description   

A utility should provide the means to rebuild the extent map data for a column from the data. This would be useful should there be bugs in this logic and would avoid the need for rebuilding the table from scratch.

The utility should check for and fail if writes are not suspended. It should provide options to rebuild extent maps for a single column and also for multiple (table, etc).



 Comments   
Comment by Roman [ 2020-10-11 ]

I believe we need to extend the task and create an utility to load data into a single column. This will be helpfull for backup/restore purposes.

Comment by Gregory Dorman (Inactive) [ 2021-02-05 ]

tntnatbry - Roman says that the utility already exists, except that it does not work for compressed data, and as such needs finishing. He will give you all the pointers needed.

Comment by David Hall (Inactive) [ 2021-08-05 ]

The current mcsRebuildEM says "Requirement: all DBRoots must be on this node". Not sure how to do this with a 3 node system. Probably need to look into that.

Comment by David Hall (Inactive) [ 2021-08-05 ]

It also has a line:
"Only internal DBRootStorageType is supported, provided: "
We need this to work on external and s3 files and for multi-node systems. It appears mutli-node is the most likely to need it.

Comment by David Hall (Inactive) [ 2021-08-05 ]

This utility should give us the ability to restore any system, regardless of number of nodes or type of backing file system, to:
1) restore from BRM_saves if possible.
2) rebuild from data sources if possible.
3) option to override (1) in favor of (2). Sometimes the BRM_saves that are available are out of date and data would be lost.

Data retention is more important than speed, so if we need to chug for a bit to accomplish this, so be it.

Comment by David Hall (Inactive) [ 2021-08-05 ]

This effort should also contain either a separate utility, or as part of the same process, the ability to rebuild the calponsystemcatalog from the .frm files and the data file/extent map. While there are plans to modify the way systemcatalog operates, we need to get this now.

The code should be modular enough (or whatever) to handle serious changes in the extent map and system catalog formats and storage. Future plans include such.

Comment by Gregory Dorman (Inactive) [ 2021-10-26 ]

After 4566 was done, this utility is now as complete as it should be.

Let's doc it.

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