Bug #44301 | Got error 741 'Unsupported alter table' from NDB | ||
---|---|---|---|
Submitted: | 15 Apr 2009 17:14 | Modified: | 10 Aug 2009 12:35 |
Reporter: | Matthew Bilek | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S2 (Serious) |
Version: | mysql-5.1-telco-7.0 | OS: | Linux |
Assigned to: | Jonas Oreland | CPU Architecture: | Any |
Tags: | mysql-5.1-telco-7.0.4 |
[15 Apr 2009 17:14]
Matthew Bilek
[16 Apr 2009 9:38]
Jonas Oreland
a question: do you either: - add one datanode, create node group; alter table reorganize; - add another datanode; create node group; alter table reorganize; or - add one datanode; create node group add another datanode; create node group alter table reorganize /Jonas
[16 Apr 2009 13:53]
Matthew Bilek
I performed the first one listed: - add one datanode, create node group; alter table reorganize; Example: Update configuration file: /var/lib/mysql-cluster/config.ini Shutdown: ndb_mgm>shutdown Start: shell>/usr/local/mysql/libexec/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --reload shell>/usr/local/mysql/bin/ndb_mgm Start of the existing data nodes: shell>/usr/local/mysql/libexec/ndbd Waited until the management client reports Node X: Started for all existing data nodes. Perform a rolling restart of cluster API node: shell>/usr/local/mysql/bin/mysqladmin -u root -p shutdown shell>/usr/local/mysql/bin/mysqld_safe --user=mysql --ndbcluster & Perform an initial start of the new data node: shell>/usr/local/mysql/libexec/ndbd --initial Waited until the management client reports Node X: Started for all new data nodes. Create a new node groups: ndb_mgm>create nodegroup 4 Nodegroup 2 created Redistribute cluster data: ndb_mgm>ALL REPORT MEMORY shell>/usr/local/mysql/bin/ndb_desc -c <hostname|IP> -d <schema> <table name> -p mysql>ALTER ONLINE TABLE <table name> REORGANIZE PARTITION; mysql>SHOW WARNINGS; +-------+------+--------------------------------------------------+ | Level | Code | Message | +-------+------+--------------------------------------------------+ | Error | 1296 | Got error 741 'Unsupported alter table' from NDB | +-------+------+--------------------------------------------------+
[23 Apr 2009 13:07]
Jonathan Miller
Workarounds is either 2 replicas with adding 2 DN at a time, or doing off-line add node.
[6 Aug 2009 13:53]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/80282 2963 Jonas Oreland 2009-08-06 ndb - bug#44301 ALTER TABLE REORGANIZE PARTITION - could fail if with 741 unsupported alter table if appropriate hash-map was not present This could be due to e.g adding going from 4 to 6 nodes (2 replica) or from 2 to 3 nodes (1-replica) or lots of other cases... Solution is to call prepareHashMap also in reorg-case and add support for reorg-case inside prepareHashMap by reusing Create default hashmap if not exist which will findout how many fragments currently is default @ storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp Add extra check for hashmap vs fragmentCount
[10 Aug 2009 11:58]
Jonas Oreland
pushed to 7.0.7
[10 Aug 2009 12:35]
Jon Stephens
Documented bugfix in the NDB-7.0.7 changelog as follows: ALTER TABLE REORGANIZE PARTITION could fail with Error 741 (Unsupported alter table) if the appropriate hash-map was not present. This could occur when adding nodes online; for example, when going from 2 data nodes to 3 data nodes with NoOfreplicas=1, or from 4 data nodes to 6 data nodes with NoOfreplicas=2.