Bug #16796 | BLOB does not work with user defined partitioning | ||
---|---|---|---|
Submitted: | 26 Jan 2006 2:59 | Modified: | 22 Apr 2006 15:28 |
Reporter: | Jonathan Miller | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S2 (Serious) |
Version: | 5.1.6-alpha | OS: | Linux (Linux) |
Assigned to: | Pekka Nousiainen | CPU Architecture: | Any |
[26 Jan 2006 2:59]
Jonathan Miller
[26 Jan 2006 6:27]
Jonas Oreland
Jeb, do you need DD for this? (i.e I think it's a partitioning bug...not a DD bug) Changed title/category... Please change it back if it is DD related
[26 Jan 2006 12:10]
Jonathan Miller
Jonas, Sorry but I tried with out DD this morning and here is what I get: Errors are (from /home/ndbdev/jmiller/clones/mysql-5.1-new/mysql-test/var/log/mysqltest mysqltest: At line 76: query 'INSERT INTO test.t1 VALUES (NULL, "Tested Remotely from T 024))' failed: 1504: Table has no partition for value 600 (the last lines may be the most important ones) The I put Disk Data back in and get: Errors are (from /home/ndbdev/jmiller/clones/mysql-5.1-new/mysql-test/var/log/mysqltest-time) : mysqltest: At line 76: query 'INSERT INTO test.t1 VALUES (NULL, "Tested Remotely from Texas, USA", 600, b'1',600.00,repeat('a',1*1024*1 024))' failed: 2013: Lost connection to MySQL server during query (the last lines may be the most important ones) CORE ^^^^
[26 Jan 2006 12:47]
Jonathan Miller
I changed the 600 to 601 and reran with DD. No core this time, but instead got: Errors are (from /home/ndbdev/jmiller/clones/mysql-5.1-new/mysql-test/var/log/mysqltest-time) : mysqltest: At line 76: query 'INSERT INTO test.t1 VALUES (NULL, "Tested Remotely from Texas, USA", 600, 024))' failed: 1296: Got error 311 'Unknown error code' from NDBCLUSTER (the last lines may be the most important ones)
[26 Jan 2006 13:07]
Jonathan Miller
==2992== at 0x1B909222: malloc (vg_replace_malloc.c:130) ==2992== by 0x8570DB5: BaseString::assign(char const*) (BaseString.cpp:56) ==2992== by 0x852E617: NdbDictionary::Datafile::setTablespace(char const*) (NdbDicti onary.cpp:1152) ==2992== by 0x832FA90: ndbcluster_alter_tablespace(THD*, st_alter_tablespace*) (ha_n dbcluster.cc:9200) ==2992== by 0x8310EC3: mysql_alter_tablespace(THD*, st_alter_tablespace*) (sql_table space.cc:33) ==2992== by 0x81EEF08: mysql_execute_command(THD*) (sql_parse.cc:4876) ==2992== by 0x81F3863: mysql_parse(THD*, char*, unsigned) (sql_parse.cc:5695) ==2992== by 0x81F3E2C: dispatch_command(enum_server_command, THD*, char*, unsigned) (sql_parse.cc:1765) ==2992== by 0x81F5BB6: handle_one_connection (sql_parse.cc:1537) ==2992== by 0xA25B7F: start_thread (in /lib/libpthread-2.3.5.so) ==2992== by 0x97D9CD: clone (in /lib/libc-2.3.5.so) 060126 16:00:01 [ERROR] NDB Binlog: logging of blob table ./test/t1 is not supported 060126 16:00:02 [ERROR] NDB Binlog: logging of blob table ./test/t2 is not supported ==2992== ==2992== Invalid read of size 1 ==2992== at 0x1B90A0C6: strlen (mac_replace_strmem.c:189) ==2992== by 0x85F3278: my_vsnprintf (my_vsnprintf.c:91) ==2992== by 0x85C5888: my_error (my_error.c:99) ==2992== by 0x8247DB9: write_record(THD*, st_table*, st_copy_info*) (sql_insert.cc:1 145) ==2992== by 0x824C562: mysql_insert(THD*, st_table_list*, List<Item>&, List<List<Ite m> >&, List<Item>&, List<Item>&, enum_duplicates, bool) (sql_insert.cc:514) ==2992== by 0x81EA63A: mysql_execute_command(THD*) (sql_parse.cc:3267) ==2992== by 0x81F3863: mysql_parse(THD*, char*, unsigned) (sql_parse.cc:5695) ==2992== by 0x81F3E2C: dispatch_command(enum_server_command, THD*, char*, unsigned) (sql_parse.cc:1765) ==2992== by 0x81F5BB6: handle_one_connection (sql_parse.cc:1537) ==2992== by 0xA25B7F: start_thread (in /lib/libpthread-2.3.5.so) ==2992== by 0x97D9CD: clone (in /lib/libc-2.3.5.so) ==2992== Address 0x258 is not stack'd, malloc'd or (recently) free'd
[14 Feb 2006 9:32]
Jonas Oreland
Pekka, The problem is that the blob operations doesnt "use" setPartitionId from base operation Remove disk stuff from test case, apply patch (that's in files) And you'll get 311, (undefined partition) This is on the main table updateing blob header. And API does _not_ send partition id.
[23 Mar 2006 13:05]
Jonathan Miller
Starting to hit the 311 bug more and more. See: http://bugs.mysql.com/bug.php?id=18443 For addition examples. Since this screws up the data, or at least the ability to updated and delete, I am moving to high priority. /jeb
[17 Apr 2006 18:31]
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/5025
[22 Apr 2006 15:28]
Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release. If necessary, you can access the source repository and build the latest available version, including the bugfix, yourself. More information about accessing the source trees is available at http://www.mysql.com/doc/en/Installing_source_tree.html Additional info: Documented bugfix in 5.1.9 changelog. Closed.