Uploaded image for project: 'Percona Server for MySQL'
  1. Percona Server for MySQL
  2. PS-5148

[PS8QA] compression dictionary operations not handled under innodb-force-recovery

Details

    Description

      # mysqld options required for replay:  --innodb-force-recovery=1
      CREATE COMPRESSION_DICTIONARY d0(@data0); 

      Leads to, on release builds;

      8.0.13>CREATE COMPRESSION_DICTIONARY d0(@data0);
      ERROR 1105 (HY000): Unknown error
      

      And on debug builds to;

      2018-12-14T06:55:43.564725Z 9 [ERROR] [MY-012803] [InnoDB] innodb_force_recovery is on. We do not allow database modifications by the user. Shut down mysqld and edit my.cnf to set innodb_force_recovery=0
      mysqld: /git/PS-8.0-trunk_dbg/sql/sql_zip_dict.cc:435: int compression_dict::create_zip_dict(THD*, const char*, ulong, const char*, ulong, bool, bool): Assertion `0' failed.
      06:55:43 UTC - mysqld got signal 6 ;
      
      Core was generated by `/sda/PS111218-percona-server-8.0.13-2-linux-x86_64-debug/bin/mysqld --no-defaul'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
      [Current thread is 1 (Thread 0x7f22d00b7700 (LWP 28927))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
      #1  0x000055a27379b377 in my_write_core (sig=6) at /git/PS-8.0-trunk_dbg/mysys/stacktrace.cc:278
      #2  0x000055a2726517e0 in handle_fatal_signal (sig=6) at /git/PS-8.0-trunk_dbg/sql/signal_handler.cc:254
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      #5  0x00007f22d00f8801 in __GI_abort () at abort.c:79
      #6  0x00007f22d00e839a in __assert_fail_base (fmt=0x7f22d026f7d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
          assertion=assertion@entry=0x55a2748cd52a "0", file=file@entry=0x55a2748cd1c8 "/git/PS-8.0-trunk_dbg/sql/sql_zip_dict.cc", 
          line=line@entry=435, 
          function=function@entry=0x55a2748cda20 <compression_dict::create_zip_dict(THD*, char const*, unsigned long, char const*, unsigned long, bool, bool)::__PRETTY_FUNCTION__> "int compression_dict::create_zip_dict(THD*, const char*, ulong, const char*, ulong, bool, bool)") at assert.c:92
      #7  0x00007f22d00e8412 in __GI___assert_fail (assertion=0x55a2748cd52a "0", 
          file=0x55a2748cd1c8 "/git/PS-8.0-trunk_dbg/sql/sql_zip_dict.cc", line=435, 
          function=0x55a2748cda20 <compression_dict::create_zip_dict(THD*, char const*, unsigned long, char const*, unsigned long, bool, bool)::__PRETTY_FUNCTION__> "int compression_dict::create_zip_dict(THD*, const char*, ulong, const char*, ulong, bool, bool)")
          at assert.c:101
      #8  0x000055a27259c65a in compression_dict::create_zip_dict (thd=0x7f229cc24000, name=0x7f229cc72a00 "d0", name_len=2, 
          data=0x55a2748a0568 "", data_len=0, if_not_exists=false, is_upgrade=false) at /git/PS-8.0-trunk_dbg/sql/sql_zip_dict.cc:435
      #9  0x000055a27247e5f4 in mysql_execute_command (thd=0x7f229cc24000, first_level=true) at /git/PS-8.0-trunk_dbg/sql/sql_parse.cc:3665
      #10 0x000055a272483b31 in mysql_parse (thd=0x7f229cc24000, parser_state=0x7f22d00b62a0, update_userstat=false, 
          force_primary_storage_engine=false) at /git/PS-8.0-trunk_dbg/sql/sql_parse.cc:5259
      #11 0x000055a272478ae2 in dispatch_command (thd=0x7f229cc24000, com_data=0x7f22d00b6c70, command=COM_QUERY)
          at /git/PS-8.0-trunk_dbg/sql/sql_parse.cc:1734
      #12 0x000055a272477079 in do_command (thd=0x7f229cc24000) at /git/PS-8.0-trunk_dbg/sql/sql_parse.cc:1290
      #13 0x000055a27263afce in handle_connection (arg=0x7f227d37eee0)
          at /git/PS-8.0-trunk_dbg/sql/conn_handler/connection_handler_per_thread.cc:317
      #14 0x000055a273891388 in pfs_spawn_thread (arg=0x7f22bb3d9d20) at /git/PS-8.0-trunk_dbg/storage/perfschema/pfs.cc:2836
      #15 0x00007f22d1f076db in start_thread (arg=0x7f22d00b7700) at pthread_create.c:463
      #16 0x00007f22d01d988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      This looks to be a regression. 5.7.24-26 for both opt+dbg;

      5.7.24>CREATE COMPRESSION_DICTIONARY d0(@data0); 
      Query OK, 0 rows affected (0.01 sec) 

      The filter string is very generic ftm. Preferably this bug would be fixed.

      Attachments

        Issue Links

          Activity

            People

              satya.bodapati Satya Bodapati
              roel.vandepaar Roel Van de Paar (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 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 - 1 day, 13 minutes
                  1d 13m

                  Smart Checklist