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

support descending indexes internally in InnoDB

Details

    Description

      see MDEV-13756

      Descending attribute will only for for BTREE indexes, for everything else (fulltext, spacial, hash) it'll be ignored as before

      Attachments

        Issue Links

          Activity

            Some raw ideas for RQG based testing:
            It looks as if the RQG grammar conf/mariadb/concurrency.yy is some good candidate for RQG testing.
            The DDL fiddles with ASC and DESC keys. Probably even in case of multi column keys.
            1. Plain crash testing with concurrent sessions running some DDL/DML mix based on
                 --grammar=conf/mariadb/concurrency.yy --gendata=conf/mariadb/concurrency.zz --gendata_sql=conf/mariadb/concurrency.sql
            2. Run "pseudo replication" (== any SQL gets sent to two servers) based on conf/mariadb/concurrency.yy (*)
                - only one session runs the DDL/DML mix and the SQL should avoid statements which are unsafe in statement based replication
                  because otherwise "pseudo replication" is known to break
                - probably costly modification in RQG code: When sending a DDL creating a key to the second server convert ASC to DESC and DESC to ASC 
                  or
                  probably less costly: First server is 10.8 with MDEV-26938 , second server is 10.8 without MDEV-26938
                - filter out any SQL containing LIMIT and do not execute that
                - at test end compare the content of the tables of both servers
                   Variant: Compare the result sets of SELECTs executed on the first and the second server
                (*)   Alternative:  Develop some new grammar or a simplified derivate of conf/mariadb/concurrency.yy
            

            mleich Matthias Leich added a comment - Some raw ideas for RQG based testing: It looks as if the RQG grammar conf/mariadb/concurrency.yy is some good candidate for RQG testing. The DDL fiddles with ASC and DESC keys. Probably even in case of multi column keys. 1. Plain crash testing with concurrent sessions running some DDL/DML mix based on --grammar=conf/mariadb/concurrency.yy --gendata=conf/mariadb/concurrency.zz --gendata_sql=conf/mariadb/concurrency.sql 2. Run "pseudo replication" (== any SQL gets sent to two servers) based on conf/mariadb/concurrency.yy (*) - only one session runs the DDL/DML mix and the SQL should avoid statements which are unsafe in statement based replication because otherwise "pseudo replication" is known to break - probably costly modification in RQG code: When sending a DDL creating a key to the second server convert ASC to DESC and DESC to ASC or probably less costly: First server is 10.8 with MDEV-26938 , second server is 10.8 without MDEV-26938 - filter out any SQL containing LIMIT and do not execute that - at test end compare the content of the tables of both servers Variant: Compare the result sets of SELECTs executed on the first and the second server (*) Alternative: Develop some new grammar or a simplified derivate of conf/mariadb/concurrency.yy
            mleich Matthias Leich added a comment - - edited

            Results of ~ 15000 RQG tests using conf/mariadb/concurrency.yy and different setups (see 1. in the comment above):
            In general low fraction of failing tests.
            The failures observed occur on actual 10.6 too.
            concurrency.yy has the advantage of using DESC indexes etc. at all.
            But that does not guarantee to give some exceptional coverage of that feature.
            The correctness of result sets could not be checked with that setup.
             
            Test campaign with
            - a derivate of the grammar table_stress_innodb.yy
              ASC or DESC added to columns being part of some KEY
            - some test setup derived from table_stress.cc
            pluto:/data/rqg/results/1638191819
            There are several new error patterns. Mostly in connection with Mariabackup.
            I am now running the same campaign against actual 10.8.
            

            mleich Matthias Leich added a comment - - edited Results of ~ 15000 RQG tests using conf/mariadb/concurrency.yy and different setups (see 1. in the comment above): In general low fraction of failing tests. The failures observed occur on actual 10.6 too. concurrency.yy has the advantage of using DESC indexes etc. at all. But that does not guarantee to give some exceptional coverage of that feature. The correctness of result sets could not be checked with that setup.   Test campaign with - a derivate of the grammar table_stress_innodb.yy ASC or DESC added to columns being part of some KEY - some test setup derived from table_stress.cc pluto:/data/rqg/results/1638191819 There are several new error patterns. Mostly in connection with Mariabackup. I am now running the same campaign against actual 10.8.

            pushed into preview-10.8-MDEV-26938-desc-indexes

            serg Sergei Golubchik added a comment - pushed into preview-10.8- MDEV-26938 -desc-indexes
            elenst Elena Stepanova added a comment - - edited

            The final preview branch in testing is preview-10.8-MDEV-13756-desc-indexes, so further testing will be done under MDEV-13756, while this one will remain "In testing" until MDEV-13756 with all the included parts is either accepted or rejected.

            elenst Elena Stepanova added a comment - - edited The final preview branch in testing is preview-10.8- MDEV-13756 -desc-indexes, so further testing will be done under MDEV-13756 , while this one will remain "In testing" until MDEV-13756 with all the included parts is either accepted or rejected.

            The correctness part tested in the scope of MDEV-13756.

            elenst Elena Stepanova added a comment - The correctness part tested in the scope of MDEV-13756 .

            People

              marko Marko Mäkelä
              serg Sergei Golubchik
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.