Paul McCullagh <[email protected]> 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.

=== modified file 'mysql-test/suite/pbxt/r/lowercase_view.result'
--- mysql-test/suite/pbxt/r/lowercase_view.result	2009-04-02 20:36:52 +0000
+++ mysql-test/suite/pbxt/r/lowercase_view.result	2009-08-28 11:19:59 +0000
@@ -119,7 +119,7 @@ create table t1Aa (col1 int);
 create view v1Aa as select col1 from t1Aa as AaA;
 show create view v1AA;
 View	Create View	character_set_client	collation_connection
-v1aa	CREATE ALGORITHM=UNDEFINED definer=`ro...@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `AaA`.`col1` AS `col1` from `t1aa` `AaA`	latin1	latin1_swedish_ci
+v1aa	CREATE ALGORITHM=UNDEFINED definer=`ro...@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `aaa`	latin1	latin1_swedish_ci
 drop view v1AA;
 select Aaa.col1 from t1Aa as AaA;
 col1
@@ -128,7 +128,7 @@ drop view v1AA;
 create view v1Aa as select AaA.col1 from t1Aa as AaA;
 show create view v1AA;
 View	Create View	character_set_client	collation_connection
-v1aa	CREATE ALGORITHM=UNDEFINED definer=`ro...@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `AaA`.`col1` AS `col1` from `t1aa` `AaA`	latin1	latin1_swedish_ci
+v1aa	CREATE ALGORITHM=UNDEFINED definer=`ro...@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `aaa`	latin1	latin1_swedish_ci
 drop view v1AA;
 drop table t1Aa;
 CREATE TABLE  t1 (a int, b int);
@@ -142,7 +142,7 @@ CREATE OR REPLACE VIEW v1 AS
 select X.a from t1 AS X group by X.b having (X.a = 1);
 SHOW CREATE VIEW v1;
 View	Create View	character_set_client	collation_connection
-v1	CREATE ALGORITHM=UNDEFINED definer=`ro...@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `X`.`a` AS `a` from `t1` `X` group by `X`.`b` having (`X`.`a` = 1)	latin1	latin1_swedish_ci
+v1	CREATE ALGORITHM=UNDEFINED definer=`ro...@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `x`.`a` AS `a` from `t1` `x` group by `x`.`b` having (`x`.`a` = 1)	latin1	latin1_swedish_ci
 SELECT * FROM v1;
 a
 DROP VIEW v1;

=== added file 'mysql-test/suite/pbxt/t/lowercase_table_grant-master.opt'
--- mysql-test/suite/pbxt/t/lowercase_table_grant-master.opt	1970-01-01 00:00:00 +0000
+++ mysql-test/suite/pbxt/t/lowercase_table_grant-master.opt	2009-08-28 11:13:02 +0000
@@ -0,0 +1 @@
+--lower_case_table_names

=== added file 'mysql-test/suite/pbxt/t/lowercase_table_qcache-master.opt'
--- mysql-test/suite/pbxt/t/lowercase_table_qcache-master.opt	1970-01-01 00:00:00 +0000
+++ mysql-test/suite/pbxt/t/lowercase_table_qcache-master.opt	2009-08-28 11:22:29 +0000
@@ -0,0 +1 @@
+--lower_case_table_names

=== added file 'mysql-test/suite/pbxt/t/lowercase_view-master.opt'
--- mysql-test/suite/pbxt/t/lowercase_view-master.opt	1970-01-01 00:00:00 +0000
+++ mysql-test/suite/pbxt/t/lowercase_view-master.opt	2009-08-28 11:10:22 +0000
@@ -0,0 +1 @@
+--lower_case_table_names=1

=== added file 'mysql-test/suite/pbxt/t/udf-master.opt'
--- mysql-test/suite/pbxt/t/udf-master.opt	1970-01-01 00:00:00 +0000
+++ mysql-test/suite/pbxt/t/udf-master.opt	2009-08-28 11:24:08 +0000
@@ -0,0 +1 @@
+$UDF_EXAMPLE_LIB_OPT

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

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to