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

Fatal InnoDB error or assertion `!is_v' failure upon multi-update with indexed virtual column

Details

    Description

      Notes:

      • The test case is non-deterministic despite the absence of obvious race conditions. The difference is likely in statistics. When the failure occurs, the UPDATE plan is different from the usual one (see the plans below). It only happens once in a while, run with --repeat=N. It usually fails for me withing ~20-30 attempts.

      PASSING plan

      EXPLAIN UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d);
      id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
      1	SIMPLE	t1	index	NULL	d	6	NULL	455	Using index
      1	SIMPLE	t2	ref	t,d	t	4	func	1	Using where
      

      FAILING plan

      EXPLAIN UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d);
      id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
      1	SIMPLE	t1	index	NULL	d	6	NULL	547	Using index
      1	SIMPLE	t2	ref|filter	t,d	t|d	4|6	func	2 (83%)	Using where; Using rowid filter
      

      • The test case turns off InnoDB persistent statistics to achieve the result. It is not a mandatory requirement for the failure to happen, initially (outside MTR) it occurred with InnoDB persistent statistics ON. I suppose for someone knowing the conditions when the optimization is triggered, it should be possible to modify the dataset so that the target execution plan is chosen deterministically, even with EITS.
      • The failure apparently started happening on 11.1 after this commit:

        commit 554278e24dbc2c0af9fcfd66c54ca6a99a3cf17f
        Author: Igor Babaev
            MDEV-7487 Semi-join optimization for single-table update/delete statements
        

        However, it's possible that it just revealed a pre-existing problem.

      --source include/have_innodb.inc
       
      SET GLOBAL innodb_stats_persistent= 0;
       
      CREATE TABLE t (
        pk INTEGER AUTO_INCREMENT,
        d DATETIME DEFAULT '2000-01-01 00:00:00',
        t TIME AS (TIME(d)) VIRTUAL,
        f1 TIME,
        f2 DATETIME DEFAULT '2000-01-01 00:00:00',
        f3 VARCHAR(1) DEFAULT 'x',
        f4 VARCHAR(1) DEFAULT 'x',
        PRIMARY KEY (pk),
        KEY (t),
        KEY (d)
      ) ENGINE=InnoDB;
      INSERT INTO t (d) VALUES
        (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
        (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
        (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
        (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
        (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
        ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-03-26 00:00:00'),
        ('1900-05-19 19:48:19'),('1901-05-02 00:00:00'),('1901-12-12 23:05:43'),
        ('1902-05-31 00:00:00'),('1902-06-17 00:00:00'),('1902-11-06 08:31:01'),
        ('1903-06-11 00:00:00'),('1904-01-16 09:00:30'),('1904-02-24 08:17:28'),
        ('1904-04-03 00:00:00'),('1905-01-17 00:00:00'),('1905-05-23 04:59:29'),
        ('1905-09-22 21:52:15'),('1905-12-06 13:11:49'),('1906-02-27 10:51:18'),
        ('1906-06-08 20:01:15'),('1907-02-09 23:08:14'),('1907-04-03 08:33:28'),
        ('1907-11-23 19:00:13'),('1908-09-03 03:19:29'),('1908-10-03 20:54:11'),
        ('1908-12-22 09:47:25'),('1909-04-10 10:29:16'),('1911-03-11 00:00:00'),
        ('1911-06-30 00:00:00'),('1911-08-07 01:32:56'),('1912-03-08 00:00:00'),
        ('1912-03-10 00:00:00'),('1912-03-13 11:40:19'),('1912-11-12 20:10:13'),
        ('1913-01-10 00:00:00'),('1913-09-15 18:43:53'),('1913-10-10 00:00:00'),
        ('1913-10-11 00:00:00'),('1914-01-18 17:52:52'),('1915-07-10 23:29:43'),
        ('1915-09-05 00:00:00'),('1915-09-25 14:42:14'),('1916-04-17 00:00:00'),
        ('1916-11-02 23:33:35'),('1917-04-22 13:14:41'),('1917-05-12 00:00:00'),
        ('1917-05-23 16:50:52'),('1917-06-24 12:14:19'),('1917-09-17 07:37:32'),
        ('1918-01-04 18:27:31'),('1918-05-02 12:55:51'),('1918-05-18 00:00:00'),
        ('1918-08-05 21:51:15'),('1918-09-12 19:27:33'),('1919-02-18 22:26:53'),
        ('1919-07-24 00:54:48'),('1919-09-07 22:41:09'),('1919-10-04 16:12:01'),
        ('1919-12-06 04:40:47'),('1920-01-28 00:00:00'),('1920-05-07 14:45:18'),
        ('1920-06-07 16:44:53'),('1921-02-15 11:55:05'),('1921-04-16 00:00:00'),
        ('1921-07-06 00:00:00'),('1922-04-13 00:00:00'),('1922-11-25 13:15:40'),
        ('1922-12-10 00:00:00'),('1923-02-01 00:00:00'),('1923-04-07 00:00:00'),
        ('1923-08-12 08:57:05'),('1923-10-22 00:00:00'),('1924-03-09 00:00:00'),
        ('1924-07-01 14:53:14'),('1924-07-04 23:45:21'),('1924-07-28 07:16:47'),
        ('1924-12-02 11:49:57'),('1925-09-09 00:00:00'),('1925-11-06 00:00:00'),
        ('1926-05-04 00:00:00'),('1926-06-21 06:38:24'),('1926-09-26 07:03:33'),
        ('1926-10-24 00:00:00'),('1926-11-17 03:12:56'),('1926-12-01 10:37:11'),
        ('1926-12-26 01:06:29'),('1927-08-25 00:00:00'),('1927-08-25 01:00:09'),
        ('1928-02-29 01:21:11'),('1928-03-08 00:00:00'),('1928-05-07 08:14:46'),
        ('1928-06-11 02:30:03'),('1928-09-04 03:56:02'),('1928-09-14 00:10:49'),
        ('1929-11-23 23:11:52'),('1929-12-10 00:00:00'),('1930-05-01 00:00:00'),
        ('1930-05-07 00:25:07'),('1931-04-26 00:00:00'),('1931-06-05 23:04:47'),
        ('1931-07-08 23:24:45'),('1932-10-08 00:00:00'),('1932-10-22 00:00:00'),
        ('1933-08-27 23:05:40'),('1933-10-21 05:28:44'),('1934-07-09 00:00:00'),
        ('1934-09-27 10:53:33'),('1935-04-01 00:00:00'),('1935-05-08 09:40:03'),
        ('1935-10-24 20:43:43'),('1935-11-18 11:22:59'),('1936-05-10 00:00:00'),
        ('1936-09-03 00:00:00'),('1937-02-16 06:36:19'),('1937-03-16 00:00:00'),
        ('1937-05-16 20:05:38'),('1937-09-12 00:00:00'),('1939-01-03 00:00:00'),
        ('1940-09-18 00:00:00'),('1940-10-26 00:00:00'),('1941-02-08 05:23:51'),
        ('1941-04-18 00:00:00'),('1941-07-01 00:00:00'),('1941-08-21 00:00:00'),
        ('1941-12-17 13:48:07'),('1942-09-17 15:03:18'),('1942-11-28 20:49:30'),
        ('1943-01-18 00:18:15'),('1943-05-20 00:00:00'),('1943-06-01 00:00:00'),
        ('1943-12-16 11:48:11'),('1943-12-31 12:45:58'),('1944-01-15 06:43:50'),
        ('1944-03-19 00:00:00'),('1944-03-23 00:00:00'),('1944-05-19 00:00:00'),
        ('1944-06-13 09:26:18'),('1944-07-19 11:52:08'),('1944-08-11 00:00:00'),
        ('1944-10-27 00:00:00'),('1945-01-17 17:55:51'),('1945-02-23 20:54:46'),
        ('1945-03-04 07:58:13'),('1945-05-07 00:00:00'),('1945-06-12 00:00:00'),
        ('1945-07-14 09:47:28'),('1945-10-24 19:31:58'),('1945-11-03 00:00:00'),
        ('1945-11-26 20:13:02'),('1945-12-24 00:00:00'),('1946-10-06 00:00:00'),
        ('1946-10-23 00:00:00'),('1946-11-19 03:11:21'),('1947-01-02 05:04:16'),
        ('1947-09-23 23:57:34'),('1947-11-30 00:50:13'),('1948-03-05 18:11:03'),
        ('1948-03-09 02:33:13'),('1948-04-10 00:24:59'),('1948-06-01 08:51:57'),
        ('1948-07-27 16:11:03'),('1948-10-29 05:29:57'),('1949-06-13 00:38:11'),
        ('1949-10-14 01:50:48'),('1950-02-12 00:00:00'),('1950-02-21 22:38:06'),
        ('1950-03-26 07:56:02'),('1951-01-31 13:12:27'),('1951-04-17 13:35:33'),
        ('1951-08-17 11:51:53'),('1951-12-31 00:00:00'),('1952-05-25 06:22:51'),
        ('1953-05-02 14:26:04'),('1953-06-19 19:35:42'),('1953-07-02 18:01:07'),
        ('1953-11-01 14:27:14'),('1954-01-05 02:40:21'),('1954-05-01 05:52:08'),
        ('1954-06-05 15:11:12'),('1955-01-12 00:00:00'),('1955-02-03 19:51:41'),
        ('1955-02-27 15:38:21'),('1955-05-25 00:00:00'),('1955-08-22 19:47:38'),
        ('1955-08-30 08:38:26'),('1955-12-15 22:02:31'),('1956-08-17 00:00:00'),
        ('1956-09-17 06:58:08'),('1956-10-02 00:00:00'),('1957-05-15 05:05:17'),
        ('1958-11-01 10:11:48'),('1959-03-31 00:00:00'),('1959-11-02 23:28:29'),
        ('1960-01-26 21:57:36'),('1960-10-31 00:00:00'),('1960-11-18 11:19:40'),
        ('1961-03-22 01:28:24'),('1961-07-11 03:48:39'),('1962-11-08 00:00:00'),
        ('1963-02-27 12:25:30'),('1963-04-11 00:44:21'),('1963-06-26 03:25:23'),
        ('1963-07-26 16:14:47'),('1963-08-14 08:09:23'),('1963-10-28 15:24:24'),
        ('1964-01-11 21:08:21'),('1964-05-26 05:12:28'),('1965-03-18 22:49:37'),
        ('1966-03-26 18:42:55'),('1966-09-11 22:46:33'),('1967-01-21 00:00:21'),
        ('1967-02-28 02:47:14'),('1967-06-09 13:27:40'),('1967-06-29 00:49:17'),
        ('1967-09-29 00:00:00'),('1967-12-14 06:37:06'),('1968-02-04 11:27:22'),
        ('1968-03-15 21:33:37'),('1968-08-31 18:53:30'),('1968-09-04 00:00:00'),
        ('1968-09-11 00:00:00'),('1968-11-07 02:40:13'),('1968-11-28 01:29:10'),
        ('1969-01-31 00:00:00'),('1969-05-04 09:11:55'),('1969-10-28 19:10:25'),
        ('1970-01-02 00:00:00'),('1970-06-09 05:45:57'),('1970-07-17 10:13:47'),
        ('1970-12-21 16:08:41'),('1971-02-03 00:00:00'),('1971-10-03 00:00:00'),
        ('1971-12-30 17:44:34'),('1972-03-12 04:03:57'),('1972-08-27 00:00:00'),
        ('1972-09-13 13:44:08'),('1972-11-26 00:00:00'),('1973-05-28 00:00:00'),
        ('1974-03-30 00:00:00'),('1974-05-23 19:28:42'),('1974-08-03 07:58:03'),
        ('1975-09-20 04:00:22'),('1975-11-03 16:41:33'),('1975-12-20 00:00:00'),
        ('1976-01-07 00:55:02'),('1976-05-14 11:04:05'),('1976-08-04 15:11:46'),
        ('1976-08-18 17:11:29'),('1977-03-03 19:45:25'),('1977-09-11 22:10:22'),
        ('1977-12-13 06:18:33'),('1979-05-05 16:04:17'),('1979-06-02 22:22:32'),
        ('1979-12-08 00:00:00'),('1980-02-03 09:54:52'),('1980-05-30 02:23:29'),
        ('1980-07-14 17:19:17'),('1980-12-15 00:00:00'),('1981-04-13 19:17:48'),
        ('1981-11-21 16:22:17'),('1982-04-06 04:42:04'),('1982-11-24 12:17:25'),
        ('1983-12-04 16:23:48'),('1984-04-26 00:00:00'),('1984-07-30 00:00:00'),
        ('1985-01-02 00:00:00'),('1985-07-23 05:12:22'),('1985-10-04 14:56:23'),
        ('1985-12-02 17:47:43'),('1986-03-01 00:00:00'),('1986-08-30 03:27:04'),
        ('1987-01-16 14:09:52'),('1987-02-03 03:55:02'),('1987-03-03 12:04:10'),
        ('1987-09-21 11:28:54'),('1988-04-24 20:59:14'),('1988-06-13 18:25:07'),
        ('1988-07-04 00:00:00'),('1988-07-23 10:09:14'),('1988-08-26 09:41:22'),
        ('1989-07-25 05:19:18'),('1990-07-13 00:00:00'),('1990-07-22 16:52:29'),
        ('1990-08-22 22:40:34'),('1991-01-09 00:00:00'),('1991-02-25 02:06:00'),
        ('1991-04-26 00:00:00'),('1991-10-20 12:57:55'),('1991-11-15 12:18:40'),
        ('1992-06-15 03:23:28'),('1992-08-22 11:08:44'),('1992-12-06 23:07:49'),
        ('1992-12-23 10:48:27'),('1993-07-18 18:05:03'),('1993-08-28 12:46:25'),
        ('1994-06-01 18:17:38'),('1994-08-25 14:39:37'),('1994-12-02 00:00:00'),
        ('1995-04-21 04:09:34'),('1995-06-28 21:26:52'),('1995-07-11 03:04:35'),
        ('1995-09-24 00:00:00'),('1996-06-27 02:43:39'),('1997-10-05 09:25:29'),
        ('1997-10-16 01:24:59'),('1999-01-16 00:00:00'),('1999-05-28 06:52:34'),
        ('1999-08-11 12:35:50'),('2000-04-30 00:00:00'),('2000-11-04 12:40:42'),
        ('2001-01-29 07:51:53'),('2001-09-05 11:22:16'),('2002-02-01 19:34:03'),
        ('2003-02-18 00:00:00'),('2003-03-06 00:00:00'),('2003-05-22 00:00:00'),
        ('2004-02-19 00:00:00'),('2004-05-12 00:00:00'),('2004-09-10 00:00:00'),
        ('2005-02-04 21:34:25'),('2005-03-08 14:48:55'),('2005-03-28 09:35:18'),
        ('2005-06-17 10:29:21'),('2005-08-06 07:43:46'),('2006-01-03 11:02:29'),
        ('2006-03-11 00:42:35'),('2006-03-25 13:55:48'),('2006-10-25 23:18:04'),
        ('2007-07-10 21:14:32'),('2007-09-26 15:45:08'),('2007-11-28 19:07:20'),
        ('2008-06-04 08:48:59'),('2008-07-18 00:00:00'),('2008-08-14 03:00:01'),
        ('2008-11-28 05:02:23'),('2008-11-29 16:07:13'),('2010-09-09 11:08:48'),
        ('2011-01-17 12:47:26'),('2011-03-25 06:25:51'),('2011-05-06 03:38:56'),
        ('2012-02-06 14:45:33'),('2012-05-01 00:46:29'),('2012-05-23 13:56:45'),
        ('2012-09-17 15:14:54'),('2012-12-12 21:21:34'),('2013-04-16 00:00:00'),
        ('2014-03-10 05:07:51'),('2014-05-09 23:13:07'),('2014-07-24 06:41:03'),
        ('2014-07-27 05:13:13'),('2015-05-05 05:31:40'),('2016-05-18 14:44:12'),
        ('2016-09-29 00:00:00'),('2017-01-27 00:00:00'),('2017-05-03 01:50:33'),
        ('2017-06-09 00:53:25'),('2017-09-12 04:34:06'),('2018-02-01 07:14:12'),
        ('2018-03-22 22:16:24'),('2018-04-20 08:19:24'),('2018-07-25 19:32:34'),
        ('2018-08-09 00:00:00'),('2019-03-23 00:00:00'),('2019-12-18 15:04:21'),
        ('2020-04-09 15:54:29'),('2020-09-13 15:05:56'),('2021-04-21 08:07:20'),
        ('2021-05-04 10:09:48'),('2021-06-18 00:00:00'),('2021-09-06 00:00:00'),
        ('2022-10-24 00:00:00'),('2022-11-24 02:54:09'),('2023-04-07 16:59:25'),
        ('2023-11-26 00:00:00'),('2024-04-01 11:20:53'),('2024-04-19 00:00:00'),
        ('2024-09-16 05:45:31'),('2024-10-15 02:07:05'),('2024-11-05 00:00:00'),
        ('2024-12-27 02:53:35'),('2025-02-04 00:00:00'),('2025-05-05 12:19:13'),
        ('2025-08-20 00:00:00'),('2025-09-25 01:09:50'),('2027-03-02 10:18:54'),
        ('2028-08-20 00:00:00'),('2028-11-18 16:08:10'),('2029-01-20 11:11:25'),
        ('2029-11-06 00:00:00'),('2030-06-11 10:48:40'),('2030-08-24 01:16:16'),
        ('2031-03-08 20:50:33'),('2031-04-25 21:26:00'),('2032-05-31 14:26:32'),
        ('2032-07-28 04:02:35'),('2033-04-30 03:04:26'),('2033-06-16 15:07:21'),
        ('2033-08-11 10:08:08'),('2033-09-21 07:18:35'),('2034-01-25 13:32:44'),
        ('2034-01-30 15:30:45'),('2034-08-26 19:59:15'),('2034-12-01 23:39:50'),
        ('2034-12-25 00:00:00'),('2035-04-12 07:50:46'),('2035-04-25 15:36:36'),
        ('2035-05-25 20:29:49'),('2035-06-06 20:59:57'),('2035-07-15 20:11:20'),
        ('2035-08-02 09:53:16'),('2035-08-03 00:00:00'),('2035-12-08 00:00:00'),
        ('2036-03-13 10:35:23'),('2036-03-25 16:31:32'),('2036-09-06 12:50:17'),
        ('2036-10-07 02:50:31'),('2037-05-26 00:00:00'),('2037-11-21 05:17:58'),
        ('2038-02-11 07:16:04'),('2038-04-08 00:16:00'),('2038-05-26 01:10:18'),
        ('2038-11-17 09:13:06'),('2039-03-10 11:41:13'),('2039-11-08 10:08:53');
       
      UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d);
       
      # Cleanup
      DROP TABLE t;
      SET GLOBAL innodb_stats_persistent= DEFAULT;
      

      11.1 3ef11161 non-debug

      2023-04-30  2:52:32 36 [ERROR] [FATAL] InnoDB: Clustered record field for column 6 not found table n_user_defined 1 index n_user_defined 6 InnoDB table `test`.`t` field name NULL MySQL table t field name DB_ROW_ID n_fields 6 query UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)
      230430  2:52:32 [ERROR] mysqld got signal 6 ;
       
      #2  <signal handler called>
      #3  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
      #4  0x00007f4a3f2a9d2f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
      #5  0x00007f4a3f25aef2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      #6  0x00007f4a3f245472 in __GI_abort () at ./stdlib/abort.c:79
      #7  0x000055cf561ced91 in ib::fatal::~fatal (this=this@entry=0x7f4a305a6400, __in_chrg=<optimized out>) at /data/src/11.1/storage/innobase/ut/ut0ut.cc:527
      #8  0x000055cf561aff10 in build_template_field (prebuilt=<optimized out>, clust_index=clust_index@entry=0x7f49ac033fd0, index=index@entry=0x7f49ac033fd0, table=<optimized out>, field=field@entry=0x7f49acb22ce0, i=i@entry=6, v_no=<optimized out>) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7137
      #9  0x000055cf567f974d in ha_innobase::build_template (this=this@entry=0x7f49acb224d0, whole_row=<optimized out>, whole_row@entry=false) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7521
      #10 0x000055cf567fa280 in ha_innobase::change_active_index (this=0x7f49acb224d0, keynr=<optimized out>) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:9171
      #11 0x000055cf56391168 in handler::ha_index_init (sorted=<optimized out>, idx=1, this=0x7f49acb224d0) at /data/src/11.1/sql/handler.h:3409
      #12 join_read_always_key (tab=0x7f49acb0e0f0) at /data/src/11.1/sql/sql_select.cc:23811
      #13 0x000055cf5637b1e1 in sub_select (join=0x7f49ac012ec0, join_tab=0x7f49acb0e0f0, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23036
      #14 0x000055cf56369e41 in evaluate_join_record (join=join@entry=0x7f49ac012ec0, join_tab=join_tab@entry=0x7f49acb0dcf0, error=<optimized out>) at /data/src/11.1/sql/sql_select.cc:23272
      #15 0x000055cf5637b1fd in sub_select (join=0x7f49ac012ec0, join_tab=0x7f49acb0dcf0, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23039
      #16 0x000055cf563a8d5d in do_select (procedure=<optimized out>, join=0x7f49ac012ec0) at /data/src/11.1/sql/sql_select.cc:22571
      #17 JOIN::exec_inner (this=this@entry=0x7f49ac012ec0) at /data/src/11.1/sql/sql_select.cc:4899
      #18 0x000055cf563a91ee in JOIN::exec (this=this@entry=0x7f49ac012ec0) at /data/src/11.1/sql/sql_select.cc:4676
      #19 0x000055cf563a9316 in Sql_cmd_dml::execute_inner (this=this@entry=0x7f49ac0124e8, thd=thd@entry=0x7f49ac000c68) at /data/src/11.1/sql/sql_select.cc:32615
      #20 0x000055cf56406b01 in Sql_cmd_update::execute_inner (this=0x7f49ac0124e8, thd=0x7f49ac000c68) at /data/src/11.1/sql/sql_update.cc:3062
      #21 0x000055cf563686cd in Sql_cmd_dml::execute (this=0x7f49ac0124e8, thd=0x7f49ac000c68) at /data/src/11.1/sql/sql_select.cc:32552
      #22 0x000055cf563323d6 in mysql_execute_command (thd=thd@entry=0x7f49ac000c68, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/src/11.1/sql/sql_parse.cc:4393
      #23 0x000055cf56335ff5 in mysql_parse (thd=0x7f49ac000c68, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>) at /data/src/11.1/sql/sql_parse.cc:7760
      #24 0x000055cf563382d5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7f49ac000c68, packet=packet@entry=0x7f49ac1031d9 "UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)", packet_length=packet_length@entry=88, blocking=blocking@entry=true) at /data/src/11.1/sql/sql_parse.cc:1989
      #25 0x000055cf563395d7 in do_command (thd=0x7f49ac000c68, blocking=blocking@entry=true) at /data/src/11.1/sql/sql_parse.cc:1405
      #26 0x000055cf564498e7 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55cf5a22cf88, put_in_cache=put_in_cache@entry=true) at /data/src/11.1/sql/sql_connect.cc:1416
      #27 0x000055cf56449c7d in handle_one_connection (arg=arg@entry=0x55cf5a22cf88) at /data/src/11.1/sql/sql_connect.cc:1318
      #28 0x000055cf56759ad7 in pfs_spawn_thread (arg=0x55cf5a1e0608) at /data/src/11.1/storage/perfschema/pfs.cc:2201
      #29 0x00007f4a3f2a7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #30 0x00007f4a3f3285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
      

      11.1 3ef11161 debug

      mariadbd: /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7400: void ha_innobase::build_template(bool): Assertion `!is_v' failed.
      230430  2:57:32 [ERROR] mysqld got signal 6 ;
       
      #9  0x00007fdbdc453df2 in __GI___assert_fail (assertion=0x55a20fb36440 "!is_v", file=0x55a20fb2a8c0 "/data/src/11.1/storage/innobase/handler/ha_innodb.cc", line=7400, function=0x55a20fb363e0 "void ha_innobase::build_template(bool)") at ./assert/assert.c:101
      #10 0x000055a20e3611f9 in ha_innobase::build_template (this=0x61d0004844b8, whole_row=true) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7400
      #11 0x000055a20e36d352 in ha_innobase::change_active_index (this=0x61d0004844b8, keynr=1) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:9171
      #12 0x000055a20e36a2dc in ha_innobase::index_init (this=0x61d0004844b8, keynr=1) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:8744
      #13 0x000055a20cdac9f5 in handler::ha_index_init (this=0x61d0004844b8, idx=1, sorted=false) at /data/src/11.1/sql/handler.h:3409
      #14 0x000055a20d25fd3a in join_read_always_key (tab=0x62900086d680) at /data/src/11.1/sql/sql_select.cc:23811
      #15 0x000055a20d25a637 in sub_select (join=0x62900010b810, join_tab=0x62900086d680, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23036
      #16 0x000055a20d25bf77 in evaluate_join_record (join=0x62900010b810, join_tab=0x62900086d280, error=0) at /data/src/11.1/sql/sql_select.cc:23272
      #17 0x000055a20d25a7f3 in sub_select (join=0x62900010b810, join_tab=0x62900086d280, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23039
      #18 0x000055a20d2585b9 in do_select (join=0x62900010b810, procedure=0x0) at /data/src/11.1/sql/sql_select.cc:22571
      #19 0x000055a20d1da6df in JOIN::exec_inner (this=0x62900010b810) at /data/src/11.1/sql/sql_select.cc:4899
      #20 0x000055a20d1d7a62 in JOIN::exec (this=0x62900010b810) at /data/src/11.1/sql/sql_select.cc:4676
      #21 0x000055a20d29f962 in Sql_cmd_dml::execute_inner (this=0x62900010ad88, thd=0x62b00017a218) at /data/src/11.1/sql/sql_select.cc:32615
      #22 0x000055a20d44edf7 in Sql_cmd_update::execute_inner (this=0x62900010ad88, thd=0x62b00017a218) at /data/src/11.1/sql/sql_update.cc:3062
      #23 0x000055a20d29f44e in Sql_cmd_dml::execute (this=0x62900010ad88, thd=0x62b00017a218) at /data/src/11.1/sql/sql_select.cc:32552
      #24 0x000055a20d0c7ead in mysql_execute_command (thd=0x62b00017a218, is_called_from_prepared_stmt=false) at /data/src/11.1/sql/sql_parse.cc:4393
      #25 0x000055a20d0df33a in mysql_parse (thd=0x62b00017a218, rawbuf=0x629000109238 "UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)", length=88, parser_state=0x7fdbc47daa20) at /data/src/11.1/sql/sql_parse.cc:7760
      #26 0x000055a20d0b7ab1 in dispatch_command (command=COM_QUERY, thd=0x62b00017a218, packet=0x6290008c0219 "UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)", packet_length=88, blocking=true) at /data/src/11.1/sql/sql_parse.cc:1892
      #27 0x000055a20d0b47ef in do_command (thd=0x62b00017a218, blocking=true) at /data/src/11.1/sql/sql_parse.cc:1405
      #28 0x000055a20d56c6e2 in do_handle_one_connection (connect=0x60800005c8b8, put_in_cache=true) at /data/src/11.1/sql/sql_connect.cc:1416
      #29 0x000055a20d56c0a3 in handle_one_connection (arg=0x608000003a38) at /data/src/11.1/sql/sql_connect.cc:1318
      #30 0x000055a20e165870 in pfs_spawn_thread (arg=0x617000008218) at /data/src/11.1/storage/perfschema/pfs.cc:2201
      #31 0x00007fdbdc4a7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #32 0x00007fdbdc5285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
      

      Attachments

        Issue Links

          Activity

            elenst Elena Stepanova created issue -
            elenst Elena Stepanova made changes -
            Field Original Value New Value
            Description Notes:

            - The test case is non-deterministic despite the absence of obvious race conditions. The problem is apparently in statistics. When the failure occurs, the UPDATE plan is different from the usual one (see the plans below). It only happens once in a while, run with {{*--repeat=N*}}. It usually fails for me withing ~20-30 attempts.

            {code:sql|title=PASSING plan}
            EXPLAIN UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d);
            id select_type table type possible_keys key key_len ref rows Extra
            1 SIMPLE t1 index NULL d 6 NULL 455 Using index
            1 SIMPLE t2 ref t,d t 4 func 1 Using where
            {code}
            {code:sql|title=FAILING plan}
            EXPLAIN UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d);
            id select_type table type possible_keys key key_len ref rows Extra
            1 SIMPLE t1 index NULL d 6 NULL 547 Using index
            1 SIMPLE t2 ref|filter t,d t|d 4|6 func 2 (83%) Using where; Using rowid filter
            {code}

            - The test case turns off InnoDB persistent statistics to achieve the result. It is not a mandatory requirement for the failure to happen, initially (outside MTR) it occurred with InnoDB persistent statistics ON. I suppose for someone knowing the conditions when the optimization is triggered, it should be possible to modify the dataset so that the target execution plan is chosen deterministically, even with EITS.

            - The failure started happening on 11.1 after this commit:
            {noformat}
            commit 554278e24dbc2c0af9fcfd66c54ca6a99a3cf17f
            Author: Igor Babaev
                MDEV-7487 Semi-join optimization for single-table update/delete statements
            {noformat}
            However, it's possible that it just revealed a pre-existing problem.

            {code:sql}
            --source include/have_innodb.inc

            SET GLOBAL innodb_stats_persistent= 0;

            CREATE TABLE t (
              pk INTEGER AUTO_INCREMENT,
              d DATETIME DEFAULT '2000-01-01 00:00:00',
              t TIME AS (TIME(d)) VIRTUAL,
              f1 TIME,
              f2 DATETIME DEFAULT '2000-01-01 00:00:00',
              f3 VARCHAR(1) DEFAULT 'x',
              f4 VARCHAR(1) DEFAULT 'x',
              PRIMARY KEY (pk),
              KEY (t),
              KEY (d)
            ) ENGINE=InnoDB;
            INSERT INTO t (d) VALUES
              (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
              (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
              (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
              (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
              (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-03-26 00:00:00'),
              ('1900-05-19 19:48:19'),('1901-05-02 00:00:00'),('1901-12-12 23:05:43'),
              ('1902-05-31 00:00:00'),('1902-06-17 00:00:00'),('1902-11-06 08:31:01'),
              ('1903-06-11 00:00:00'),('1904-01-16 09:00:30'),('1904-02-24 08:17:28'),
              ('1904-04-03 00:00:00'),('1905-01-17 00:00:00'),('1905-05-23 04:59:29'),
              ('1905-09-22 21:52:15'),('1905-12-06 13:11:49'),('1906-02-27 10:51:18'),
              ('1906-06-08 20:01:15'),('1907-02-09 23:08:14'),('1907-04-03 08:33:28'),
              ('1907-11-23 19:00:13'),('1908-09-03 03:19:29'),('1908-10-03 20:54:11'),
              ('1908-12-22 09:47:25'),('1909-04-10 10:29:16'),('1911-03-11 00:00:00'),
              ('1911-06-30 00:00:00'),('1911-08-07 01:32:56'),('1912-03-08 00:00:00'),
              ('1912-03-10 00:00:00'),('1912-03-13 11:40:19'),('1912-11-12 20:10:13'),
              ('1913-01-10 00:00:00'),('1913-09-15 18:43:53'),('1913-10-10 00:00:00'),
              ('1913-10-11 00:00:00'),('1914-01-18 17:52:52'),('1915-07-10 23:29:43'),
              ('1915-09-05 00:00:00'),('1915-09-25 14:42:14'),('1916-04-17 00:00:00'),
              ('1916-11-02 23:33:35'),('1917-04-22 13:14:41'),('1917-05-12 00:00:00'),
              ('1917-05-23 16:50:52'),('1917-06-24 12:14:19'),('1917-09-17 07:37:32'),
              ('1918-01-04 18:27:31'),('1918-05-02 12:55:51'),('1918-05-18 00:00:00'),
              ('1918-08-05 21:51:15'),('1918-09-12 19:27:33'),('1919-02-18 22:26:53'),
              ('1919-07-24 00:54:48'),('1919-09-07 22:41:09'),('1919-10-04 16:12:01'),
              ('1919-12-06 04:40:47'),('1920-01-28 00:00:00'),('1920-05-07 14:45:18'),
              ('1920-06-07 16:44:53'),('1921-02-15 11:55:05'),('1921-04-16 00:00:00'),
              ('1921-07-06 00:00:00'),('1922-04-13 00:00:00'),('1922-11-25 13:15:40'),
              ('1922-12-10 00:00:00'),('1923-02-01 00:00:00'),('1923-04-07 00:00:00'),
              ('1923-08-12 08:57:05'),('1923-10-22 00:00:00'),('1924-03-09 00:00:00'),
              ('1924-07-01 14:53:14'),('1924-07-04 23:45:21'),('1924-07-28 07:16:47'),
              ('1924-12-02 11:49:57'),('1925-09-09 00:00:00'),('1925-11-06 00:00:00'),
              ('1926-05-04 00:00:00'),('1926-06-21 06:38:24'),('1926-09-26 07:03:33'),
              ('1926-10-24 00:00:00'),('1926-11-17 03:12:56'),('1926-12-01 10:37:11'),
              ('1926-12-26 01:06:29'),('1927-08-25 00:00:00'),('1927-08-25 01:00:09'),
              ('1928-02-29 01:21:11'),('1928-03-08 00:00:00'),('1928-05-07 08:14:46'),
              ('1928-06-11 02:30:03'),('1928-09-04 03:56:02'),('1928-09-14 00:10:49'),
              ('1929-11-23 23:11:52'),('1929-12-10 00:00:00'),('1930-05-01 00:00:00'),
              ('1930-05-07 00:25:07'),('1931-04-26 00:00:00'),('1931-06-05 23:04:47'),
              ('1931-07-08 23:24:45'),('1932-10-08 00:00:00'),('1932-10-22 00:00:00'),
              ('1933-08-27 23:05:40'),('1933-10-21 05:28:44'),('1934-07-09 00:00:00'),
              ('1934-09-27 10:53:33'),('1935-04-01 00:00:00'),('1935-05-08 09:40:03'),
              ('1935-10-24 20:43:43'),('1935-11-18 11:22:59'),('1936-05-10 00:00:00'),
              ('1936-09-03 00:00:00'),('1937-02-16 06:36:19'),('1937-03-16 00:00:00'),
              ('1937-05-16 20:05:38'),('1937-09-12 00:00:00'),('1939-01-03 00:00:00'),
              ('1940-09-18 00:00:00'),('1940-10-26 00:00:00'),('1941-02-08 05:23:51'),
              ('1941-04-18 00:00:00'),('1941-07-01 00:00:00'),('1941-08-21 00:00:00'),
              ('1941-12-17 13:48:07'),('1942-09-17 15:03:18'),('1942-11-28 20:49:30'),
              ('1943-01-18 00:18:15'),('1943-05-20 00:00:00'),('1943-06-01 00:00:00'),
              ('1943-12-16 11:48:11'),('1943-12-31 12:45:58'),('1944-01-15 06:43:50'),
              ('1944-03-19 00:00:00'),('1944-03-23 00:00:00'),('1944-05-19 00:00:00'),
              ('1944-06-13 09:26:18'),('1944-07-19 11:52:08'),('1944-08-11 00:00:00'),
              ('1944-10-27 00:00:00'),('1945-01-17 17:55:51'),('1945-02-23 20:54:46'),
              ('1945-03-04 07:58:13'),('1945-05-07 00:00:00'),('1945-06-12 00:00:00'),
              ('1945-07-14 09:47:28'),('1945-10-24 19:31:58'),('1945-11-03 00:00:00'),
              ('1945-11-26 20:13:02'),('1945-12-24 00:00:00'),('1946-10-06 00:00:00'),
              ('1946-10-23 00:00:00'),('1946-11-19 03:11:21'),('1947-01-02 05:04:16'),
              ('1947-09-23 23:57:34'),('1947-11-30 00:50:13'),('1948-03-05 18:11:03'),
              ('1948-03-09 02:33:13'),('1948-04-10 00:24:59'),('1948-06-01 08:51:57'),
              ('1948-07-27 16:11:03'),('1948-10-29 05:29:57'),('1949-06-13 00:38:11'),
              ('1949-10-14 01:50:48'),('1950-02-12 00:00:00'),('1950-02-21 22:38:06'),
              ('1950-03-26 07:56:02'),('1951-01-31 13:12:27'),('1951-04-17 13:35:33'),
              ('1951-08-17 11:51:53'),('1951-12-31 00:00:00'),('1952-05-25 06:22:51'),
              ('1953-05-02 14:26:04'),('1953-06-19 19:35:42'),('1953-07-02 18:01:07'),
              ('1953-11-01 14:27:14'),('1954-01-05 02:40:21'),('1954-05-01 05:52:08'),
              ('1954-06-05 15:11:12'),('1955-01-12 00:00:00'),('1955-02-03 19:51:41'),
              ('1955-02-27 15:38:21'),('1955-05-25 00:00:00'),('1955-08-22 19:47:38'),
              ('1955-08-30 08:38:26'),('1955-12-15 22:02:31'),('1956-08-17 00:00:00'),
              ('1956-09-17 06:58:08'),('1956-10-02 00:00:00'),('1957-05-15 05:05:17'),
              ('1958-11-01 10:11:48'),('1959-03-31 00:00:00'),('1959-11-02 23:28:29'),
              ('1960-01-26 21:57:36'),('1960-10-31 00:00:00'),('1960-11-18 11:19:40'),
              ('1961-03-22 01:28:24'),('1961-07-11 03:48:39'),('1962-11-08 00:00:00'),
              ('1963-02-27 12:25:30'),('1963-04-11 00:44:21'),('1963-06-26 03:25:23'),
              ('1963-07-26 16:14:47'),('1963-08-14 08:09:23'),('1963-10-28 15:24:24'),
              ('1964-01-11 21:08:21'),('1964-05-26 05:12:28'),('1965-03-18 22:49:37'),
              ('1966-03-26 18:42:55'),('1966-09-11 22:46:33'),('1967-01-21 00:00:21'),
              ('1967-02-28 02:47:14'),('1967-06-09 13:27:40'),('1967-06-29 00:49:17'),
              ('1967-09-29 00:00:00'),('1967-12-14 06:37:06'),('1968-02-04 11:27:22'),
              ('1968-03-15 21:33:37'),('1968-08-31 18:53:30'),('1968-09-04 00:00:00'),
              ('1968-09-11 00:00:00'),('1968-11-07 02:40:13'),('1968-11-28 01:29:10'),
              ('1969-01-31 00:00:00'),('1969-05-04 09:11:55'),('1969-10-28 19:10:25'),
              ('1970-01-02 00:00:00'),('1970-06-09 05:45:57'),('1970-07-17 10:13:47'),
              ('1970-12-21 16:08:41'),('1971-02-03 00:00:00'),('1971-10-03 00:00:00'),
              ('1971-12-30 17:44:34'),('1972-03-12 04:03:57'),('1972-08-27 00:00:00'),
              ('1972-09-13 13:44:08'),('1972-11-26 00:00:00'),('1973-05-28 00:00:00'),
              ('1974-03-30 00:00:00'),('1974-05-23 19:28:42'),('1974-08-03 07:58:03'),
              ('1975-09-20 04:00:22'),('1975-11-03 16:41:33'),('1975-12-20 00:00:00'),
              ('1976-01-07 00:55:02'),('1976-05-14 11:04:05'),('1976-08-04 15:11:46'),
              ('1976-08-18 17:11:29'),('1977-03-03 19:45:25'),('1977-09-11 22:10:22'),
              ('1977-12-13 06:18:33'),('1979-05-05 16:04:17'),('1979-06-02 22:22:32'),
              ('1979-12-08 00:00:00'),('1980-02-03 09:54:52'),('1980-05-30 02:23:29'),
              ('1980-07-14 17:19:17'),('1980-12-15 00:00:00'),('1981-04-13 19:17:48'),
              ('1981-11-21 16:22:17'),('1982-04-06 04:42:04'),('1982-11-24 12:17:25'),
              ('1983-12-04 16:23:48'),('1984-04-26 00:00:00'),('1984-07-30 00:00:00'),
              ('1985-01-02 00:00:00'),('1985-07-23 05:12:22'),('1985-10-04 14:56:23'),
              ('1985-12-02 17:47:43'),('1986-03-01 00:00:00'),('1986-08-30 03:27:04'),
              ('1987-01-16 14:09:52'),('1987-02-03 03:55:02'),('1987-03-03 12:04:10'),
              ('1987-09-21 11:28:54'),('1988-04-24 20:59:14'),('1988-06-13 18:25:07'),
              ('1988-07-04 00:00:00'),('1988-07-23 10:09:14'),('1988-08-26 09:41:22'),
              ('1989-07-25 05:19:18'),('1990-07-13 00:00:00'),('1990-07-22 16:52:29'),
              ('1990-08-22 22:40:34'),('1991-01-09 00:00:00'),('1991-02-25 02:06:00'),
              ('1991-04-26 00:00:00'),('1991-10-20 12:57:55'),('1991-11-15 12:18:40'),
              ('1992-06-15 03:23:28'),('1992-08-22 11:08:44'),('1992-12-06 23:07:49'),
              ('1992-12-23 10:48:27'),('1993-07-18 18:05:03'),('1993-08-28 12:46:25'),
              ('1994-06-01 18:17:38'),('1994-08-25 14:39:37'),('1994-12-02 00:00:00'),
              ('1995-04-21 04:09:34'),('1995-06-28 21:26:52'),('1995-07-11 03:04:35'),
              ('1995-09-24 00:00:00'),('1996-06-27 02:43:39'),('1997-10-05 09:25:29'),
              ('1997-10-16 01:24:59'),('1999-01-16 00:00:00'),('1999-05-28 06:52:34'),
              ('1999-08-11 12:35:50'),('2000-04-30 00:00:00'),('2000-11-04 12:40:42'),
              ('2001-01-29 07:51:53'),('2001-09-05 11:22:16'),('2002-02-01 19:34:03'),
              ('2003-02-18 00:00:00'),('2003-03-06 00:00:00'),('2003-05-22 00:00:00'),
              ('2004-02-19 00:00:00'),('2004-05-12 00:00:00'),('2004-09-10 00:00:00'),
              ('2005-02-04 21:34:25'),('2005-03-08 14:48:55'),('2005-03-28 09:35:18'),
              ('2005-06-17 10:29:21'),('2005-08-06 07:43:46'),('2006-01-03 11:02:29'),
              ('2006-03-11 00:42:35'),('2006-03-25 13:55:48'),('2006-10-25 23:18:04'),
              ('2007-07-10 21:14:32'),('2007-09-26 15:45:08'),('2007-11-28 19:07:20'),
              ('2008-06-04 08:48:59'),('2008-07-18 00:00:00'),('2008-08-14 03:00:01'),
              ('2008-11-28 05:02:23'),('2008-11-29 16:07:13'),('2010-09-09 11:08:48'),
              ('2011-01-17 12:47:26'),('2011-03-25 06:25:51'),('2011-05-06 03:38:56'),
              ('2012-02-06 14:45:33'),('2012-05-01 00:46:29'),('2012-05-23 13:56:45'),
              ('2012-09-17 15:14:54'),('2012-12-12 21:21:34'),('2013-04-16 00:00:00'),
              ('2014-03-10 05:07:51'),('2014-05-09 23:13:07'),('2014-07-24 06:41:03'),
              ('2014-07-27 05:13:13'),('2015-05-05 05:31:40'),('2016-05-18 14:44:12'),
              ('2016-09-29 00:00:00'),('2017-01-27 00:00:00'),('2017-05-03 01:50:33'),
              ('2017-06-09 00:53:25'),('2017-09-12 04:34:06'),('2018-02-01 07:14:12'),
              ('2018-03-22 22:16:24'),('2018-04-20 08:19:24'),('2018-07-25 19:32:34'),
              ('2018-08-09 00:00:00'),('2019-03-23 00:00:00'),('2019-12-18 15:04:21'),
              ('2020-04-09 15:54:29'),('2020-09-13 15:05:56'),('2021-04-21 08:07:20'),
              ('2021-05-04 10:09:48'),('2021-06-18 00:00:00'),('2021-09-06 00:00:00'),
              ('2022-10-24 00:00:00'),('2022-11-24 02:54:09'),('2023-04-07 16:59:25'),
              ('2023-11-26 00:00:00'),('2024-04-01 11:20:53'),('2024-04-19 00:00:00'),
              ('2024-09-16 05:45:31'),('2024-10-15 02:07:05'),('2024-11-05 00:00:00'),
              ('2024-12-27 02:53:35'),('2025-02-04 00:00:00'),('2025-05-05 12:19:13'),
              ('2025-08-20 00:00:00'),('2025-09-25 01:09:50'),('2027-03-02 10:18:54'),
              ('2028-08-20 00:00:00'),('2028-11-18 16:08:10'),('2029-01-20 11:11:25'),
              ('2029-11-06 00:00:00'),('2030-06-11 10:48:40'),('2030-08-24 01:16:16'),
              ('2031-03-08 20:50:33'),('2031-04-25 21:26:00'),('2032-05-31 14:26:32'),
              ('2032-07-28 04:02:35'),('2033-04-30 03:04:26'),('2033-06-16 15:07:21'),
              ('2033-08-11 10:08:08'),('2033-09-21 07:18:35'),('2034-01-25 13:32:44'),
              ('2034-01-30 15:30:45'),('2034-08-26 19:59:15'),('2034-12-01 23:39:50'),
              ('2034-12-25 00:00:00'),('2035-04-12 07:50:46'),('2035-04-25 15:36:36'),
              ('2035-05-25 20:29:49'),('2035-06-06 20:59:57'),('2035-07-15 20:11:20'),
              ('2035-08-02 09:53:16'),('2035-08-03 00:00:00'),('2035-12-08 00:00:00'),
              ('2036-03-13 10:35:23'),('2036-03-25 16:31:32'),('2036-09-06 12:50:17'),
              ('2036-10-07 02:50:31'),('2037-05-26 00:00:00'),('2037-11-21 05:17:58'),
              ('2038-02-11 07:16:04'),('2038-04-08 00:16:00'),('2038-05-26 01:10:18'),
              ('2038-11-17 09:13:06'),('2039-03-10 11:41:13'),('2039-11-08 10:08:53');

            UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d);

            # Cleanup
            DROP TABLE t;
            SET GLOBAL innodb_stats_persistent= DEFAULT;
            {code}

            {noformat:title=11.1 3ef11161 non-debug}
            2023-04-30 2:52:32 36 [ERROR] [FATAL] InnoDB: Clustered record field for column 6 not found table n_user_defined 1 index n_user_defined 6 InnoDB table `test`.`t` field name NULL MySQL table t field name DB_ROW_ID n_fields 6 query UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)
            230430 2:52:32 [ERROR] mysqld got signal 6 ;

            #2 <signal handler called>
            #3 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
            #4 0x00007f4a3f2a9d2f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
            #5 0x00007f4a3f25aef2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
            #6 0x00007f4a3f245472 in __GI_abort () at ./stdlib/abort.c:79
            #7 0x000055cf561ced91 in ib::fatal::~fatal (this=this@entry=0x7f4a305a6400, __in_chrg=<optimized out>) at /data/src/11.1/storage/innobase/ut/ut0ut.cc:527
            #8 0x000055cf561aff10 in build_template_field (prebuilt=<optimized out>, clust_index=clust_index@entry=0x7f49ac033fd0, index=index@entry=0x7f49ac033fd0, table=<optimized out>, field=field@entry=0x7f49acb22ce0, i=i@entry=6, v_no=<optimized out>) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7137
            #9 0x000055cf567f974d in ha_innobase::build_template (this=this@entry=0x7f49acb224d0, whole_row=<optimized out>, whole_row@entry=false) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7521
            #10 0x000055cf567fa280 in ha_innobase::change_active_index (this=0x7f49acb224d0, keynr=<optimized out>) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:9171
            #11 0x000055cf56391168 in handler::ha_index_init (sorted=<optimized out>, idx=1, this=0x7f49acb224d0) at /data/src/11.1/sql/handler.h:3409
            #12 join_read_always_key (tab=0x7f49acb0e0f0) at /data/src/11.1/sql/sql_select.cc:23811
            #13 0x000055cf5637b1e1 in sub_select (join=0x7f49ac012ec0, join_tab=0x7f49acb0e0f0, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23036
            #14 0x000055cf56369e41 in evaluate_join_record (join=join@entry=0x7f49ac012ec0, join_tab=join_tab@entry=0x7f49acb0dcf0, error=<optimized out>) at /data/src/11.1/sql/sql_select.cc:23272
            #15 0x000055cf5637b1fd in sub_select (join=0x7f49ac012ec0, join_tab=0x7f49acb0dcf0, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23039
            #16 0x000055cf563a8d5d in do_select (procedure=<optimized out>, join=0x7f49ac012ec0) at /data/src/11.1/sql/sql_select.cc:22571
            #17 JOIN::exec_inner (this=this@entry=0x7f49ac012ec0) at /data/src/11.1/sql/sql_select.cc:4899
            #18 0x000055cf563a91ee in JOIN::exec (this=this@entry=0x7f49ac012ec0) at /data/src/11.1/sql/sql_select.cc:4676
            #19 0x000055cf563a9316 in Sql_cmd_dml::execute_inner (this=this@entry=0x7f49ac0124e8, thd=thd@entry=0x7f49ac000c68) at /data/src/11.1/sql/sql_select.cc:32615
            #20 0x000055cf56406b01 in Sql_cmd_update::execute_inner (this=0x7f49ac0124e8, thd=0x7f49ac000c68) at /data/src/11.1/sql/sql_update.cc:3062
            #21 0x000055cf563686cd in Sql_cmd_dml::execute (this=0x7f49ac0124e8, thd=0x7f49ac000c68) at /data/src/11.1/sql/sql_select.cc:32552
            #22 0x000055cf563323d6 in mysql_execute_command (thd=thd@entry=0x7f49ac000c68, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/src/11.1/sql/sql_parse.cc:4393
            #23 0x000055cf56335ff5 in mysql_parse (thd=0x7f49ac000c68, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>) at /data/src/11.1/sql/sql_parse.cc:7760
            #24 0x000055cf563382d5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7f49ac000c68, packet=packet@entry=0x7f49ac1031d9 "UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)", packet_length=packet_length@entry=88, blocking=blocking@entry=true) at /data/src/11.1/sql/sql_parse.cc:1989
            #25 0x000055cf563395d7 in do_command (thd=0x7f49ac000c68, blocking=blocking@entry=true) at /data/src/11.1/sql/sql_parse.cc:1405
            #26 0x000055cf564498e7 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55cf5a22cf88, put_in_cache=put_in_cache@entry=true) at /data/src/11.1/sql/sql_connect.cc:1416
            #27 0x000055cf56449c7d in handle_one_connection (arg=arg@entry=0x55cf5a22cf88) at /data/src/11.1/sql/sql_connect.cc:1318
            #28 0x000055cf56759ad7 in pfs_spawn_thread (arg=0x55cf5a1e0608) at /data/src/11.1/storage/perfschema/pfs.cc:2201
            #29 0x00007f4a3f2a7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
            #30 0x00007f4a3f3285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
            {noformat}
            {noformat:title=11.1 3ef11161 debug}
            mariadbd: /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7400: void ha_innobase::build_template(bool): Assertion `!is_v' failed.
            230430 2:57:32 [ERROR] mysqld got signal 6 ;

            #9 0x00007fdbdc453df2 in __GI___assert_fail (assertion=0x55a20fb36440 "!is_v", file=0x55a20fb2a8c0 "/data/src/11.1/storage/innobase/handler/ha_innodb.cc", line=7400, function=0x55a20fb363e0 "void ha_innobase::build_template(bool)") at ./assert/assert.c:101
            #10 0x000055a20e3611f9 in ha_innobase::build_template (this=0x61d0004844b8, whole_row=true) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7400
            #11 0x000055a20e36d352 in ha_innobase::change_active_index (this=0x61d0004844b8, keynr=1) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:9171
            #12 0x000055a20e36a2dc in ha_innobase::index_init (this=0x61d0004844b8, keynr=1) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:8744
            #13 0x000055a20cdac9f5 in handler::ha_index_init (this=0x61d0004844b8, idx=1, sorted=false) at /data/src/11.1/sql/handler.h:3409
            #14 0x000055a20d25fd3a in join_read_always_key (tab=0x62900086d680) at /data/src/11.1/sql/sql_select.cc:23811
            #15 0x000055a20d25a637 in sub_select (join=0x62900010b810, join_tab=0x62900086d680, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23036
            #16 0x000055a20d25bf77 in evaluate_join_record (join=0x62900010b810, join_tab=0x62900086d280, error=0) at /data/src/11.1/sql/sql_select.cc:23272
            #17 0x000055a20d25a7f3 in sub_select (join=0x62900010b810, join_tab=0x62900086d280, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23039
            #18 0x000055a20d2585b9 in do_select (join=0x62900010b810, procedure=0x0) at /data/src/11.1/sql/sql_select.cc:22571
            #19 0x000055a20d1da6df in JOIN::exec_inner (this=0x62900010b810) at /data/src/11.1/sql/sql_select.cc:4899
            #20 0x000055a20d1d7a62 in JOIN::exec (this=0x62900010b810) at /data/src/11.1/sql/sql_select.cc:4676
            #21 0x000055a20d29f962 in Sql_cmd_dml::execute_inner (this=0x62900010ad88, thd=0x62b00017a218) at /data/src/11.1/sql/sql_select.cc:32615
            #22 0x000055a20d44edf7 in Sql_cmd_update::execute_inner (this=0x62900010ad88, thd=0x62b00017a218) at /data/src/11.1/sql/sql_update.cc:3062
            #23 0x000055a20d29f44e in Sql_cmd_dml::execute (this=0x62900010ad88, thd=0x62b00017a218) at /data/src/11.1/sql/sql_select.cc:32552
            #24 0x000055a20d0c7ead in mysql_execute_command (thd=0x62b00017a218, is_called_from_prepared_stmt=false) at /data/src/11.1/sql/sql_parse.cc:4393
            #25 0x000055a20d0df33a in mysql_parse (thd=0x62b00017a218, rawbuf=0x629000109238 "UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)", length=88, parser_state=0x7fdbc47daa20) at /data/src/11.1/sql/sql_parse.cc:7760
            #26 0x000055a20d0b7ab1 in dispatch_command (command=COM_QUERY, thd=0x62b00017a218, packet=0x6290008c0219 "UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)", packet_length=88, blocking=true) at /data/src/11.1/sql/sql_parse.cc:1892
            #27 0x000055a20d0b47ef in do_command (thd=0x62b00017a218, blocking=true) at /data/src/11.1/sql/sql_parse.cc:1405
            #28 0x000055a20d56c6e2 in do_handle_one_connection (connect=0x60800005c8b8, put_in_cache=true) at /data/src/11.1/sql/sql_connect.cc:1416
            #29 0x000055a20d56c0a3 in handle_one_connection (arg=0x608000003a38) at /data/src/11.1/sql/sql_connect.cc:1318
            #30 0x000055a20e165870 in pfs_spawn_thread (arg=0x617000008218) at /data/src/11.1/storage/perfschema/pfs.cc:2201
            #31 0x00007fdbdc4a7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
            #32 0x00007fdbdc5285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
            {noformat}
            Notes:

            - The test case is non-deterministic despite the absence of obvious race conditions. The difference is likely in statistics. When the failure occurs, the UPDATE plan is different from the usual one (see the plans below). It only happens once in a while, run with {{*--repeat=N*}}. It usually fails for me withing ~20-30 attempts.

            {code:sql|title=PASSING plan}
            EXPLAIN UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d);
            id select_type table type possible_keys key key_len ref rows Extra
            1 SIMPLE t1 index NULL d 6 NULL 455 Using index
            1 SIMPLE t2 ref t,d t 4 func 1 Using where
            {code}
            {code:sql|title=FAILING plan}
            EXPLAIN UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d);
            id select_type table type possible_keys key key_len ref rows Extra
            1 SIMPLE t1 index NULL d 6 NULL 547 Using index
            1 SIMPLE t2 ref|filter t,d t|d 4|6 func 2 (83%) Using where; Using rowid filter
            {code}

            - The test case turns off InnoDB persistent statistics to achieve the result. It is not a mandatory requirement for the failure to happen, initially (outside MTR) it occurred with InnoDB persistent statistics ON. I suppose for someone knowing the conditions when the optimization is triggered, it should be possible to modify the dataset so that the target execution plan is chosen deterministically, even with EITS.

            - The failure apparently started happening on 11.1 after this commit:
            {noformat}
            commit 554278e24dbc2c0af9fcfd66c54ca6a99a3cf17f
            Author: Igor Babaev
                MDEV-7487 Semi-join optimization for single-table update/delete statements
            {noformat}
            However, it's possible that it just revealed a pre-existing problem.

            {code:sql}
            --source include/have_innodb.inc

            SET GLOBAL innodb_stats_persistent= 0;

            CREATE TABLE t (
              pk INTEGER AUTO_INCREMENT,
              d DATETIME DEFAULT '2000-01-01 00:00:00',
              t TIME AS (TIME(d)) VIRTUAL,
              f1 TIME,
              f2 DATETIME DEFAULT '2000-01-01 00:00:00',
              f3 VARCHAR(1) DEFAULT 'x',
              f4 VARCHAR(1) DEFAULT 'x',
              PRIMARY KEY (pk),
              KEY (t),
              KEY (d)
            ) ENGINE=InnoDB;
            INSERT INTO t (d) VALUES
              (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
              (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
              (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
              (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
              (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),
              ('1900-01-01 00:00:00'),('1900-01-01 00:00:00'),('1900-03-26 00:00:00'),
              ('1900-05-19 19:48:19'),('1901-05-02 00:00:00'),('1901-12-12 23:05:43'),
              ('1902-05-31 00:00:00'),('1902-06-17 00:00:00'),('1902-11-06 08:31:01'),
              ('1903-06-11 00:00:00'),('1904-01-16 09:00:30'),('1904-02-24 08:17:28'),
              ('1904-04-03 00:00:00'),('1905-01-17 00:00:00'),('1905-05-23 04:59:29'),
              ('1905-09-22 21:52:15'),('1905-12-06 13:11:49'),('1906-02-27 10:51:18'),
              ('1906-06-08 20:01:15'),('1907-02-09 23:08:14'),('1907-04-03 08:33:28'),
              ('1907-11-23 19:00:13'),('1908-09-03 03:19:29'),('1908-10-03 20:54:11'),
              ('1908-12-22 09:47:25'),('1909-04-10 10:29:16'),('1911-03-11 00:00:00'),
              ('1911-06-30 00:00:00'),('1911-08-07 01:32:56'),('1912-03-08 00:00:00'),
              ('1912-03-10 00:00:00'),('1912-03-13 11:40:19'),('1912-11-12 20:10:13'),
              ('1913-01-10 00:00:00'),('1913-09-15 18:43:53'),('1913-10-10 00:00:00'),
              ('1913-10-11 00:00:00'),('1914-01-18 17:52:52'),('1915-07-10 23:29:43'),
              ('1915-09-05 00:00:00'),('1915-09-25 14:42:14'),('1916-04-17 00:00:00'),
              ('1916-11-02 23:33:35'),('1917-04-22 13:14:41'),('1917-05-12 00:00:00'),
              ('1917-05-23 16:50:52'),('1917-06-24 12:14:19'),('1917-09-17 07:37:32'),
              ('1918-01-04 18:27:31'),('1918-05-02 12:55:51'),('1918-05-18 00:00:00'),
              ('1918-08-05 21:51:15'),('1918-09-12 19:27:33'),('1919-02-18 22:26:53'),
              ('1919-07-24 00:54:48'),('1919-09-07 22:41:09'),('1919-10-04 16:12:01'),
              ('1919-12-06 04:40:47'),('1920-01-28 00:00:00'),('1920-05-07 14:45:18'),
              ('1920-06-07 16:44:53'),('1921-02-15 11:55:05'),('1921-04-16 00:00:00'),
              ('1921-07-06 00:00:00'),('1922-04-13 00:00:00'),('1922-11-25 13:15:40'),
              ('1922-12-10 00:00:00'),('1923-02-01 00:00:00'),('1923-04-07 00:00:00'),
              ('1923-08-12 08:57:05'),('1923-10-22 00:00:00'),('1924-03-09 00:00:00'),
              ('1924-07-01 14:53:14'),('1924-07-04 23:45:21'),('1924-07-28 07:16:47'),
              ('1924-12-02 11:49:57'),('1925-09-09 00:00:00'),('1925-11-06 00:00:00'),
              ('1926-05-04 00:00:00'),('1926-06-21 06:38:24'),('1926-09-26 07:03:33'),
              ('1926-10-24 00:00:00'),('1926-11-17 03:12:56'),('1926-12-01 10:37:11'),
              ('1926-12-26 01:06:29'),('1927-08-25 00:00:00'),('1927-08-25 01:00:09'),
              ('1928-02-29 01:21:11'),('1928-03-08 00:00:00'),('1928-05-07 08:14:46'),
              ('1928-06-11 02:30:03'),('1928-09-04 03:56:02'),('1928-09-14 00:10:49'),
              ('1929-11-23 23:11:52'),('1929-12-10 00:00:00'),('1930-05-01 00:00:00'),
              ('1930-05-07 00:25:07'),('1931-04-26 00:00:00'),('1931-06-05 23:04:47'),
              ('1931-07-08 23:24:45'),('1932-10-08 00:00:00'),('1932-10-22 00:00:00'),
              ('1933-08-27 23:05:40'),('1933-10-21 05:28:44'),('1934-07-09 00:00:00'),
              ('1934-09-27 10:53:33'),('1935-04-01 00:00:00'),('1935-05-08 09:40:03'),
              ('1935-10-24 20:43:43'),('1935-11-18 11:22:59'),('1936-05-10 00:00:00'),
              ('1936-09-03 00:00:00'),('1937-02-16 06:36:19'),('1937-03-16 00:00:00'),
              ('1937-05-16 20:05:38'),('1937-09-12 00:00:00'),('1939-01-03 00:00:00'),
              ('1940-09-18 00:00:00'),('1940-10-26 00:00:00'),('1941-02-08 05:23:51'),
              ('1941-04-18 00:00:00'),('1941-07-01 00:00:00'),('1941-08-21 00:00:00'),
              ('1941-12-17 13:48:07'),('1942-09-17 15:03:18'),('1942-11-28 20:49:30'),
              ('1943-01-18 00:18:15'),('1943-05-20 00:00:00'),('1943-06-01 00:00:00'),
              ('1943-12-16 11:48:11'),('1943-12-31 12:45:58'),('1944-01-15 06:43:50'),
              ('1944-03-19 00:00:00'),('1944-03-23 00:00:00'),('1944-05-19 00:00:00'),
              ('1944-06-13 09:26:18'),('1944-07-19 11:52:08'),('1944-08-11 00:00:00'),
              ('1944-10-27 00:00:00'),('1945-01-17 17:55:51'),('1945-02-23 20:54:46'),
              ('1945-03-04 07:58:13'),('1945-05-07 00:00:00'),('1945-06-12 00:00:00'),
              ('1945-07-14 09:47:28'),('1945-10-24 19:31:58'),('1945-11-03 00:00:00'),
              ('1945-11-26 20:13:02'),('1945-12-24 00:00:00'),('1946-10-06 00:00:00'),
              ('1946-10-23 00:00:00'),('1946-11-19 03:11:21'),('1947-01-02 05:04:16'),
              ('1947-09-23 23:57:34'),('1947-11-30 00:50:13'),('1948-03-05 18:11:03'),
              ('1948-03-09 02:33:13'),('1948-04-10 00:24:59'),('1948-06-01 08:51:57'),
              ('1948-07-27 16:11:03'),('1948-10-29 05:29:57'),('1949-06-13 00:38:11'),
              ('1949-10-14 01:50:48'),('1950-02-12 00:00:00'),('1950-02-21 22:38:06'),
              ('1950-03-26 07:56:02'),('1951-01-31 13:12:27'),('1951-04-17 13:35:33'),
              ('1951-08-17 11:51:53'),('1951-12-31 00:00:00'),('1952-05-25 06:22:51'),
              ('1953-05-02 14:26:04'),('1953-06-19 19:35:42'),('1953-07-02 18:01:07'),
              ('1953-11-01 14:27:14'),('1954-01-05 02:40:21'),('1954-05-01 05:52:08'),
              ('1954-06-05 15:11:12'),('1955-01-12 00:00:00'),('1955-02-03 19:51:41'),
              ('1955-02-27 15:38:21'),('1955-05-25 00:00:00'),('1955-08-22 19:47:38'),
              ('1955-08-30 08:38:26'),('1955-12-15 22:02:31'),('1956-08-17 00:00:00'),
              ('1956-09-17 06:58:08'),('1956-10-02 00:00:00'),('1957-05-15 05:05:17'),
              ('1958-11-01 10:11:48'),('1959-03-31 00:00:00'),('1959-11-02 23:28:29'),
              ('1960-01-26 21:57:36'),('1960-10-31 00:00:00'),('1960-11-18 11:19:40'),
              ('1961-03-22 01:28:24'),('1961-07-11 03:48:39'),('1962-11-08 00:00:00'),
              ('1963-02-27 12:25:30'),('1963-04-11 00:44:21'),('1963-06-26 03:25:23'),
              ('1963-07-26 16:14:47'),('1963-08-14 08:09:23'),('1963-10-28 15:24:24'),
              ('1964-01-11 21:08:21'),('1964-05-26 05:12:28'),('1965-03-18 22:49:37'),
              ('1966-03-26 18:42:55'),('1966-09-11 22:46:33'),('1967-01-21 00:00:21'),
              ('1967-02-28 02:47:14'),('1967-06-09 13:27:40'),('1967-06-29 00:49:17'),
              ('1967-09-29 00:00:00'),('1967-12-14 06:37:06'),('1968-02-04 11:27:22'),
              ('1968-03-15 21:33:37'),('1968-08-31 18:53:30'),('1968-09-04 00:00:00'),
              ('1968-09-11 00:00:00'),('1968-11-07 02:40:13'),('1968-11-28 01:29:10'),
              ('1969-01-31 00:00:00'),('1969-05-04 09:11:55'),('1969-10-28 19:10:25'),
              ('1970-01-02 00:00:00'),('1970-06-09 05:45:57'),('1970-07-17 10:13:47'),
              ('1970-12-21 16:08:41'),('1971-02-03 00:00:00'),('1971-10-03 00:00:00'),
              ('1971-12-30 17:44:34'),('1972-03-12 04:03:57'),('1972-08-27 00:00:00'),
              ('1972-09-13 13:44:08'),('1972-11-26 00:00:00'),('1973-05-28 00:00:00'),
              ('1974-03-30 00:00:00'),('1974-05-23 19:28:42'),('1974-08-03 07:58:03'),
              ('1975-09-20 04:00:22'),('1975-11-03 16:41:33'),('1975-12-20 00:00:00'),
              ('1976-01-07 00:55:02'),('1976-05-14 11:04:05'),('1976-08-04 15:11:46'),
              ('1976-08-18 17:11:29'),('1977-03-03 19:45:25'),('1977-09-11 22:10:22'),
              ('1977-12-13 06:18:33'),('1979-05-05 16:04:17'),('1979-06-02 22:22:32'),
              ('1979-12-08 00:00:00'),('1980-02-03 09:54:52'),('1980-05-30 02:23:29'),
              ('1980-07-14 17:19:17'),('1980-12-15 00:00:00'),('1981-04-13 19:17:48'),
              ('1981-11-21 16:22:17'),('1982-04-06 04:42:04'),('1982-11-24 12:17:25'),
              ('1983-12-04 16:23:48'),('1984-04-26 00:00:00'),('1984-07-30 00:00:00'),
              ('1985-01-02 00:00:00'),('1985-07-23 05:12:22'),('1985-10-04 14:56:23'),
              ('1985-12-02 17:47:43'),('1986-03-01 00:00:00'),('1986-08-30 03:27:04'),
              ('1987-01-16 14:09:52'),('1987-02-03 03:55:02'),('1987-03-03 12:04:10'),
              ('1987-09-21 11:28:54'),('1988-04-24 20:59:14'),('1988-06-13 18:25:07'),
              ('1988-07-04 00:00:00'),('1988-07-23 10:09:14'),('1988-08-26 09:41:22'),
              ('1989-07-25 05:19:18'),('1990-07-13 00:00:00'),('1990-07-22 16:52:29'),
              ('1990-08-22 22:40:34'),('1991-01-09 00:00:00'),('1991-02-25 02:06:00'),
              ('1991-04-26 00:00:00'),('1991-10-20 12:57:55'),('1991-11-15 12:18:40'),
              ('1992-06-15 03:23:28'),('1992-08-22 11:08:44'),('1992-12-06 23:07:49'),
              ('1992-12-23 10:48:27'),('1993-07-18 18:05:03'),('1993-08-28 12:46:25'),
              ('1994-06-01 18:17:38'),('1994-08-25 14:39:37'),('1994-12-02 00:00:00'),
              ('1995-04-21 04:09:34'),('1995-06-28 21:26:52'),('1995-07-11 03:04:35'),
              ('1995-09-24 00:00:00'),('1996-06-27 02:43:39'),('1997-10-05 09:25:29'),
              ('1997-10-16 01:24:59'),('1999-01-16 00:00:00'),('1999-05-28 06:52:34'),
              ('1999-08-11 12:35:50'),('2000-04-30 00:00:00'),('2000-11-04 12:40:42'),
              ('2001-01-29 07:51:53'),('2001-09-05 11:22:16'),('2002-02-01 19:34:03'),
              ('2003-02-18 00:00:00'),('2003-03-06 00:00:00'),('2003-05-22 00:00:00'),
              ('2004-02-19 00:00:00'),('2004-05-12 00:00:00'),('2004-09-10 00:00:00'),
              ('2005-02-04 21:34:25'),('2005-03-08 14:48:55'),('2005-03-28 09:35:18'),
              ('2005-06-17 10:29:21'),('2005-08-06 07:43:46'),('2006-01-03 11:02:29'),
              ('2006-03-11 00:42:35'),('2006-03-25 13:55:48'),('2006-10-25 23:18:04'),
              ('2007-07-10 21:14:32'),('2007-09-26 15:45:08'),('2007-11-28 19:07:20'),
              ('2008-06-04 08:48:59'),('2008-07-18 00:00:00'),('2008-08-14 03:00:01'),
              ('2008-11-28 05:02:23'),('2008-11-29 16:07:13'),('2010-09-09 11:08:48'),
              ('2011-01-17 12:47:26'),('2011-03-25 06:25:51'),('2011-05-06 03:38:56'),
              ('2012-02-06 14:45:33'),('2012-05-01 00:46:29'),('2012-05-23 13:56:45'),
              ('2012-09-17 15:14:54'),('2012-12-12 21:21:34'),('2013-04-16 00:00:00'),
              ('2014-03-10 05:07:51'),('2014-05-09 23:13:07'),('2014-07-24 06:41:03'),
              ('2014-07-27 05:13:13'),('2015-05-05 05:31:40'),('2016-05-18 14:44:12'),
              ('2016-09-29 00:00:00'),('2017-01-27 00:00:00'),('2017-05-03 01:50:33'),
              ('2017-06-09 00:53:25'),('2017-09-12 04:34:06'),('2018-02-01 07:14:12'),
              ('2018-03-22 22:16:24'),('2018-04-20 08:19:24'),('2018-07-25 19:32:34'),
              ('2018-08-09 00:00:00'),('2019-03-23 00:00:00'),('2019-12-18 15:04:21'),
              ('2020-04-09 15:54:29'),('2020-09-13 15:05:56'),('2021-04-21 08:07:20'),
              ('2021-05-04 10:09:48'),('2021-06-18 00:00:00'),('2021-09-06 00:00:00'),
              ('2022-10-24 00:00:00'),('2022-11-24 02:54:09'),('2023-04-07 16:59:25'),
              ('2023-11-26 00:00:00'),('2024-04-01 11:20:53'),('2024-04-19 00:00:00'),
              ('2024-09-16 05:45:31'),('2024-10-15 02:07:05'),('2024-11-05 00:00:00'),
              ('2024-12-27 02:53:35'),('2025-02-04 00:00:00'),('2025-05-05 12:19:13'),
              ('2025-08-20 00:00:00'),('2025-09-25 01:09:50'),('2027-03-02 10:18:54'),
              ('2028-08-20 00:00:00'),('2028-11-18 16:08:10'),('2029-01-20 11:11:25'),
              ('2029-11-06 00:00:00'),('2030-06-11 10:48:40'),('2030-08-24 01:16:16'),
              ('2031-03-08 20:50:33'),('2031-04-25 21:26:00'),('2032-05-31 14:26:32'),
              ('2032-07-28 04:02:35'),('2033-04-30 03:04:26'),('2033-06-16 15:07:21'),
              ('2033-08-11 10:08:08'),('2033-09-21 07:18:35'),('2034-01-25 13:32:44'),
              ('2034-01-30 15:30:45'),('2034-08-26 19:59:15'),('2034-12-01 23:39:50'),
              ('2034-12-25 00:00:00'),('2035-04-12 07:50:46'),('2035-04-25 15:36:36'),
              ('2035-05-25 20:29:49'),('2035-06-06 20:59:57'),('2035-07-15 20:11:20'),
              ('2035-08-02 09:53:16'),('2035-08-03 00:00:00'),('2035-12-08 00:00:00'),
              ('2036-03-13 10:35:23'),('2036-03-25 16:31:32'),('2036-09-06 12:50:17'),
              ('2036-10-07 02:50:31'),('2037-05-26 00:00:00'),('2037-11-21 05:17:58'),
              ('2038-02-11 07:16:04'),('2038-04-08 00:16:00'),('2038-05-26 01:10:18'),
              ('2038-11-17 09:13:06'),('2039-03-10 11:41:13'),('2039-11-08 10:08:53');

            UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d);

            # Cleanup
            DROP TABLE t;
            SET GLOBAL innodb_stats_persistent= DEFAULT;
            {code}

            {noformat:title=11.1 3ef11161 non-debug}
            2023-04-30 2:52:32 36 [ERROR] [FATAL] InnoDB: Clustered record field for column 6 not found table n_user_defined 1 index n_user_defined 6 InnoDB table `test`.`t` field name NULL MySQL table t field name DB_ROW_ID n_fields 6 query UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)
            230430 2:52:32 [ERROR] mysqld got signal 6 ;

            #2 <signal handler called>
            #3 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
            #4 0x00007f4a3f2a9d2f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
            #5 0x00007f4a3f25aef2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
            #6 0x00007f4a3f245472 in __GI_abort () at ./stdlib/abort.c:79
            #7 0x000055cf561ced91 in ib::fatal::~fatal (this=this@entry=0x7f4a305a6400, __in_chrg=<optimized out>) at /data/src/11.1/storage/innobase/ut/ut0ut.cc:527
            #8 0x000055cf561aff10 in build_template_field (prebuilt=<optimized out>, clust_index=clust_index@entry=0x7f49ac033fd0, index=index@entry=0x7f49ac033fd0, table=<optimized out>, field=field@entry=0x7f49acb22ce0, i=i@entry=6, v_no=<optimized out>) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7137
            #9 0x000055cf567f974d in ha_innobase::build_template (this=this@entry=0x7f49acb224d0, whole_row=<optimized out>, whole_row@entry=false) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7521
            #10 0x000055cf567fa280 in ha_innobase::change_active_index (this=0x7f49acb224d0, keynr=<optimized out>) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:9171
            #11 0x000055cf56391168 in handler::ha_index_init (sorted=<optimized out>, idx=1, this=0x7f49acb224d0) at /data/src/11.1/sql/handler.h:3409
            #12 join_read_always_key (tab=0x7f49acb0e0f0) at /data/src/11.1/sql/sql_select.cc:23811
            #13 0x000055cf5637b1e1 in sub_select (join=0x7f49ac012ec0, join_tab=0x7f49acb0e0f0, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23036
            #14 0x000055cf56369e41 in evaluate_join_record (join=join@entry=0x7f49ac012ec0, join_tab=join_tab@entry=0x7f49acb0dcf0, error=<optimized out>) at /data/src/11.1/sql/sql_select.cc:23272
            #15 0x000055cf5637b1fd in sub_select (join=0x7f49ac012ec0, join_tab=0x7f49acb0dcf0, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23039
            #16 0x000055cf563a8d5d in do_select (procedure=<optimized out>, join=0x7f49ac012ec0) at /data/src/11.1/sql/sql_select.cc:22571
            #17 JOIN::exec_inner (this=this@entry=0x7f49ac012ec0) at /data/src/11.1/sql/sql_select.cc:4899
            #18 0x000055cf563a91ee in JOIN::exec (this=this@entry=0x7f49ac012ec0) at /data/src/11.1/sql/sql_select.cc:4676
            #19 0x000055cf563a9316 in Sql_cmd_dml::execute_inner (this=this@entry=0x7f49ac0124e8, thd=thd@entry=0x7f49ac000c68) at /data/src/11.1/sql/sql_select.cc:32615
            #20 0x000055cf56406b01 in Sql_cmd_update::execute_inner (this=0x7f49ac0124e8, thd=0x7f49ac000c68) at /data/src/11.1/sql/sql_update.cc:3062
            #21 0x000055cf563686cd in Sql_cmd_dml::execute (this=0x7f49ac0124e8, thd=0x7f49ac000c68) at /data/src/11.1/sql/sql_select.cc:32552
            #22 0x000055cf563323d6 in mysql_execute_command (thd=thd@entry=0x7f49ac000c68, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/src/11.1/sql/sql_parse.cc:4393
            #23 0x000055cf56335ff5 in mysql_parse (thd=0x7f49ac000c68, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>) at /data/src/11.1/sql/sql_parse.cc:7760
            #24 0x000055cf563382d5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7f49ac000c68, packet=packet@entry=0x7f49ac1031d9 "UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)", packet_length=packet_length@entry=88, blocking=blocking@entry=true) at /data/src/11.1/sql/sql_parse.cc:1989
            #25 0x000055cf563395d7 in do_command (thd=0x7f49ac000c68, blocking=blocking@entry=true) at /data/src/11.1/sql/sql_parse.cc:1405
            #26 0x000055cf564498e7 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55cf5a22cf88, put_in_cache=put_in_cache@entry=true) at /data/src/11.1/sql/sql_connect.cc:1416
            #27 0x000055cf56449c7d in handle_one_connection (arg=arg@entry=0x55cf5a22cf88) at /data/src/11.1/sql/sql_connect.cc:1318
            #28 0x000055cf56759ad7 in pfs_spawn_thread (arg=0x55cf5a1e0608) at /data/src/11.1/storage/perfschema/pfs.cc:2201
            #29 0x00007f4a3f2a7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
            #30 0x00007f4a3f3285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
            {noformat}
            {noformat:title=11.1 3ef11161 debug}
            mariadbd: /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7400: void ha_innobase::build_template(bool): Assertion `!is_v' failed.
            230430 2:57:32 [ERROR] mysqld got signal 6 ;

            #9 0x00007fdbdc453df2 in __GI___assert_fail (assertion=0x55a20fb36440 "!is_v", file=0x55a20fb2a8c0 "/data/src/11.1/storage/innobase/handler/ha_innodb.cc", line=7400, function=0x55a20fb363e0 "void ha_innobase::build_template(bool)") at ./assert/assert.c:101
            #10 0x000055a20e3611f9 in ha_innobase::build_template (this=0x61d0004844b8, whole_row=true) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:7400
            #11 0x000055a20e36d352 in ha_innobase::change_active_index (this=0x61d0004844b8, keynr=1) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:9171
            #12 0x000055a20e36a2dc in ha_innobase::index_init (this=0x61d0004844b8, keynr=1) at /data/src/11.1/storage/innobase/handler/ha_innodb.cc:8744
            #13 0x000055a20cdac9f5 in handler::ha_index_init (this=0x61d0004844b8, idx=1, sorted=false) at /data/src/11.1/sql/handler.h:3409
            #14 0x000055a20d25fd3a in join_read_always_key (tab=0x62900086d680) at /data/src/11.1/sql/sql_select.cc:23811
            #15 0x000055a20d25a637 in sub_select (join=0x62900010b810, join_tab=0x62900086d680, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23036
            #16 0x000055a20d25bf77 in evaluate_join_record (join=0x62900010b810, join_tab=0x62900086d280, error=0) at /data/src/11.1/sql/sql_select.cc:23272
            #17 0x000055a20d25a7f3 in sub_select (join=0x62900010b810, join_tab=0x62900086d280, end_of_records=false) at /data/src/11.1/sql/sql_select.cc:23039
            #18 0x000055a20d2585b9 in do_select (join=0x62900010b810, procedure=0x0) at /data/src/11.1/sql/sql_select.cc:22571
            #19 0x000055a20d1da6df in JOIN::exec_inner (this=0x62900010b810) at /data/src/11.1/sql/sql_select.cc:4899
            #20 0x000055a20d1d7a62 in JOIN::exec (this=0x62900010b810) at /data/src/11.1/sql/sql_select.cc:4676
            #21 0x000055a20d29f962 in Sql_cmd_dml::execute_inner (this=0x62900010ad88, thd=0x62b00017a218) at /data/src/11.1/sql/sql_select.cc:32615
            #22 0x000055a20d44edf7 in Sql_cmd_update::execute_inner (this=0x62900010ad88, thd=0x62b00017a218) at /data/src/11.1/sql/sql_update.cc:3062
            #23 0x000055a20d29f44e in Sql_cmd_dml::execute (this=0x62900010ad88, thd=0x62b00017a218) at /data/src/11.1/sql/sql_select.cc:32552
            #24 0x000055a20d0c7ead in mysql_execute_command (thd=0x62b00017a218, is_called_from_prepared_stmt=false) at /data/src/11.1/sql/sql_parse.cc:4393
            #25 0x000055a20d0df33a in mysql_parse (thd=0x62b00017a218, rawbuf=0x629000109238 "UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)", length=88, parser_state=0x7fdbc47daa20) at /data/src/11.1/sql/sql_parse.cc:7760
            #26 0x000055a20d0b7ab1 in dispatch_command (command=COM_QUERY, thd=0x62b00017a218, packet=0x6290008c0219 "UPDATE t AS t1 JOIN t AS t2 SET t2.d = t1.d WHERE t2.d IS NOT NULL AND t2.t = TIME(t1.d)", packet_length=88, blocking=true) at /data/src/11.1/sql/sql_parse.cc:1892
            #27 0x000055a20d0b47ef in do_command (thd=0x62b00017a218, blocking=true) at /data/src/11.1/sql/sql_parse.cc:1405
            #28 0x000055a20d56c6e2 in do_handle_one_connection (connect=0x60800005c8b8, put_in_cache=true) at /data/src/11.1/sql/sql_connect.cc:1416
            #29 0x000055a20d56c0a3 in handle_one_connection (arg=0x608000003a38) at /data/src/11.1/sql/sql_connect.cc:1318
            #30 0x000055a20e165870 in pfs_spawn_thread (arg=0x617000008218) at /data/src/11.1/storage/perfschema/pfs.cc:2201
            #31 0x00007fdbdc4a7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
            #32 0x00007fdbdc5285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
            {noformat}
            elenst Elena Stepanova made changes -
            Labels regression
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Debarun Banerjee [ JIRAUSER54513 ]
            debarun Debarun Banerjee made changes -
            Status Open [ 1 ] Confirmed [ 10101 ]

            This is issue is about row ID filtering used with index on virtual column(s). We hit debug assert and crash while building the record template in Innodb. The primary reason is that we try to force the code path to use the ICP path. With ICP, we don't support index with virtual column and we validate it while index condition is pushed.

            Simplify the code for building template to handle both ICP and Row ID
            filtering by skipping virtual columns.

            I could repeat the issue with a predictable test. The first attempt was to separate out "row ID filter" from ICP but then I realized a part of ICP push down is required and it seems best to use the common code path for both.

            The issue is likely there from the beginning when the feature was implemented but possibly optimizer may not be using it for 2ndary index on virtual columns. I could repeat it ony in 11.1 onwards.

            commit 658128af43b4d7c6db445164f8ed25ed4d1e3109
            Author: Igor Babaev <igor@askmonty.org>
            Date: Sun Feb 3 14:56:12 2019 -0800
            MDEV-16188 Use in-memory PK filters built from range index scans

            There is also a bug-fix afterwards in this area.

            commit 5efadf8d8c6076bbee73e45afe050ab62c517f3c
            Author: Oleg Smirnov <olernov@gmail.com>
            Date: Sat Jun 4 10:16:15 2022 +0400
            MDEV-28747 Index condition push down may be configured incorrectly

            Hi Marko,
            Can you please review the changes ? I have also invited Oleg and Igor for the pull request.

            https://github.com/MariaDB/server/pull/3070

            debarun Debarun Banerjee added a comment - This is issue is about row ID filtering used with index on virtual column(s). We hit debug assert and crash while building the record template in Innodb. The primary reason is that we try to force the code path to use the ICP path. With ICP, we don't support index with virtual column and we validate it while index condition is pushed. Simplify the code for building template to handle both ICP and Row ID filtering by skipping virtual columns. I could repeat the issue with a predictable test. The first attempt was to separate out "row ID filter" from ICP but then I realized a part of ICP push down is required and it seems best to use the common code path for both. The issue is likely there from the beginning when the feature was implemented but possibly optimizer may not be using it for 2ndary index on virtual columns. I could repeat it ony in 11.1 onwards. commit 658128af43b4d7c6db445164f8ed25ed4d1e3109 Author: Igor Babaev <igor@askmonty.org> Date: Sun Feb 3 14:56:12 2019 -0800 MDEV-16188 Use in-memory PK filters built from range index scans There is also a bug-fix afterwards in this area. commit 5efadf8d8c6076bbee73e45afe050ab62c517f3c Author: Oleg Smirnov <olernov@gmail.com> Date: Sat Jun 4 10:16:15 2022 +0400 MDEV-28747 Index condition push down may be configured incorrectly Hi Marko, Can you please review the changes ? I have also invited Oleg and Igor for the pull request. https://github.com/MariaDB/server/pull/3070
            debarun Debarun Banerjee made changes -
            Assignee Debarun Banerjee [ JIRAUSER54513 ] Marko Mäkelä [ marko ]
            Status Confirmed [ 10101 ] In Review [ 10002 ]

            I did not review the changes to ha_innobase::build_template() in detail yet, but this looks reasonable to me.

            The rowid filter appeared in 10.4, therefore I think we should target that version, even though the test case would not reproduce the bug there.

            Somewhat related to this is that according to MDEV-16402, the index condition pushdown is currently disabled for primary keys.

            marko Marko Mäkelä added a comment - I did not review the changes to ha_innobase::build_template() in detail yet, but this looks reasonable to me. The rowid filter appeared in 10.4, therefore I think we should target that version, even though the test case would not reproduce the bug there. Somewhat related to this is that according to MDEV-16402 , the index condition pushdown is currently disabled for primary keys.
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Nikita Malyavin [ nikitamalyavin ]

            Preliminary result of RQG testing on origin/11.1-MDEV-31154 59eafe3b25043d69d7ba7c34fb153b12d131dfaa 2024-02-19T12:10:32+05:30

            sdp:/data1/results/1708353845/ExMDEV-19555$ _RR_TRACE_DIR=./1/rr rr replay --mark-stdio
            [rr 2526265 1220974]mariadbd: /data/Server/11.1-MDEV-31154/sql/sql_error.h:1068: uint Diagnostics_area::sql_errno() const: Assertion `m_status == DA_ERROR' failed.
            (rr) bt
            #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=12455983052352) at ./nptl/pthread_kill.c:44
            #1  __pthread_kill_internal (signo=6, threadid=12455983052352) at ./nptl/pthread_kill.c:78
            #2  __GI___pthread_kill (threadid=12455983052352, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
            #3  0x000051bc67b5d476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
            #4  0x000051bc67b437f3 in __GI_abort () at ./stdlib/abort.c:79
            #5  0x000051bc67b4371b in __assert_fail_base (fmt=0x51bc67cf8150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x555c8e7f4fb5 "m_status == DA_ERROR", 
                file=0x555c8e7f09c0 "/data/Server/11.1-MDEV-31154/sql/sql_error.h", line=1068, function=<optimized out>) at ./assert/assert.c:92
            #6  0x000051bc67b54e96 in __GI___assert_fail (assertion=0x555c8e7f4fb5 "m_status == DA_ERROR", file=0x555c8e7f09c0 "/data/Server/11.1-MDEV-31154/sql/sql_error.h", line=1068, 
                function=0x555c8e7f50b8 "uint Diagnostics_area::sql_errno() const") at ./assert/assert.c:101
            #7  0x0000555c8db9becf in Diagnostics_area::sql_errno (this=0x74f01c006c78) at /data/Server/11.1-MDEV-31154/sql/sql_error.h:1068
            #8  thd_get_error_number (thd=<optimized out>) at /data/Server/11.1-MDEV-31154/sql/sql_class.cc:540
            #9  0x0000555c8e461b6e in trx_state_eq (trx=trx@entry=0x7f1a4c675780, state=state@entry=TRX_STATE_ACTIVE, relaxed=relaxed@entry=true) at /data/Server/11.1-MDEV-31154/storage/innobase/include/trx0trx.inl:65
            #10 0x0000555c8e4625c9 in trx_release_savepoint_for_mysql (trx=trx@entry=0x7f1a4c675780, savepoint_name=savepoint_name@entry=0xb542271dbc0 "19KQCZL8W8") at /data/Server/11.1-MDEV-31154/storage/innobase/trx/trx0roll.cc:555
            #11 0x0000555c8e258a06 in innobase_release_savepoint (hton=<optimized out>, thd=<optimized out>, savepoint=0x74f01c017348) at /data/Server/11.1-MDEV-31154/storage/innobase/handler/ha_innodb.cc:4829
            #12 0x0000555c8df3c9d1 in ha_release_savepoint (thd=thd@entry=0x74f01c000d58, sv=sv@entry=0x74f01c017310) at /data/Server/11.1-MDEV-31154/sql/handler.cc:3058
            #13 0x0000555c8dda564b in trans_savepoint (thd=thd@entry=0x74f01c000d58, name=...) at /data/Server/11.1-MDEV-31154/sql/transaction.cc:599
            #14 0x0000555c8dc16879 in mysql_execute_command (thd=thd@entry=0x74f01c000d58, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/Server/11.1-MDEV-31154/sql/sql_parse.cc:5551
            #15 0x0000555c8dc18b33 in mysql_parse (thd=thd@entry=0x74f01c000d58, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0xb542271e2b0) at /data/Server/11.1-MDEV-31154/sql/sql_parse.cc:7849
            #16 0x0000555c8dc1aecb in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x74f01c000d58, packet=packet@entry=0x74f01c00af59 "SAVEPOINT A /* E_R Thread4 QNO 1281 CON_ID 17 */ ", 
                packet_length=packet_length@entry=49, blocking=blocking@entry=true) at /data/Server/11.1-MDEV-31154/sql/sql_parse.cc:1892
            #17 0x0000555c8dc1ccc4 in do_command (thd=0x74f01c000d58, blocking=blocking@entry=true) at /data/Server/11.1-MDEV-31154/sql/sql_parse.cc:1405
            #18 0x0000555c8dd8f525 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x555c91265f28, put_in_cache=put_in_cache@entry=true) at /data/Server/11.1-MDEV-31154/sql/sql_connect.cc:1415
            #19 0x0000555c8dd8f77e in handle_one_connection (arg=0x555c91265f28) at /data/Server/11.1-MDEV-31154/sql/sql_connect.cc:1317
            #20 0x000051bc67bafb43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
            #21 0x000051bc67c40bb4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
            (rr) quit
             
            I also hit some assert
            [rr 2020356 326012]mariadbd: /data/Server/11.1-MDEV-31154/storage/innobase/row/row0log.cc:2144: const mrec_t* row_log_table_apply_op(que_thr_t*, ulint, row_merge_dup_t*, dberr_t*, mem_heap_t*, mem_heap_t*, const mrec_t*, const mrec_t*, rec_offs*): Assertion `0' failed.
            The details are mentioned in https://jira.mariadb.org/browse/MDEV-19044
            
            

            mleich Matthias Leich added a comment - Preliminary result of RQG testing on origin/11.1- MDEV-31154 59eafe3b25043d69d7ba7c34fb153b12d131dfaa 2024-02-19T12:10:32+05:30 sdp:/data1/results/1708353845/ExMDEV-19555$ _RR_TRACE_DIR=./1/rr rr replay --mark-stdio [rr 2526265 1220974]mariadbd: /data/Server/11.1-MDEV-31154/sql/sql_error.h:1068: uint Diagnostics_area::sql_errno() const: Assertion `m_status == DA_ERROR' failed. (rr) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=12455983052352) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=12455983052352) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=12455983052352, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x000051bc67b5d476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x000051bc67b437f3 in __GI_abort () at ./stdlib/abort.c:79 #5 0x000051bc67b4371b in __assert_fail_base (fmt=0x51bc67cf8150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x555c8e7f4fb5 "m_status == DA_ERROR", file=0x555c8e7f09c0 "/data/Server/11.1-MDEV-31154/sql/sql_error.h", line=1068, function=<optimized out>) at ./assert/assert.c:92 #6 0x000051bc67b54e96 in __GI___assert_fail (assertion=0x555c8e7f4fb5 "m_status == DA_ERROR", file=0x555c8e7f09c0 "/data/Server/11.1-MDEV-31154/sql/sql_error.h", line=1068, function=0x555c8e7f50b8 "uint Diagnostics_area::sql_errno() const") at ./assert/assert.c:101 #7 0x0000555c8db9becf in Diagnostics_area::sql_errno (this=0x74f01c006c78) at /data/Server/11.1-MDEV-31154/sql/sql_error.h:1068 #8 thd_get_error_number (thd=<optimized out>) at /data/Server/11.1-MDEV-31154/sql/sql_class.cc:540 #9 0x0000555c8e461b6e in trx_state_eq (trx=trx@entry=0x7f1a4c675780, state=state@entry=TRX_STATE_ACTIVE, relaxed=relaxed@entry=true) at /data/Server/11.1-MDEV-31154/storage/innobase/include/trx0trx.inl:65 #10 0x0000555c8e4625c9 in trx_release_savepoint_for_mysql (trx=trx@entry=0x7f1a4c675780, savepoint_name=savepoint_name@entry=0xb542271dbc0 "19KQCZL8W8") at /data/Server/11.1-MDEV-31154/storage/innobase/trx/trx0roll.cc:555 #11 0x0000555c8e258a06 in innobase_release_savepoint (hton=<optimized out>, thd=<optimized out>, savepoint=0x74f01c017348) at /data/Server/11.1-MDEV-31154/storage/innobase/handler/ha_innodb.cc:4829 #12 0x0000555c8df3c9d1 in ha_release_savepoint (thd=thd@entry=0x74f01c000d58, sv=sv@entry=0x74f01c017310) at /data/Server/11.1-MDEV-31154/sql/handler.cc:3058 #13 0x0000555c8dda564b in trans_savepoint (thd=thd@entry=0x74f01c000d58, name=...) at /data/Server/11.1-MDEV-31154/sql/transaction.cc:599 #14 0x0000555c8dc16879 in mysql_execute_command (thd=thd@entry=0x74f01c000d58, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/Server/11.1-MDEV-31154/sql/sql_parse.cc:5551 #15 0x0000555c8dc18b33 in mysql_parse (thd=thd@entry=0x74f01c000d58, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0xb542271e2b0) at /data/Server/11.1-MDEV-31154/sql/sql_parse.cc:7849 #16 0x0000555c8dc1aecb in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x74f01c000d58, packet=packet@entry=0x74f01c00af59 "SAVEPOINT A /* E_R Thread4 QNO 1281 CON_ID 17 */ ", packet_length=packet_length@entry=49, blocking=blocking@entry=true) at /data/Server/11.1-MDEV-31154/sql/sql_parse.cc:1892 #17 0x0000555c8dc1ccc4 in do_command (thd=0x74f01c000d58, blocking=blocking@entry=true) at /data/Server/11.1-MDEV-31154/sql/sql_parse.cc:1405 #18 0x0000555c8dd8f525 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x555c91265f28, put_in_cache=put_in_cache@entry=true) at /data/Server/11.1-MDEV-31154/sql/sql_connect.cc:1415 #19 0x0000555c8dd8f77e in handle_one_connection (arg=0x555c91265f28) at /data/Server/11.1-MDEV-31154/sql/sql_connect.cc:1317 #20 0x000051bc67bafb43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #21 0x000051bc67c40bb4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100 (rr) quit   I also hit some assert [rr 2020356 326012]mariadbd: /data/Server/11.1-MDEV-31154/storage/innobase/row/row0log.cc:2144: const mrec_t* row_log_table_apply_op(que_thr_t*, ulint, row_merge_dup_t*, dberr_t*, mem_heap_t*, mem_heap_t*, const mrec_t*, const mrec_t*, rec_offs*): Assertion `0' failed. The details are mentioned in https://jira.mariadb.org/browse/MDEV-19044

            My initial analysis suggests that assert is related to transaction system and not related to the current patch and related functionality.

            We assert here while trying to release a previous save point for which the innodb transaction is not yet started. It can happen only if innodb is registered using innobase_register_trx() before the save point was taken. In regular path Innodb transaction is always started when we register. However, there are paths where transaction is registered before transaction is started e.g. ha_innobase::external_lock() called from LOCK TABLE command. Again LOCK TABLE commits the current transaction block and save point is ignored in sql in such cases. So, it is hard to guarantee the the assert cannot be hit in any path.

            I will further try to check with RR replay but it seems very unlikely that it has been caused by the patch and should appear in the base branch too.

            debarun Debarun Banerjee added a comment - My initial analysis suggests that assert is related to transaction system and not related to the current patch and related functionality. We assert here while trying to release a previous save point for which the innodb transaction is not yet started. It can happen only if innodb is registered using innobase_register_trx() before the save point was taken. In regular path Innodb transaction is always started when we register. However, there are paths where transaction is registered before transaction is started e.g. ha_innobase::external_lock() called from LOCK TABLE command. Again LOCK TABLE commits the current transaction block and save point is ignored in sql in such cases. So, it is hard to guarantee the the assert cannot be hit in any path. I will further try to check with RR replay but it seems very unlikely that it has been caused by the patch and should appear in the base branch too.

            The fix looks good to me. I have left some notes on the improvements to the tests, that are required for pushing.

            Please also check the earliest version this bug affects (starting from 10.4) and rebase the fix onto it

            nikitamalyavin Nikita Malyavin added a comment - The fix looks good to me. I have left some notes on the improvements to the tests, that are required for pushing. Please also check the earliest version this bug affects (starting from 10.4) and rebase the fix onto it
            nikitamalyavin Nikita Malyavin made changes -
            Assignee Nikita Malyavin [ nikitamalyavin ] Debarun Banerjee [ JIRAUSER54513 ]
            Status In Review [ 10002 ] Stalled [ 10000 ]

            Thanks nikitamalyavin for the review.

            1. Having a repeatable case was an issue from the beginning. It would be great if you can help us here.

            2. Theoretically the issue should exist in 10.4 but I could never repeat it in 10.* version. I don't know enough of optimizer to see if something has changed in 11.* to let optimizer choose this.

            What is needed is rowid filter being used with a 2ndary index on virtual column. Can we force optimizer to create such plan ?
            Also replied to the comments in https://github.com/MariaDB/server/pull/3070/.

            debarun Debarun Banerjee added a comment - Thanks nikitamalyavin for the review. 1. Having a repeatable case was an issue from the beginning. It would be great if you can help us here. 2. Theoretically the issue should exist in 10.4 but I could never repeat it in 10.* version. I don't know enough of optimizer to see if something has changed in 11.* to let optimizer choose this. What is needed is rowid filter being used with a 2ndary index on virtual column. Can we force optimizer to create such plan ? Also replied to the comments in https://github.com/MariaDB/server/pull/3070/ .
            cziebuhr Christoph Ziebuhr made changes -

            I suppose that the reason can be the a new cost-based optimizer. Does it mean that you always saw a different optimizer plan on 10.*?

            nikitamalyavin Nikita Malyavin added a comment - I suppose that the reason can be the a new cost-based optimizer. Does it mean that you always saw a different optimizer plan on 10.*?

            yes, the same test that repeats the issue choosing "ref|filter" & "Using where; Using rowid filter" in 11.1, chooses "ref" & "Using where" for 10.*.

            CURRENT_TEST: main.rowid_filter_innodb
            --- /home/hdd/deb/maria-src2/mysql-test/main/rowid_filter_innodb.result	2024-03-03 23:28:36.283344770 +0530
            +++ /home/hdd/deb/maria-src2/mysql-test/main/rowid_filter_innodb.reject	2024-03-03 23:29:02.439328443 +0530
            @@ -4205,7 +4205,7 @@
             set optimizer_switch='rowid_filter=on';
             explain extended select count(*) from t1 where a between 21 and 30 and b=12;
             id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
            -1	SIMPLE	t1	ref|filter	b,a	b|a	5|5	const	27 (10%)	9.60	Using where; Using rowid filter
            +1	SIMPLE	t1	ref	b,a	b	5	const	27	9.60	Using where
             Warnings:
             Note	1003	select count(0) AS `count(*)` from `test`.`t1` where `test`.`t1`.`b` = 12 and `test`.`t1`.`a` between 21 and 30
             select count(*) from t1 where a between 21 and 30 and b=12;
            @@ -4213,7 +4213,7 @@
             27
             explain extended select count(*) from t1 where a between 21 and 30 and b=12 for update;
             id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
            -1	SIMPLE	t1	ref|filter	b,a	b|a	5|5	const	27 (10%)	9.60	Using where; Using rowid filter
            +1	SIMPLE	t1	ref	b,a	b	5	const	27	9.60	Using where
             Warnings:
             Note	1003	select count(0) AS `count(*)` from `test`.`t1` where `test`.`t1`.`b` = 12 and `test`.`t1`.`a` between 21 and 30 for update
             select count(*) from t1 where a between 21 and 30 and b=12 for update;
            @@ -4251,7 +4251,7 @@
             set optimizer_switch='rowid_filter=on';
             explain extended select count(*) from t1 where a between 21 and 30 and b=12;
             id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
            -1	SIMPLE	t1	ref|filter	b,a	b|a	5|5	const	27 (10%)	9.60	Using where; Using rowid filter
            +1	SIMPLE	t1	ref	b,a	b	5	const	27	9.60	Using where
             Warnings:
             Note	1003	select count(0) AS `count(*)` from `test`.`t1` where `test`.`t1`.`b` = 12 and `test`.`t1`.`a` between 21 and 30
             select count(*) from t1 where a between 21 and 30 and b=12;
            @@ -4259,7 +4259,7 @@
             27
             explain extended select count(*) from t1 where a between 21 and 30 and b=12 for update;
             id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
            -1	SIMPLE	t1	ref|filter	b,a	b|a	5|5	const	27 (10%)	9.60	Using where; Using rowid filter
            +1	SIMPLE	t1	ref	b,a	b	5	const	27	9.60	Using where
             Warnings:
             Note	1003	select count(0) AS `count(*)` from `test`.`t1` where `test`.`t1`.`b` = 12 and `test`.`t1`.`a` between 21 and 30 for update
             select count(*) from t1 where a between 21 and 30 and b=12 for update;
            

            debarun Debarun Banerjee added a comment - yes, the same test that repeats the issue choosing "ref|filter" & "Using where; Using rowid filter" in 11.1, chooses "ref" & "Using where" for 10.*. CURRENT_TEST: main.rowid_filter_innodb --- /home/hdd/deb/maria-src2/mysql-test/main/rowid_filter_innodb.result 2024-03-03 23:28:36.283344770 +0530 +++ /home/hdd/deb/maria-src2/mysql-test/main/rowid_filter_innodb.reject 2024-03-03 23:29:02.439328443 +0530 @@ -4205,7 +4205,7 @@ set optimizer_switch= 'rowid_filter=on' ; explain extended select count(*) from t1 where a between 21 and 30 and b=12; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t1 ref |filter b,a b|a 5|5 const 27 (10%) 9.60 Using where; Using rowid filter +1 SIMPLE t1 ref b,a b 5 const 27 9.60 Using where Warnings: Note 1003 select count(0) AS `count(*)` from `test`.`t1` where `test`.`t1`.`b` = 12 and `test`.`t1`.`a` between 21 and 30 select count(*) from t1 where a between 21 and 30 and b=12; @@ -4213,7 +4213,7 @@ 27 explain extended select count(*) from t1 where a between 21 and 30 and b=12 for update; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t1 ref |filter b,a b|a 5|5 const 27 (10%) 9.60 Using where; Using rowid filter +1 SIMPLE t1 ref b,a b 5 const 27 9.60 Using where Warnings: Note 1003 select count(0) AS `count(*)` from `test`.`t1` where `test`.`t1`.`b` = 12 and `test`.`t1`.`a` between 21 and 30 for update select count(*) from t1 where a between 21 and 30 and b=12 for update; @@ -4251,7 +4251,7 @@ set optimizer_switch= 'rowid_filter=on' ; explain extended select count(*) from t1 where a between 21 and 30 and b=12; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t1 ref |filter b,a b|a 5|5 const 27 (10%) 9.60 Using where; Using rowid filter +1 SIMPLE t1 ref b,a b 5 const 27 9.60 Using where Warnings: Note 1003 select count(0) AS `count(*)` from `test`.`t1` where `test`.`t1`.`b` = 12 and `test`.`t1`.`a` between 21 and 30 select count(*) from t1 where a between 21 and 30 and b=12; @@ -4259,7 +4259,7 @@ 27 explain extended select count(*) from t1 where a between 21 and 30 and b=12 for update; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t1 ref |filter b,a b|a 5|5 const 27 (10%) 9.60 Using where; Using rowid filter +1 SIMPLE t1 ref b,a b 5 const 27 9.60 Using where Warnings: Note 1003 select count(0) AS `count(*)` from `test`.`t1` where `test`.`t1`.`b` = 12 and `test`.`t1`.`a` between 21 and 30 for update select count(*) from t1 where a between 21 and 30 and b=12 for update;

            Created a pull request on 10.4 as we have now repeatable test on 10.4.
            https://github.com/MariaDB/server/pull/3118

            marko I am assigning the review to you as the code changes are in Innodb.

            debarun Debarun Banerjee added a comment - Created a pull request on 10.4 as we have now repeatable test on 10.4. https://github.com/MariaDB/server/pull/3118 marko I am assigning the review to you as the code changes are in Innodb.
            debarun Debarun Banerjee made changes -
            Assignee Debarun Banerjee [ JIRAUSER54513 ] Marko Mäkelä [ marko ]
            Status Stalled [ 10000 ] In Review [ 10002 ]

            Looks OK to me. Thank you!

            marko Marko Mäkelä added a comment - Looks OK to me. Thank you!
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Debarun Banerjee [ JIRAUSER54513 ]
            Status In Review [ 10002 ] Stalled [ 10000 ]
            marko Marko Mäkelä made changes -
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.5 [ 23123 ]
            Fix Version/s 10.6 [ 24028 ]
            Fix Version/s 10.11 [ 27614 ]
            Fix Version/s 11.0 [ 28320 ]
            Fix Version/s 11.2 [ 28603 ]
            Fix Version/s 11.4 [ 29301 ]
            Affects Version/s 10.4 [ 22408 ]
            Affects Version/s 10.5 [ 23123 ]
            Affects Version/s 10.6 [ 24028 ]
            Affects Version/s 10.7 [ 24805 ]
            Affects Version/s 10.8 [ 26121 ]
            Affects Version/s 10.9 [ 26905 ]
            Affects Version/s 10.10 [ 27530 ]
            Affects Version/s 10.11 [ 27614 ]
            Affects Version/s 11.0 [ 28320 ]
            Affects Version/s 11.2 [ 28603 ]
            Affects Version/s 11.3 [ 28565 ]
            Affects Version/s 11.4 [ 29301 ]
            debarun Debarun Banerjee made changes -
            Fix Version/s 10.4.34 [ 29625 ]
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.5 [ 23123 ]
            Fix Version/s 10.6 [ 24028 ]
            Fix Version/s 10.11 [ 27614 ]
            Fix Version/s 11.0 [ 28320 ]
            Fix Version/s 11.1 [ 28549 ]
            Fix Version/s 11.2 [ 28603 ]
            Fix Version/s 11.4 [ 29301 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            JIraAutomate JiraAutomate made changes -
            Fix Version/s 10.5.25 [ 29626 ]
            Fix Version/s 10.6.18 [ 29627 ]
            Fix Version/s 10.11.8 [ 29630 ]
            Fix Version/s 11.0.6 [ 29628 ]
            Fix Version/s 11.1.5 [ 29629 ]
            Fix Version/s 11.2.4 [ 29631 ]
            marko Marko Mäkelä made changes -
            alice Alice Sherepa made changes -
            alice Alice Sherepa made changes -

            People

              debarun Debarun Banerjee
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              8 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.