Paul McCullagh <paul.mccullagh@primebase.org> writes:
Paul McCullagh has proposed merging lp:~paul-mccullagh/maria/maria-pbxt-rc2 into lp:maria.
Requested reviews: Maria-captains (maria-captains)
Updated the PBXT engine to RC2 (lp:pbxt/rc2), version 1.0.08c. All tests in the PBXT suite pass.
Note that this branch does not yet include the entire history of PBXT because attempts to do this have failed so far due to problems with bzr.
Thanks a lot Paul for preparing this. I tried building your tree and running the test suite. I have a question, as I got some build and test failures. I suspect that perhaps your tree is missing a commit, or maybe has one too many. Your tree has the following 3 commits in addition to lp:maria: 2722 Paul McCullagh 2009-08-18 Merged changes for bug fix update 1.0.08c RC2 2721 Paul McCullagh 2009-08-17 Updated all tests for RC2 2720 Paul McCullagh 2009-08-17 Updated PBXT to version 1.0.08 RC2 If I build revision 2721 (drop the last commit), things look good. I even have zero failures in the test suite with a simple patch (attached), mostly some simple fixes for case-sensitive file system. But if I try the current tree, revision 2722, I get both build and test failures, as detailed below. So the basic question is, should I merge just revision 2721, or should I merge 2722 with some additional build (and test?) fixes? ----------------------------------------------------------------------- So some more details. First, I fixed all of the test failures in revision 2721 with a simple patch (attached). The only problem was the *-master.opt files were not copied along with test .test files from the main suite. This caused failures on case-sensitive file systems (and also failure in udf.test due to wrong search path for .so). You should of course check the patch, but I think it should be ok. Now, for the problems in revision 2722: They might be related to the replacement of stream_xt with pbms_enabled. To even build, I need this patch: --- storage/pbxt/src/Makefile.am 2009-05-09 04:01:53 +0000 +++ storage/pbxt/src/Makefile.am 2009-08-28 10:11:41 +0000 @@ -19,7 +19,7 @@ noinst_HEADERS = bsearch_xt.h cache_xt. datadic_xt.h datalog_xt.h filesys_xt.h hashtab_xt.h \ ha_pbxt.h heap_xt.h index_xt.h linklist_xt.h \ memory_xt.h myxt_xt.h pthread_xt.h restart_xt.h \ - streaming_xt.h sortedlist_xt.h strutil_xt.h \ + pbms_enabled.h sortedlist_xt.h strutil_xt.h \ tabcache_xt.h table_xt.h trace_xt.h thread_xt.h \ util_xt.h xaction_xt.h xactlog_xt.h lock_xt.h \ systab_xt.h ha_xtsys.h discover_xt.h \ @@ -30,7 +30,7 @@ libpbxt_la_SOURCES = bsearch_xt.cc cache datadic_xt.cc datalog_xt.cc filesys_xt.cc hashtab_xt.cc \ ha_pbxt.cc heap_xt.cc index_xt.cc linklist_xt.cc \ memory_xt.cc myxt_xt.cc pthread_xt.cc restart_xt.cc \ - streaming_xt.cc sortedlist_xt.cc strutil_xt.cc \ + pbms_enabled.cc sortedlist_xt.cc strutil_xt.cc \ tabcache_xt.cc table_xt.cc trace_xt.cc thread_xt.cc \ systab_xt.cc ha_xtsys.cc discover_xt.cc \ util_xt.cc xaction_xt.cc xactlog_xt.cc lock_xt.cc locklist_xt.cc I assume you must have something similar, maybe you forgot to push it? And in the test suite, I get some failures. For example, the following: create database mysqltest; create table t1 (c1 int); alter table t1 rename mysqltest.t1; mysqltest: At line 3: query 'alter table t1 rename mysqltest.t1' failed: 1025: Error on rename of './test/t1' to './mysqltest/t1' (errno: 16) In the mysqld.1.err log I have this: 090828 16:19:14 [Error] pbms_rename_table_with_blobs() Error: PBMS does not support renaming tables across databases. Which is a bit strange since table t1 has only an int? There are 3 other test failures, which from a quick look might be related to blob. I attached the full mysql-test-run output, maybe you can take a look? Please let me know if you know what the issue is, or what more I can do to help. - Kristian. Logging: mysql-test-run.pl --force --max-test-fail=0 --retry-failure=1 --mysqld=--default-storage-engine=pbxt --suite=pbxt pbxt.alter_table pbxt.create pbxt.lowercase_table_grant pbxt.lowercase_table_qcache pbxt.lowercase_view pbxt.ps_1general pbxt.type_ranges pbxt.udf MySQL Version 5.1.35 Using default engine 'pbxt' Checking supported features... - skipping ndbcluster, mysqld not compiled with ndbcluster - SSL connections supported - binaries are debug compiled Collecting tests... vardir: /home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var Checking leftover processes... Removing old var directory... Creating var directory '/home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var'... Installing system database... Using server port 43066 ============================================================================== TEST RESULT TIME (ms) ------------------------------------------------------------ worker[1] Using MTR_BUILD_THREAD 250, with reserved ports 12500..12509 pbxt.udf [ pass ] 6146 pbxt.lowercase_view [ pass ] 914 pbxt.lowercase_table_grant [ pass ] 5 pbxt.lowercase_table_qcache [ pass ] 827 pbxt.alter_table [ fail ] Test ended at 2009-08-28 13:25:27 CURRENT_TEST: pbxt.alter_table mysqltest: At line 530: query 'alter table t1 rename mysqltest.t1' failed: 1025: Error on rename of './test/t1' to './mysqltest/t1' (errno: 16) The result from queries just before the failure was: < snip > alter table t1 modify a bigint, disable keys; show indexes from t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 0 a 1 a A 0 NULL NULL YES BTREE t1 1 b 1 b A 0 NULL NULL YES BTREE "Change again the type, but leave the indexes as_is" alter table t1 modify a int; show indexes from t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 0 a 1 a A 0 NULL NULL YES BTREE t1 1 b 1 b A 0 NULL NULL YES BTREE "Try the same. When data is no copied on similar tables, this is noop" alter table t1 modify a int; show indexes from t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 0 a 1 a A 0 NULL NULL YES BTREE t1 1 b 1 b A 0 NULL NULL YES BTREE drop table t1; create database mysqltest; create table t1 (c1 int); More results from queries before failure can be found in /home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var/log/alter_table.log - saving '/home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var/log/pbxt.alter_table/' to '/home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var/log/pbxt.alter_table/' Test has failed 1 times, no more retries! pbxt.create [ fail ] Test ended at 2009-08-28 13:25:29 CURRENT_TEST: pbxt.create --- /home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/suite/pbxt/r/create.result 2009-08-28 12:41:10.000000000 +0300 +++ /home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/suite/pbxt/r/create.reject 2009-08-28 14:25:29.000000000 +0300 @@ -448,8 +448,8 @@ dd time YES NULL select * from t2; a b c d e f g h dd -1 -7 7 2000-01-01 b 2000-01-01 00:00:00 05:04:03 yet another binary data 02:00:00 -2 -2 2 1825-12-14 a 2003-01-01 03:02:01 04:03:02 binary data 02:00:00 +1 -7 7 2000-01-01 b 2000-01-01 00:00:00 05:04:03 +2 -2 2 1825-12-14 a 2003-01-01 03:02:01 04:03:02 drop table t1, t2; create table t1 (a tinyint, b smallint, c mediumint, d int, e bigint, f float(3,2), g double(4,3), h decimal(5,4), i year, j date, k timestamp, l datetime, m enum('a','b'), n set('a','b'), o char(10)); create table t2 select ifnull(a,a), ifnull(b,b), ifnull(c,c), ifnull(d,d), ifnull(e,e), ifnull(f,f), ifnull(g,g), ifnull(h,h), ifnull(i,i), ifnull(j,j), ifnull(k,k), ifnull(l,l), ifnull(m,m), ifnull(n,n), ifnull(o,o) from t1; mysqltest: Result length mismatch - saving '/home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var/log/pbxt.create/' to '/home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var/log/pbxt.create/' Test has failed 1 times, no more retries! pbxt.ps_1general [ fail ] Test ended at 2009-08-28 13:25:32 CURRENT_TEST: pbxt.ps_1general --- /home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/suite/pbxt/r/ps_1general.result 2009-08-28 12:41:03.000000000 +0300 +++ /home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/suite/pbxt/r/ps_1general.reject 2009-08-28 14:25:32.000000000 +0300 @@ -293,7 +293,7 @@ prepare stmt4 from ' show table status from test like ''t2%'' '; execute stmt4; Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment -t2 PBXT 10 Fixed 0 29 1 # 4096 0 NULL # # # latin1_swedish_ci NULL +t2 PBXT 10 Fixed 0 29 1024 # 4096 0 NULL # # # latin1_swedish_ci NULL prepare stmt4 from ' show table status from test like ''t9%'' '; execute stmt4; Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment mysqltest: Result length mismatch - saving '/home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var/log/pbxt.ps_1general/' to '/home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var/log/pbxt.ps_1general/' Test has failed 1 times, no more retries! pbxt.type_ranges [ fail ] Test ended at 2009-08-28 13:25:33 CURRENT_TEST: pbxt.type_ranges --- /home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/suite/pbxt/r/type_ranges.result 2009-08-28 12:41:10.000000000 +0300 +++ /home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/suite/pbxt/r/type_ranges.reject 2009-08-28 14:25:33.000000000 +0300 @@ -127,13 +127,13 @@ insert into t1 (tiny) values (1); select auto,string,tiny,short,medium,long_int,longlong,real_float,real_double,utiny,ushort,umedium,ulong,ulonglong,mod(floor(time_stamp/1000000),1000000)-mod(curdate(),1000000),date_field,time_field,date_time,blob_col,tinyblob_col,mediumblob_col,longblob_col from t1; auto string tiny short medium long_int longlong real_float real_double utiny ushort umedium ulong ulonglong mod(floor(time_stamp/1000000),1000000)-mod(curdate(),1000000) date_field time_field date_time blob_col tinyblob_col mediumblob_col longblob_col -10 1 1 1 1 1 1 1.0 1.0000 1 00001 1 1 1 0 0000-00-00 00:00:00 0000-00-00 00:00:00 1 1 1 1 -11 2 2 2 2 2 2 2.0 2.0000 2 00002 2 2 2 0 NULL NULL NULL NULL NULL 2 2 -12 0.33333333 3 3 3 3 3 3.0 3.0000 3 00003 3 3 3 0 1997-03-03 10:10:10 1997-03-03 10:10:10 3 -13 -1 -1 -1 -1 -1 -1 -1.0 -1.0000 0 00000 0 0 0 0 1997-08-07 08:07:06 1997-04-03 09:08:07 -1 -1 -1 -1 -14 -429496729 -128 -32768 -8388608 -2147483648 -4294967295 -4294967296.0 -4294967295.0000 0 00000 0 0 0 0 0000-00-00 00:00:00 0000-00-00 00:00:00 -4294967295 -4294967295 -4294967295 -4294967295 -15 4294967295 127 32767 8388607 2147483647 4294967295 4294967296.0 4294967295.0000 255 65535 16777215 4294967295 4294967295 0 0000-00-00 00:00:00 0000-00-00 00:00:00 4294967295 4294967295 4294967295 4294967295 -16 hello 1 1 0 0 0 0.0 NULL 0 00000 0 0 0 0 NULL NULL NULL NULL NULL +10 1 1 1 1 1 1 1.0 1.0000 1 00001 1 1 1 0 0000-00-00 00:00:00 0000-00-00 00:00:00 1 1 1 +11 2 2 2 2 2 2 2.0 2.0000 2 00002 2 2 2 0 NULL NULL NULL NULL NULL 2 +12 0.33333333 3 3 3 3 3 3.0 3.0000 3 00003 3 3 3 0 1997-03-03 10:10:10 1997-03-03 10:10:10 +13 -1 -1 -1 -1 -1 -1 -1.0 -1.0000 0 00000 0 0 0 0 1997-08-07 08:07:06 1997-04-03 09:08:07 -1 -1 -1 +14 -429496729 -128 -32768 -8388608 -2147483648 -4294967295 -4294967296.0 -4294967295.0000 0 00000 0 0 0 0 0000-00-00 00:00:00 0000-00-00 00:00:00 -4294967295 -4294967295 -4294967295 +15 4294967295 127 32767 8388607 2147483647 4294967295 4294967296.0 4294967295.0000 255 65535 16777215 4294967295 4294967295 0 0000-00-00 00:00:00 0000-00-00 00:00:00 4294967295 4294967295 4294967295 +16 hello 1 1 0 0 0 0.0 NULL 0 00000 0 0 0 0 NULL NULL NULL NULL NULL ALTER TABLE t1 add new_field char(10) default "new" not null, change blob_col new_blob_col varchar(20), @@ -282,13 +282,13 @@ t8 binary(0) NULL NO # select t1,t2,length(t3),length(t4),length(t5),length(t6),t7,t8 from t2; t1 t2 length(t3) length(t4) length(t5) length(t6) t7 t8 -1 a 256 256 4096 4096 -1 a 256 256 4096 4096 -1 a 256 256 4096 4096 -1 a 256 256 4096 4096 -1 a 256 256 4096 4096 -1 a 256 256 4096 4096 -1 a 256 256 4096 4096 +1 a 256 256 4096 1 +1 a 256 256 4096 1 +1 a 256 256 4096 1 +1 a 256 256 4096 1 +1 a 256 256 4096 1 +1 a 256 256 4096 1 +1 a 256 256 4096 1 drop table t1,t2; create table t1 (c int); insert into t1 values(1),(2); mysqltest: Result length mismatch - saving '/home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var/log/pbxt.type_ranges/' to '/home/knielsen/devel/maria/my/maria-pbxt-rc2/mysql-test/var/log/pbxt.type_ranges/' Test has failed 1 times, no more retries! ------------------------------------------------------------ The servers were restarted 6 times Spent 7.892 of 21 seconds executing testcases Failed 4/8 tests, 50.00% were successful. Failing test(s): pbxt.alter_table pbxt.create pbxt.ps_1general pbxt.type_ranges The log files in var/log may give you some hint of what went wrong. If you want to report this error, please read first the documentation at http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html