[MCOL-3419] Changing systemlang corrupts extentmap and system catalog Created: 2019-08-08  Updated: 2019-12-11  Resolved: 2019-12-11

Status: Closed
Project: MariaDB ColumnStore
Component/s: ?
Affects Version/s: 1.2.5
Fix Version/s: 1.2.6

Type: Task Priority: Major
Reporter: David Hall (Inactive) Assignee: Daniel Lee (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
blocks MCOL-3400 Substring text comparison is incorre... Closed
PartOf
includes MCOL-3420 Changing systemlang to an unrecognize... Closed
Sprint: 2019-06

 Description   

Start up a CS single server system. Shut it down. Change the systemlang to something viable, say ja_JP. Start the system back up. EM and system catalog will be unusable.



 Comments   
Comment by David Hall (Inactive) [ 2019-08-08 ]

Tested with 1.2.2. It did not break. Searching....

Comment by David Hall (Inactive) [ 2019-08-12 ]

It appears that the bug was introduced by MCOL-1559, which was merged after 1.2.5 was released, so no released version should have this problem.

For MCOL-1559 we added std::locale::global() to idb_setlocale() in utils_utf8.h. This is supposed to set the C++ locale, which is a different setting than the C locale set by setlocale(). For reasons not yet know, this is messing up something.

Comment by David Hall (Inactive) [ 2019-08-13 ]

Can't figure out why std::locale::global() breaks things. We can work without it.

Comment by David Hall (Inactive) [ 2019-12-10 ]

Found a fix without using std::locale::global().

Comment by Daniel Lee (Inactive) [ 2019-12-11 ]

Build verified: 1.2.6-1

[root@localhost ~]# cat gitversionInfo.txt
engine commit:
d4173ef

The "Affected version" is set to 1.2.5, so I tried to reproduce the issue in 1.2.5-1. I failed to reproduced after trying for couple hours. It turned out the issue was introduced after 1.2.5-1 was released. Anyway, I verified the issue did not happen in 1.2.6-1.

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