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

Testing for MDEV-4345 (sampling probably selective predicates)

    Details

    • Type: Task
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Fix Version/s: N/A
    • Component/s: Tests
    • Labels:
      None

      Description

      Development task: MDEV-4345
      LP tree: lp:maria/10.0

      New variable/option:
      optimizer_selectivity_sampling_limit (default 100)

      + Controls number of record samples to check condition
      + selectivity
       
      +  ulong check_rows=
      +    min(thd->variables.optimizer_selectivity_sampling_limit,
      +        (ulong) (table_records * SELECTIVITY_SAMPLING_SHARE));
      +  if (cond && check_rows > SELECTIVITY_SAMPLING_THRESHOLD &&
      +      thd->variables.optimizer_use_condition_selectivity > 4)
      +#define SELECTIVITY_SAMPLING_SHARE 0.10
      +#define SELECTIVITY_SAMPLING_LIMIT 5000
        
       
      +/* check this number of rows (default value) */
      +#define SELECTIVITY_SAMPLING_LIMIT 5000
      +/* but no more then this part of table (10%) */
      +#define SELECTIVITY_SAMPLING_SHARE 0.10
      +/* do not check if we are going check less then this number of records */
      +#define SELECTIVITY_SAMPLING_THRESHOLD 10
      +       "5 - additionally use selectivity of certain non-range predicates "
      +       "calculated on record samples",
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              elenst Elena Stepanova added a comment - - edited

              Ran a set of comparison tests on 10.0 revno 3749. Server parameters:

                      --mysqld1=--use_stat_tables=PREFERABLY
                      --mysqld1='--optimizer_use_condition_selectivity=5 --mysqld1=--histogram_size=100 --mysqld1=--histogram_type=DOUBLE_PREC_HB',
                      --mysqld1='--optimizer_use_condition_selectivity=5 --mysqld1=--histogram_size=50 --mysqld1=--histogram_type=SINGLE_PREC_HB'
              

              (the baseline is the same server but without the options listed above).

              Numerous tests failed with assertion failures similar to MDEV-4428, MDEV-4429 (they all look similar until one is fixed and others still fail).
              A few tests failed with known unrelated bugs.
              It's going to be hard to continue the tests until the family of assertion `join->best_read < double(...) failures is fixed, but they're currently waiting for their turn in the bug queue.

              Show
              elenst Elena Stepanova added a comment - - edited Ran a set of comparison tests on 10.0 revno 3749. Server parameters: --mysqld1=--use_stat_tables=PREFERABLY --mysqld1='--optimizer_use_condition_selectivity=5 --mysqld1=--histogram_size=100 --mysqld1=--histogram_type=DOUBLE_PREC_HB', --mysqld1='--optimizer_use_condition_selectivity=5 --mysqld1=--histogram_size=50 --mysqld1=--histogram_type=SINGLE_PREC_HB' (the baseline is the same server but without the options listed above). Numerous tests failed with assertion failures similar to MDEV-4428 , MDEV-4429 (they all look similar until one is fixed and others still fail). A few tests failed with known unrelated bugs. It's going to be hard to continue the tests until the family of assertion `join->best_read < double(...) failures is fixed, but they're currently waiting for their turn in the bug queue.
              Hide
              elenst Elena Stepanova added a comment -

              Further testing has been and will be performed as a part of regression tests.

              Show
              elenst Elena Stepanova added a comment - Further testing has been and will be performed as a part of regression tests.

                People

                • Assignee:
                  elenst Elena Stepanova
                  Reporter:
                  elenst Elena Stepanova
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 2 hours, 30 minutes
                    2h 30m