[MCOL-870] redistributeData seems possible after suspendDatabaseWrites Created: 2017-08-11  Updated: 2022-11-05  Resolved: 2022-11-05

Status: Closed
Project: MariaDB ColumnStore
Component/s: writeengine
Affects Version/s: 1.0.10
Fix Version/s: Icebox

Type: Task Priority: Major
Reporter: MG Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None


 Description   

This may be just cosmetic or actually safe design decision. I am unsure if the following flow would result in a clean copy of dbroots:

suspendDatabaseWrites
check for WRITE_SUSPEND
(another admin starts redistributeData)
lvm snapshot dbroots
resumeDatabaseWrites
copy data from snapshot

[root@mg-cstore ~]# mcsadmin suspendDatabaseWrites y
suspenddatabasewrites   Fri Aug 11 18:46:27 2017
 
This command suspends the DDL/DML writes to the MariaDB ColumnStore Database
 
Suspend Calpont Database Writes Request successfully completed
[root@mg-cstore ~]# mcsadmin getsysteminfo | awk '$1 = /WriteEngineServer/ {print $3}'
WRITE_SUSPEND
[root@mg-cstore ~]# mcsadmin redistributeData statusredistributedata   Fri Aug 11 18:46:43 2017
WriteEngineServer returned status 3: Redistribute is finished.
0 success, 0 skipped, 0 failed.
Total time: 0 seconds.
 
[root@mg-cstore ~]# mcsadmin redistributeData start
redistributedata   Fri Aug 11 18:46:51 2017
redistributeData START
Source dbroots: 1 2
Destination dbroots: 1 2
 
WriteEngineServer returned status 1: Cleared.
WriteEngineServer returned status 2: Redistribute is started.
[root@mg-cstore ~]# mcsadmin redistributeData status
redistributedata   Fri Aug 11 18:47:00 2017
WriteEngineServer returned status 3: Redistribute is finished.
0 success, 0 skipped, 0 failed.
Total time: 0 seconds.
 
[root@mg-cstore ~]# mcsadmin getsysteminfo | awk '$1 = /WriteEngineServer/ {print $3}'
WRITE_SUSPEND



 Comments   
Comment by David Thompson (Inactive) [ 2017-08-11 ]

It is documented and recommended to suspend writes before doing a redistribute. We decided it was better and more explicit to not have redistribute do this automatically.

I think in your case you are asking if one admin were to suspend writes in order to do a snapshot for a backup and another admin concurrently runs a redistribute? If so I think it's safe to say this would not be recommended. Redistribute writes the new data as a copy in it's new location before removing the old. In certain cases you may be safe but i think better to have coordination around this, especially redistribute.

Comment by Todd Stoffel (Inactive) [ 2022-11-05 ]

This item is being closed because it was well passed the expiration date with no activity. If you suspect this was done in error please create a new ticket.

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