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

funcs_1.processlist_val_no_prot fails sporadically

    XMLWordPrintable

Details

    • Not for Release Notes

    Description

      Reproducible with:

      diff --git a/sql/sql_connect.cc b/sql/sql_connect.cc
      index c279f2663c8..c227fee943e 100644
      --- a/sql/sql_connect.cc
      +++ b/sql/sql_connect.cc
      @@ -1483,6 +1483,7 @@ void do_handle_one_connection(CONNECT *connect, bool put_in_cache)
           if (thd->userstat_running)
             update_global_user_stats(thd, create_user, time(NULL));
       
      +    sleep(1);
           unlink_thd(thd);
           if (IF_WSREP(thd->wsrep_applier, false) || !put_in_cache ||
               !(connect= thread_cache.park()))
      

      Test failure output:

      CURRENT_TEST: funcs_1.processlist_val_no_prot
      --- 10.11/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result     2025-05-26 17:37:26.890949475 +0400
      +++ 10.11/mysql-test/suite/funcs_1/r/processlist_val_no_prot.reject     2025-12-28 12:55:35.112738289 +0400
      @@ -37,8 +37,16 @@
       SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
       ID     USER    HOST    DB      COMMAND TIME    STATE   INFO    TIME_MS STAGE   MAX_STAGE       PROGRESS        MEMORY_USED     MAX_MEMORY_USED EXAMINED_ROWS   QUERY_ID        INFO_BINARY     TID
       <ID>   root    <HOST_NAME>     test    Query   <TIME>  Filling schema table    SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST    <TID>
      +<ID>   root    <HOST_NAME>     NULL    Killed  <TIME>          NULL    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      NULL    <TID>
      +<ID>   root    <HOST_NAME>     mtr     Killed  <TIME>          NULL    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      NULL    <TID>
      +<ID>   root    <HOST_NAME>     test    Killed  <TIME>          NULL    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      NULL    <TID>
      +<ID>   root    <HOST_NAME>     NULL    Killed  <TIME>          NULL    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      NULL    <TID>
       SHOW FULL PROCESSLIST;
       Id     User    Host    db      Command Time    State   Info    Progress
      +<ID>   root    <HOST_NAME>     NULL    Killed  <TIME>          NULL    <TIME_MS>
      +<ID>   root    <HOST_NAME>     test    Killed  <TIME>          NULL    <TIME_MS>
      +<ID>   root    <HOST_NAME>     mtr     Killed  <TIME>          NULL    <TIME_MS>
      +<ID>   root    <HOST_NAME>     NULL    Killed  <TIME>          NULL    <TIME_MS>
       <ID>   root    <HOST_NAME>     test    Query   <TIME>  starting        SHOW FULL PROCESSLIST   <TIME_MS>
       SET @default_id = CONNECTION_ID();
       SELECT COUNT(*)  = 1 AS "Expect exact one connection with this id"
      @@ -83,8 +91,16 @@
       ID     USER    HOST    DB      COMMAND TIME    STATE   INFO    TIME_MS STAGE   MAX_STAGE       PROGRESS        MEMORY_USED     MAX_MEMORY_USED EXAMINED_ROWS   QUERY_ID        INFO_BINARY     TID
       <ID>   test_user       <HOST_NAME>     information_schema      Sleep   <TIME>  <STATE> NULL    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      NULL    <TID>
       <ID>   root    <HOST_NAME>     information_schema      Query   <TIME>  <STATE> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST    <TID>
      +<ID>   root    <HOST_NAME>     NULL    Killed  <TIME>  <STATE> NULL    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      NULL    <TID>
      +<ID>   root    <HOST_NAME>     mtr     Killed  <TIME>  <STATE> NULL    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      NULL    <TID>
      +<ID>   root    <HOST_NAME>     test    Killed  <TIME>  <STATE> NULL    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      NULL    <TID>
      +<ID>   root    <HOST_NAME>     NULL    Killed  <TIME>  <STATE> NULL    <TIME_MS>       0       0       0.000   <MEMORY>        <MAX_MEMORY>    <ROWS>  <QUERY_ID>      NULL    <TID>
       SHOW FULL PROCESSLIST;
       Id     User    Host    db      Command Time    State   Info    Progress
      +<ID>   root    <HOST_NAME>     NULL    Killed  <TIME>          NULL    0.000
      +<ID>   root    <HOST_NAME>     test    Killed  <TIME>          NULL    0.000
      +<ID>   root    <HOST_NAME>     mtr     Killed  <TIME>          NULL    0.000
      +<ID>   root    <HOST_NAME>     NULL    Killed  <TIME>          NULL    0.000
       <ID>   root    <HOST_NAME>     information_schema      Query   <TIME>  starting        SHOW FULL PROCESSLIST   0.000
       <ID>   test_user       <HOST_NAME>     information_schema      Sleep   <TIME>          NULL    0.000
       SELECT ID,TIME INTO @test_user_con1_id,@time FROM INFORMATION_SCHEMA.PROCESSLIST
      @@ -100,7 +116,7 @@
       FROM INFORMATION_SCHEMA.PROCESSLIST
       WHERE HOST LIKE 'localhost%';
       Is HOST LIKE 'localhost%'?
      -1
      +0
       SELECT COUNT(*)  = 1 AS "Expect 1"
       FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = @test_user_con1_id
       AND USER = 'test_user' AND DB = 'information_schema'
      

      funcs_1.processlist_val_ps failing for similar reasons:

      CURRENT_TEST: funcs_1.processlist_val_ps
      --- 10.11/mysql-test/suite/funcs_1/r/processlist_val_ps.result	2025-05-26 17:37:26.890949475 +0400
      +++ 10.11/mysql-test/suite/funcs_1/r/processlist_val_ps.reject	2025-12-29 00:25:13.426484853 +0400
      @@ -37,8 +37,10 @@
       SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
       ID	USER	HOST	DB	COMMAND	TIME	STATE	INFO	TIME_MS	STAGE	MAX_STAGE	PROGRESS	MEMORY_USED	MAX_MEMORY_USED	EXAMINED_ROWS	QUERY_ID	INFO_BINARY	TID
       <ID>	root	<HOST_NAME>	test	Execute	<TIME>	Filling schema table	SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST	<TIME_MS>	0	0	0.000	<MEMORY>	<MAX_MEMORY>	<ROWS>	<QUERY_ID>	SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST	<TID>
      +<ID>	root	<HOST_NAME>	NULL	Killed	<TIME>		NULL	<TIME_MS>	0	0	0.000	<MEMORY>	<MAX_MEMORY>	<ROWS>	<QUERY_ID>	NULL	<TID>
       SHOW FULL PROCESSLIST;
       Id	User	Host	db	Command	Time	State	Info	Progress
      +<ID>	root	<HOST_NAME>	NULL	Killed	<TIME>		NULL	<TIME_MS>
       <ID>	root	<HOST_NAME>	test	Query	<TIME>	starting	SHOW FULL PROCESSLIST	<TIME_MS>
       SET @default_id = CONNECTION_ID();
       SELECT COUNT(*)  = 1 AS "Expect exact one connection with this id"
      @@ -83,8 +85,10 @@
       ID	USER	HOST	DB	COMMAND	TIME	STATE	INFO	TIME_MS	STAGE	MAX_STAGE	PROGRESS	MEMORY_USED	MAX_MEMORY_USED	EXAMINED_ROWS	QUERY_ID	INFO_BINARY	TID
       <ID>	test_user	<HOST_NAME>	information_schema	Sleep	<TIME>	<STATE>	NULL	<TIME_MS>	0	0	0.000	<MEMORY>	<MAX_MEMORY>	<ROWS>	<QUERY_ID>	NULL	<TID>
       <ID>	root	<HOST_NAME>	information_schema	Execute	<TIME>	<STATE>	SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST	<TIME_MS>	0	0	0.000	<MEMORY>	<MAX_MEMORY>	<ROWS>	<QUERY_ID>	SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST	<TID>
      +<ID>	root	<HOST_NAME>	NULL	Killed	<TIME>	<STATE>	NULL	<TIME_MS>	0	0	0.000	<MEMORY>	<MAX_MEMORY>	<ROWS>	<QUERY_ID>	NULL	<TID>
       SHOW FULL PROCESSLIST;
       Id	User	Host	db	Command	Time	State	Info	Progress
      +<ID>	root	<HOST_NAME>	NULL	Killed	<TIME>		NULL	0.000
       <ID>	root	<HOST_NAME>	information_schema	Query	<TIME>	starting	SHOW FULL PROCESSLIST	0.000
       <ID>	test_user	<HOST_NAME>	information_schema	Sleep	<TIME>		NULL	0.000
       SELECT ID,TIME INTO @test_user_con1_id,@time FROM INFORMATION_SCHEMA.PROCESSLIST
      @@ -100,7 +104,7 @@
       FROM INFORMATION_SCHEMA.PROCESSLIST
       WHERE HOST LIKE 'localhost%';
       Is HOST LIKE 'localhost%'?
      -1
      +0
       SELECT COUNT(*)  = 1 AS "Expect 1"
       FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = @test_user_con1_id
       AND USER = 'test_user' AND DB = 'information_schema'
      

      Attachments

        Issue Links

          Activity

            People

              svoj Sergey Vojtovich
              svoj Sergey Vojtovich
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.