[MCOL-2094] Assign DBRoot command failed - setFilesPerColumnPartition Failed Created: 2019-01-18  Updated: 2023-10-26  Resolved: 2020-04-15

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

Type: Task Priority: Major
Reporter: David Hill (Inactive) Assignee: Unassigned
Resolution: Won't Do Votes: 1
Labels: None
Environment:

2um 3pm 1 dbroot per pm external SAN



 Description   

Customer has a system with 3 pms using 1 dbroot per with external storage. They wanted to add 3 more dbroots making 2 dbroot per pm.

They got this error:

root@usiadmdmaxp01:~# mcsadmin assignDbrootPmConfig 4 pm1
assigndbrootpmconfig Thu Jan 17 15:41:44 2019

DBRoot IDs assigned to 'pm1' = 1

Changes being applied

DBRoot IDs assigned to 'pm1' = 1, 4

ERROR: old FilesPerColumnPartition not a multiple of DBRootCount

        • setFilesPerColumnPartition Failed
        • Failed Assign of DBRoots: API Failure return in assignPmDbrootConfig API

I believe the error is coming from this check in the oam api setFilesPerColumnPartition

if ( oldFilesPerColumnPartition != oldSystemDBRootCount *
(oldFilesPerColumnPartition / oldSystemDBRootCount) )

I think you arent allowed to change this setting of FilesPerColumnPartition to something that isnt a equal to a multiple of the original setting.

This just might need to be documented. But maybe it could require a code change to allow.



 Comments   
Comment by David Hill (Inactive) [ 2019-01-18 ]

reproduce issue inhouse

mcsadmin> getst
getstorageconfig Fri Jan 18 15:32:24 2019

System Storage Configuration

Performance Module (DBRoot) Storage Type = external
System Assigned DBRoot Count = 3
DBRoot IDs assigned to 'pm1' = 1
DBRoot IDs assigned to 'pm2' = 2
DBRoot IDs assigned to 'pm3' = 3

mcsadmin> adddbroot 3
adddbroot Fri Jan 18 15:32:44 2019

New DBRoot IDs added = 4, 5, 6

mcsadmin> assign 4 pm1
assigndbrootpmconfig Fri Jan 18 15:32:54 2019

        • assignDbrootPmConfig Failed: pm1 needs to be MAN_OFFLINE.
          mcsadmin> stopsystem
          stopsystem Fri Jan 18 15:32:58 2019

This command stops the processing of applications on all Modules within the MariaDB ColumnStore System

Checking for active transactions
Do you want to proceed: (y or n) [n]: y

System being stopped now...
Successful stop of System

mcsadmin> assign 4 pm1
assigndbrootpmconfig Fri Jan 18 15:33:40 2019

DBRoot IDs assigned to 'pm1' = 1

Changes being applied

DBRoot IDs assigned to 'pm1' = 1, 4

ERROR: old FilesPerColumnPartition not a multiple of DBRootCount

        • setFilesPerColumnPartition Failed
        • Failed Assign of DBRoots: API Failure return in assignPmDbrootConfig API
Comment by David Hill (Inactive) [ 2019-01-18 ]

the error that was reported turns out to be just a warning. It still did the assign. DOnt know if that is good or bad..

From that, I continued to do the assign of the other 2 dbroots successfully and brought the system up.

mcsadmin> assign 5 pm2
assigndbrootpmconfig Fri Jan 18 15:35:11 2019

DBRoot IDs assigned to 'pm2' = 2

Changes being applied

DBRoot IDs assigned to 'pm2' = 2, 5

Successfully Assigned DBRoots

mcsadmin> assign 6 pm3
assigndbrootpmconfig Fri Jan 18 15:35:21 2019

DBRoot IDs assigned to 'pm3' = 3

Changes being applied

DBRoot IDs assigned to 'pm3' = 3, 6

Successfully Assigned DBRoots

mcsadmin> getstorage
getstorageconfig Fri Jan 18 15:35:29 2019

System Storage Configuration

Performance Module (DBRoot) Storage Type = external
System Assigned DBRoot Count = 6
DBRoot IDs assigned to 'pm1' = 1, 4
DBRoot IDs assigned to 'pm2' = 2, 5
DBRoot IDs assigned to 'pm3' = 3, 6

[root@ip-172-31-33-150 bin]# ma starts
startsystem Fri Jan 18 15:47:37 2019

startSystem command, 'columnstore' service is down, sending command to
start the 'columnstore' service on all modules

System being started, please wait............
Successful start of System

Comment by David Hill (Inactive) [ 2019-01-18 ]

after adding the 3 new dbroots, this is the setting for FilesPerColumnPartition

<FilesPerColumnPartition>12</FilesPerColumnPartition> <!-- should be multiple of DBRootCount -->

It was 4 at install and 12 with 3 dbroots

So the valued stayed the same between 3 and 6, which is good..

Comment by David Hill (Inactive) [ 2019-01-21 ]

This code is no longer needed and should be removed

if ( oldFilesPerColumnPartition != oldSystemDBRootCount *
(oldFilesPerColumnPartition / oldSystemDBRootCount) )

Comment by Todd Stoffel (Inactive) [ 2020-04-15 ]

OAM is being deprecated and replaced by an enhanced API and the MaxScale orchestration project.

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