Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-3415

LP:693747 - Assertion multi_range_read.cc:908: int DsMrr_impl::dsmrr_init(handler*, RANGE_SEQ_IF*, void*, uint, uint, HANDLER_BUFFER*): Assertion `primary_file->inited == handler::INDEX' failed with join_cache_level=8 , join_buffer_size=10K

    Details

    • Type: Bug
    • Status: Closed
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      In maria-5.3 , maria-5.3-mwl128-dsmrr-cpk but NOT in maria-5.3-mwl128 , the test case below asserts as follows:

      mysqld: multi_range_read.cc:908: int DsMrr_impl::dsmrr_init(handler*, RANGE_SEQ_IF*, void*, uint, uint, HANDLER_BUFFER*): Assertion `primary_file->inited == handler::INDEX' failed.

      Test case:

      SET SESSION join_cache_level=8;
      SET SESSION join_buffer_size=10000;

      CREATE TABLE t1 (f1 int(11), f2 varchar(32) COLLATE latin1_swedish_ci, f3 int(11), f4 varchar(1024) COLLATE utf8_bin, f5 varchar(1024) COLLATE latin1_bin, KEY (f5)) ENGINE=Aria TRANSACTIONAL=0 ;
      INSERT IGNORE INTO t1 VALUES ('0','cueikuirqr','0','okay','hcueikuirqrzflno'),('2009','her','0','ULWAH','ehcueikuirqrzfln'),('0','YKAOE','0','of','qieehcueikuirqrz'),('2009','you\'re','0','k','nkqieehcueikuirq'),('2003','b','0','bgsnkqieehcueiku','the'),('0','MGUDG','0','p','m'),('0','UXAGU','0','elfhjawbwbgsnkqi','HZXVA'),('2004','bwbgsnkqie','0','x','something'),('2007','s','0','okay','slelfhjawbwbgsnk'),('2007','the','0','or','if'),('2008','TDLKE','0','mean','MGWNJ'),('2006','do','0','KGFVV','see'),('2001','why','0','a','mean'),(NULL,'THKCG','0','no','YFLDY'),(NULL,'x','0','mean','e'),('2007','yncitaeysb','0','WDOSC','tgyncitaeysbgucs'),(NULL,'ZEOXX','0','awbwbgsnkqieehcu','jawbwbgsnkqieehc'),('2006','hjawbwbgsn','0','just','fhjawbwbgsnkqiee'),('0','all','0','k','sbgucsgqslelfhja'),('2009','the','0','f','would'),('2005','mtgyncitae','0','w','ISNQQ'),('2003','KNCUI','0','r','want'),('2006','is','0','j','i'),('2000','out','0','o','jvcmjlmtgyncitae'),('2001','it','0','txyjvcmjlmtgynci','you'),('2008','LHDIH','0','ZKFJK','txmtxyjvcmjlmtgy'),('0','z','0','the','ntxmtxyjvcmjlmtg'),(NULL,'vyhnmvgmcn','0','PWEYL','AIGQK'),('0','ytvyhnmvgm','0','gbytvyhnmvgmcntx','z'),('2002','t','0','just','on'),('2002','xqegbytvyh','0','to','ixqegbytvyhnmvgm'),('2004','WGVRU','0','GHBZB','h'),('0','b','0','yhnmvgmcntxmtxyj','z'),('2003','who','0','ddixqegbytvyhnmv','gddixqegbytvy'),('0','PMLFL','0','n','vgmcntxmtxyjvcmj'),(NULL,'back','0','FIXPA','n'),('2005','i','0','I\'ll','PZGUB'),('0','f','0','t','the'),(NULL,'PNXVP','0','t','v'),('2004','MAKKL','0','u','CGCWF'),('0','RMDAV','0','noypgddixqegbytv','v'),('0','l','0','ESAVW','n'),('2008','rhnoypgddi','0','s','VIZNE'),('2007','t','0','XZECS','a'),(NULL,'like','0','k','JSHPZ'),('2009','pskeywslmk','0','epskeywslmkdrhno','q'),(NULL,'QZZJJ','0','LOTFB','c'),('0','atlxepskey','0','b','YJRMA'),(NULL,'YUVOU','0','wslmkdrhnoypgddi','eywslmkdrhnoypgd'),('2006','some','0','can','r'),('2002','c','0','k','her'),(NULL,'o','0','ALBVZ','EMURT'),('0','if','0','okay','had'),('2006','when','0','e','CLVWT'),(NULL,'blfufrcdjm','0','ZAKUQ','IZCZN'),('2007','vutblfufrc','0','MPKMI','how'),(NULL,'why','0','UBUAG','I'),('2004','IXLYQ','0','ILPBE','weuwuvutblfufrcd'),('0','here','0','your','m'),(NULL,'ZOCTJ','0','GTPOO','IDSFD'),('0','kqsweuwuvu','0','CXQLW','oh'),('0','ykqsweuwuv','0','CLJWP','zykqsweuwuvutblf'),('0','zezykqsweu','0','had','t'),(NULL,'q','0','jisuzezykqsweuwu','o'),('2007','IBKAU','0','t','oh'),('0','ivjisuzezy','0','y','XHXKE'),('0','xsivjisuze','0','right','plxsivjisuzezykq'),('2009','have','0','so','uvplxsivjisuzezy'),('0','on','0','b','me'),('0','ijkfuvplxs','0','RZXDY','OGEHV'),('0','u','0','all','okay'),('0','i','0','s','pajzbbojshnijkfu'),('2001','of','0','xpajzbbojshnijkf','g'),('0','for','0','ITBAQ','I\'m'),('2006','or','0','now','ZOJHX'),('0','n','0','k','you'),(NULL,'that','0','suzezykqsweuwuvu','just'),('0','bbojshnijk','0','QGYOA','JYGSJ'),('2009','k','0','ajzbbojshnijkfuv','y'),('2007','k','0','affpegvavdgxpajz','y'),('2007','be','0','RCTIT','m'),('2000','fnbmxwicrk','0','lcfnbmxwicrkdyma','t'),('0','yaffpegvav','0','v','have'),('0','crkdymahya','0','icrkdymahyaffpeg','QQWQI'),('0','t','0','nijkfuvplxsivjis','hnijkfuvplxsivji'),('0','dgxpajzbbo','0','vdgxpajzbbojshni','vavdgxpajzbbojsh'),('2006','g','0','gvavdgxpajzbbojs','pegvavdgxpajzbbo'),('2007','I\'m','0','g','ffpegvavdgxpajzb');

      SELECT alias2.f1 AS field1 , alias1.f2 AS field2
      FROM t1 AS alias1
      LEFT OUTER JOIN t1 AS alias2 ON alias1.f2 = alias2.f5
      WHERE alias2.f3 > 'k'
      AND alias2.f3 <= 'z'
      OR alias2.f4 IN ('o', 'y')
      AND alias2.f4 >= 'g' AND alias2.f4 < 'z' ;

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            philipstoev Philip Stoev added a comment -

            Re: Assertion multi_range_read.cc:908: int DsMrr_impl::dsmrr_init(handler*, RANGE_SEQ_IF*, void*, uint, uint, HANDLER_BUFFER*): Assertion `primary_file->inited == handler::INDEX' failed with join_cache_level=8 , join_buffer_size=10K
            PSergey, at the very least, can you please push the test case for this bug somewhere. I am concerned that the query plan in maria-5.3-mwl128 may have changed while the underlying issue is present in that tree as well.

            Show
            philipstoev Philip Stoev added a comment - Re: Assertion multi_range_read.cc:908: int DsMrr_impl::dsmrr_init(handler*, RANGE_SEQ_IF*, void*, uint, uint, HANDLER_BUFFER*): Assertion `primary_file->inited == handler::INDEX' failed with join_cache_level=8 , join_buffer_size=10K PSergey, at the very least, can you please push the test case for this bug somewhere. I am concerned that the query plan in maria-5.3-mwl128 may have changed while the underlying issue is present in that tree as well.
            Hide
            philipstoev Philip Stoev added a comment -

            Re: Assertion multi_range_read.cc:908: int DsMrr_impl::dsmrr_init(handler*, RANGE_SEQ_IF*, void*, uint, uint, HANDLER_BUFFER*): Assertion `primary_file->inited == handler::INDEX' failed with join_cache_level=8 , join_buffer_size=10K
            Reproducible on maria-5.3 with the following revision:

            revision-id: igor@askmonty.org-20101225002420-umx1c458zlybsmo8
            date: 2010-12-24 16:24:20 -0800
            build-date: 2010-12-25 17:25:18 +0200
            revno: 2870
            branch-nick: maria-5.3

            that should include both wl128 and ds-mrr-cpk trees.

            Show
            philipstoev Philip Stoev added a comment - Re: Assertion multi_range_read.cc:908: int DsMrr_impl::dsmrr_init(handler*, RANGE_SEQ_IF*, void*, uint, uint, HANDLER_BUFFER*): Assertion `primary_file->inited == handler::INDEX' failed with join_cache_level=8 , join_buffer_size=10K Reproducible on maria-5.3 with the following revision: revision-id: igor@askmonty.org-20101225002420-umx1c458zlybsmo8 date: 2010-12-24 16:24:20 -0800 build-date: 2010-12-25 17:25:18 +0200 revno: 2870 branch-nick: maria-5.3 that should include both wl128 and ds-mrr-cpk trees.
            Hide
            philipstoev Philip Stoev added a comment -

            Re: Assertion multi_range_read.cc:908: int DsMrr_impl::dsmrr_init(handler*, RANGE_SEQ_IF*, void*, uint, uint, HANDLER_BUFFER*): Assertion `primary_file->inited == handler::INDEX' failed with join_cache_level=8 , join_buffer_size=10K
            backtrace

            1. 2010-12-25T19:27:54 #8 0x00399d98 in __assert_fail () from /lib/libc.so.6
            2. 2010-12-25T19:27:54 #9 0x084a6763 in DsMrr_impl::dsmrr_init (this=0x913d9930, h_arg=0x913d95b0, seq_funcs=0x912b3034, seq_init_param=0x912b2f60, n_ranges=12, mode=129,
            3. 2010-12-25T19:27:54 buf=0x912b3050) at multi_range_read.cc:908
            4. 2010-12-25T19:27:54 #10 0x08545576 in ha_maria::multi_range_read_init (this=0x913d95b0, seq=0x912b3034, seq_init_param=0x912b2f60, n_ranges=12, mode=129, buf=0x912b3050)
            5. 2010-12-25T19:27:54 at ha_maria.cc:3627
            6. 2010-12-25T19:27:54 #11 0x082e4212 in JOIN_TAB_SCAN_MRR::open (this=0x912b3020) at sql_join_cache.cc:3668
            7. 2010-12-25T19:27:54 #12 0x082e24d7 in JOIN_CACHE::join_matching_records (this=0x912b2f60, skip_last=false) at sql_join_cache.cc:2138
            8. 2010-12-25T19:27:54 #13 0x082e219a in JOIN_CACHE::join_records (this=0x912b2f60, skip_last=false) at sql_join_cache.cc:1980
            9. 2010-12-25T19:27:54 #14 0x0832addf in sub_select_cache (join=0x913d1630, join_tab=0x913d6c68, end_of_records=false) at sql_select.cc:13268
            10. 2010-12-25T19:27:54 #15 0x082e284e in JOIN_CACHE::generate_full_extensions (this=0x912b2e00, rec_ptr=0x912b6ca6 "") at sql_join_cache.cc:2278
            11. 2010-12-25T19:27:54 #16 0x082e2610 in JOIN_CACHE::join_matching_records (this=0x912b2e00, skip_last=false) at sql_join_cache.cc:2172
            12. 2010-12-25T19:27:54 #17 0x082e219a in JOIN_CACHE::join_records (this=0x912b2e00, skip_last=false) at sql_join_cache.cc:1980
            13. 2010-12-25T19:27:54 #18 0x0832addf in sub_select_cache (join=0x913d1630, join_tab=0x913d6a90, end_of_records=false) at sql_select.cc:13268
            14. 2010-12-25T19:27:54 #19 0x0832b721 in evaluate_join_record (join=0x913d1630, join_tab=0x913d68b8, error=0) at sql_select.cc:13655
            15. 2010-12-25T19:27:54 #20 0x0832b1fb in sub_select (join=0x913d1630, join_tab=0x913d68b8, end_of_records=false) at sql_select.cc:13500
            16. 2010-12-25T19:27:54 #21 0x0832a4bd in do_select (join=0x913d1630, fields=0x0, table=0x913d88c0, procedure=0x0) at sql_select.cc:13004
            17. 2010-12-25T19:27:54 #22 0x0830e16f in JOIN::exec (this=0x913d1630) at sql_select.cc:1974
            18. 2010-12-25T19:27:54 #23 0x08310616 in mysql_select (thd=0xa28cdb0, rref_pointer_array=0xa28e84c, tables=0x9131b2c8, wild_num=0, fields=..., conds=0x9131cb90, og_num=1,
            19. 2010-12-25T19:27:54 order=0x911df438, group=0x0, having=0x0, proc_param=0x0, select_options=2147764736, result=0x913c2c50, unit=0xa28e4ac, select_lex=0xa28e748)
            20. 2010-12-25T19:27:54 at sql_select.cc:2621
            21. 2010-12-25T19:27:54 #24 0x08308b1d in handle_select (thd=0xa28cdb0, lex=0xa28e450, result=0x913c2c50, setup_tables_done_option=0) at sql_select.cc:286
            22. 2010-12-25T19:27:54 #25 0x082a3cdc in execute_sqlcom_select (thd=0xa28cdb0, all_tables=0x9131b2c8) at sql_parse.cc:5070
            23. 2010-12-25T19:27:54 #26 0x0829a6f7 in mysql_execute_command (thd=0xa28cdb0) at sql_parse.cc:2234
            24. 2010-12-25T19:27:54 #27 0x082a627a in mysql_parse (thd=0xa28cdb0,
            25. 2010-12-25T19:27:54 rawbuf=0x9131ad00 "SELECT table1 . `col_int` AS field1 , table2 . `col_varchar_10_latin1` AS field2 FROM E AS table1 LEFT JOIN vG_0 AS table2 LEFT JOIN H AS table3 ON table2 . `col_varchar_1024_latin1_key` = table3 . `col_varchar_1024_latin1_key` ON table1 . `col_varchar_1024_utf8` = table3 . `col_varchar_10_latin1_key` WHERE table1 . `col_int_key` > 'z' AND table1 . `col_int_key` <= 'i' OR table3 . `pk` IS NULL ORDER BY field2", length=426,
            26. 2010-12-25T19:27:54 found_semicolon=0x914e0228) at sql_parse.cc:6077
            27. 2010-12-25T19:27:54 #28 0x082981e0 in dispatch_command (command=COM_QUERY, thd=0xa28cdb0,
            28. 2010-12-25T19:27:54 packet=0xa28edb9 " SELECT table1 . `col_int` AS field1 , table2 . `col_varchar_10_latin1` AS field2 FROM E AS table1 LEFT JOIN vG_0 AS table2 LEFT JOIN H AS table3 ON table2 . `col_varchar_1024_latin1_key` = table3 . `col_varchar_1024_latin1_key` ON table1 . `col_varchar_1024_utf8` = table3 . `col_varchar_10_latin1_key` WHERE table1 . `col_int_key` > 'z' AND table1 . `col_int_key` <= 'i' OR table3 . `pk` IS NULL ORDER BY field2 ", packet_length=430)
            29. 2010-12-25T19:27:54 at sql_parse.cc:1210
            30. 2010-12-25T19:27:54 #29 0x0829764a in do_command (thd=0xa28cdb0) at sql_parse.cc:903
            31. 2010-12-25T19:27:54 #30 0x08294726 in handle_one_connection (arg=0xa28cdb0) at sql_connect.cc:1154
            32. 2010-12-25T19:27:54 #31 0x00821919 in start_thread () from /lib/libpthread.so.0
            33. 2010-12-25T19:27:54 #32 0x00453cce in clone () from /lib/libc.so.6

            also reproducible with join_cache_level=6

            Show
            philipstoev Philip Stoev added a comment - Re: Assertion multi_range_read.cc:908: int DsMrr_impl::dsmrr_init(handler*, RANGE_SEQ_IF*, void*, uint, uint, HANDLER_BUFFER*): Assertion `primary_file->inited == handler::INDEX' failed with join_cache_level=8 , join_buffer_size=10K backtrace 2010-12-25T19:27:54 #8 0x00399d98 in __assert_fail () from /lib/libc.so.6 2010-12-25T19:27:54 #9 0x084a6763 in DsMrr_impl::dsmrr_init (this=0x913d9930, h_arg=0x913d95b0, seq_funcs=0x912b3034, seq_init_param=0x912b2f60, n_ranges=12, mode=129, 2010-12-25T19:27:54 buf=0x912b3050) at multi_range_read.cc:908 2010-12-25T19:27:54 #10 0x08545576 in ha_maria::multi_range_read_init (this=0x913d95b0, seq=0x912b3034, seq_init_param=0x912b2f60, n_ranges=12, mode=129, buf=0x912b3050) 2010-12-25T19:27:54 at ha_maria.cc:3627 2010-12-25T19:27:54 #11 0x082e4212 in JOIN_TAB_SCAN_MRR::open (this=0x912b3020) at sql_join_cache.cc:3668 2010-12-25T19:27:54 #12 0x082e24d7 in JOIN_CACHE::join_matching_records (this=0x912b2f60, skip_last=false) at sql_join_cache.cc:2138 2010-12-25T19:27:54 #13 0x082e219a in JOIN_CACHE::join_records (this=0x912b2f60, skip_last=false) at sql_join_cache.cc:1980 2010-12-25T19:27:54 #14 0x0832addf in sub_select_cache (join=0x913d1630, join_tab=0x913d6c68, end_of_records=false) at sql_select.cc:13268 2010-12-25T19:27:54 #15 0x082e284e in JOIN_CACHE::generate_full_extensions (this=0x912b2e00, rec_ptr=0x912b6ca6 "") at sql_join_cache.cc:2278 2010-12-25T19:27:54 #16 0x082e2610 in JOIN_CACHE::join_matching_records (this=0x912b2e00, skip_last=false) at sql_join_cache.cc:2172 2010-12-25T19:27:54 #17 0x082e219a in JOIN_CACHE::join_records (this=0x912b2e00, skip_last=false) at sql_join_cache.cc:1980 2010-12-25T19:27:54 #18 0x0832addf in sub_select_cache (join=0x913d1630, join_tab=0x913d6a90, end_of_records=false) at sql_select.cc:13268 2010-12-25T19:27:54 #19 0x0832b721 in evaluate_join_record (join=0x913d1630, join_tab=0x913d68b8, error=0) at sql_select.cc:13655 2010-12-25T19:27:54 #20 0x0832b1fb in sub_select (join=0x913d1630, join_tab=0x913d68b8, end_of_records=false) at sql_select.cc:13500 2010-12-25T19:27:54 #21 0x0832a4bd in do_select (join=0x913d1630, fields=0x0, table=0x913d88c0, procedure=0x0) at sql_select.cc:13004 2010-12-25T19:27:54 #22 0x0830e16f in JOIN::exec (this=0x913d1630) at sql_select.cc:1974 2010-12-25T19:27:54 #23 0x08310616 in mysql_select (thd=0xa28cdb0, rref_pointer_array=0xa28e84c, tables=0x9131b2c8, wild_num=0, fields=..., conds=0x9131cb90, og_num=1, 2010-12-25T19:27:54 order=0x911df438, group=0x0, having=0x0, proc_param=0x0, select_options=2147764736, result=0x913c2c50, unit=0xa28e4ac, select_lex=0xa28e748) 2010-12-25T19:27:54 at sql_select.cc:2621 2010-12-25T19:27:54 #24 0x08308b1d in handle_select (thd=0xa28cdb0, lex=0xa28e450, result=0x913c2c50, setup_tables_done_option=0) at sql_select.cc:286 2010-12-25T19:27:54 #25 0x082a3cdc in execute_sqlcom_select (thd=0xa28cdb0, all_tables=0x9131b2c8) at sql_parse.cc:5070 2010-12-25T19:27:54 #26 0x0829a6f7 in mysql_execute_command (thd=0xa28cdb0) at sql_parse.cc:2234 2010-12-25T19:27:54 #27 0x082a627a in mysql_parse (thd=0xa28cdb0, 2010-12-25T19:27:54 rawbuf=0x9131ad00 "SELECT table1 . `col_int` AS field1 , table2 . `col_varchar_10_latin1` AS field2 FROM E AS table1 LEFT JOIN vG_0 AS table2 LEFT JOIN H AS table3 ON table2 . `col_varchar_1024_latin1_key` = table3 . `col_varchar_1024_latin1_key` ON table1 . `col_varchar_1024_utf8` = table3 . `col_varchar_10_latin1_key` WHERE table1 . `col_int_key` > 'z' AND table1 . `col_int_key` <= 'i' OR table3 . `pk` IS NULL ORDER BY field2", length=426, 2010-12-25T19:27:54 found_semicolon=0x914e0228) at sql_parse.cc:6077 2010-12-25T19:27:54 #28 0x082981e0 in dispatch_command (command=COM_QUERY, thd=0xa28cdb0, 2010-12-25T19:27:54 packet=0xa28edb9 " SELECT table1 . `col_int` AS field1 , table2 . `col_varchar_10_latin1` AS field2 FROM E AS table1 LEFT JOIN vG_0 AS table2 LEFT JOIN H AS table3 ON table2 . `col_varchar_1024_latin1_key` = table3 . `col_varchar_1024_latin1_key` ON table1 . `col_varchar_1024_utf8` = table3 . `col_varchar_10_latin1_key` WHERE table1 . `col_int_key` > 'z' AND table1 . `col_int_key` <= 'i' OR table3 . `pk` IS NULL ORDER BY field2 ", packet_length=430) 2010-12-25T19:27:54 at sql_parse.cc:1210 2010-12-25T19:27:54 #29 0x0829764a in do_command (thd=0xa28cdb0) at sql_parse.cc:903 2010-12-25T19:27:54 #30 0x08294726 in handle_one_connection (arg=0xa28cdb0) at sql_connect.cc:1154 2010-12-25T19:27:54 #31 0x00821919 in start_thread () from /lib/libpthread.so.0 2010-12-25T19:27:54 #32 0x00453cce in clone () from /lib/libc.so.6 also reproducible with join_cache_level=6
            Hide
            ratzpo Rasmus Johansson added a comment -

            Launchpad bug id: 693747

            Show
            ratzpo Rasmus Johansson added a comment - Launchpad bug id: 693747

              People

              • Assignee:
                psergey Sergei Petrunia
                Reporter:
                philipstoev Philip Stoev
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: