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

Auto-create: Server hangs after a failed attempt to create partition

    XMLWordPrintable

    Details

      Description

      In the test case below, the default connection holds an open transaction on the table, allowing a concurrent DML but blocking partition auto-creation.
      The second connection con1 attempts an update which should cause partition auto-creation. The first attempt ends as expected – update succeeds, while the auto-creation fails and causes the warning. But the second update hangs (loops), seemingly forever.

      --source include/have_partition.inc
      --source include/have_innodb.inc
       
      create table t (pk int primary key, a int) engine=InnoDB
        with system versioning partition by system_time interval 1 hour auto;
       
      insert into t values (1,1),(2,2),(3,3),(4,4),(5,5);
       
      start transaction;
      update t set a = 20 where pk = 2;
       
      --connect (con1,localhost,root,,)
      set lock_wait_timeout= 1;
      set @@timestamp= @@timestamp+3601;
      update t set a = 40 where pk = 4;
      update t set a = 400 where pk = 4;
       
      # Cleanup
      --disconnect con1
      --connection default
      rollback;
      drop table t;
      

      bb-10.6-midenok-MDEV-17554 edbc73ac48

      set @@timestamp= @@timestamp+3601;
      update t set a = 40 where pk = 4;
      Warnings:
      Error	1205	Lock wait timeout exceeded; try restarting transaction
      Warning	4114	Versioned table `test`.`t`: last HISTORY partition (`p0`) is out of INTERVAL, need more HISTORY partitions
      update t set a = 400 where pk = 4;
      ^^^
      hangs here
      

      Processlist alternates between 'Opening tables' and 'closing tables':

      +----+------+-----------------+------+---------+------+----------------+-----------------------------------+----------+
      | Id | User | Host            | db   | Command | Time | State          | Info                              | Progress |
      +----+------+-----------------+------+---------+------+----------------+-----------------------------------+----------+
      |  4 | root | localhost       | test | Sleep   |   79 |                | NULL                              |    0.000 |
      |  5 | root | localhost       | test | Query   |   78 | closing tables | update t set a = 400 where pk = 4 |    0.000 |
      |  7 | root | localhost:43094 | test | Query   |    0 | starting       | show processlist                  |    0.000 |
      +----+------+-----------------+------+---------+------+----------------+-----------------------------------+----------+
      

      +----+------+-----------------+------+---------+------+----------------+-----------------------------------+----------+
      | Id | User | Host            | db   | Command | Time | State          | Info                              | Progress |
      +----+------+-----------------+------+---------+------+----------------+-----------------------------------+----------+
      |  4 | root | localhost       | test | Sleep   |   80 |                | NULL                              |    0.000 |
      |  5 | root | localhost       | test | Query   |   79 | Opening tables | update t set a = 400 where pk = 4 |    0.000 |
      |  8 | root | localhost:43096 | test | Query   |    0 | starting       | show processlist                  |    0.000 |
      +----+------+-----------------+------+---------+------+----------------+-----------------------------------+----------+
      

      Stack traces from the running server:

      [Thread debugging using libthread_db enabled]
      Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
      0x00007f54ff6a3aff in __GI___poll (fds=0x612000043448, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
       
      Thread 14 (Thread 0x7f54ef5e1700 (LWP 1421648)):
      #0  0x0000556f264f9eda in _db_enter_ (_func_=0x556f2695c020 "MDL_context::rollback_to_savepoint", _file_=0x556f26959e80 "/data/src/bb-10.6-midenok-MDEV-17554/sql/mdl.cc", _line_=3024, _stack_frame_=0x7f54ef5de290) at /data/src/bb-10.6-midenok-MDEV-17554/dbug/dbug.c:1141
      #1  0x0000556f24b87a9c in MDL_context::rollback_to_savepoint (this=0x62b0000ee3b8, mdl_savepoint=...) at /data/src/bb-10.6-midenok-MDEV-17554/sql/mdl.cc:3024
      #2  0x0000556f2459882b in close_tables_for_reopen (thd=0x62b0000ee288, tables=0x7f54ef5de7e0, start_of_statement_svp=...) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_base.cc:5878
      #3  0x0000556f2459048e in open_tables (thd=0x62b0000ee288, options=..., start=0x7f54ef5de7e0, counter=0x7f54ef5de720, flags=0, prelocking_strategy=0x7f54ef5de560) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_base.cc:4452
      #4  0x0000556f2456506b in open_tables (thd=0x62b0000ee288, tables=0x7f54ef5de7e0, counter=0x7f54ef5de720, flags=0) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_base.h:477
      #5  0x0000556f24a26ef6 in mysql_update (thd=0x62b0000ee288, table_list=0x62b0000f53c0, fields=..., values=..., conds=0x62b0000f5f00, order_num=0, order=0x0, limit=18446744073709551615, ignore=false, found_return=0x7f54ef5df190, updated_return=0x7f54ef5df1b0) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_update.cc:409
      #6  0x0000556f2472939f in mysql_execute_command (thd=0x62b0000ee288) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_parse.cc:4390
      #7  0x0000556f247428a7 in mysql_parse (thd=0x62b0000ee288, rawbuf=0x62b0000f52a8 "update t set a = 400 where pk = 4", length=33, parser_state=0x7f54ef5dfb40) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_parse.cc:8005
      #8  0x0000556f2471900a in dispatch_command (command=COM_QUERY, thd=0x62b0000ee288, packet=0x6290002bc289 "update t set a = 400 where pk = 4", packet_length=33, blocking=true) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_parse.cc:1889
      #9  0x0000556f24715d49 in do_command (thd=0x62b0000ee288, blocking=true) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_parse.cc:1400
      #10 0x0000556f24b5bf18 in do_handle_one_connection (connect=0x61100004be88, put_in_cache=true) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_connect.cc:1410
      #11 0x0000556f24b5b875 in handle_one_connection (arg=0x61100004be88) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_connect.cc:1312
      #12 0x0000556f25862c31 in pfs_spawn_thread (arg=0x616000442608) at /data/src/bb-10.6-midenok-MDEV-17554/storage/perfschema/pfs.cc:2201
      #13 0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #14 0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 13 (Thread 0x7f54f0317700 (LWP 1421644)):
      #0  0x00007f54ff6a3aff in __GI___poll (fds=0x7f54f0316670, nfds=1, timeout=28800000) at ../sysdeps/unix/sysv/linux/poll.c:29
      #1  0x00007f550000a5ba in poll () from /lib/x86_64-linux-gnu/libasan.so.5
      #2  0x0000556f254cc883 in vio_io_wait (vio=0x616000a7d408, event=VIO_IO_EVENT_READ, timeout=28800000) at /data/src/bb-10.6-midenok-MDEV-17554/vio/viosocket.c:948
      #3  0x0000556f254c8550 in vio_socket_io_wait (vio=0x616000a7d408, event=VIO_IO_EVENT_READ) at /data/src/bb-10.6-midenok-MDEV-17554/vio/viosocket.c:116
      #4  0x0000556f254c8910 in vio_read (vio=0x616000a7d408, buf=0x629000294288 "=", size=4) at /data/src/bb-10.6-midenok-MDEV-17554/vio/viosocket.c:182
      #5  0x0000556f2530e78f in my_real_read (net=0x62b0000bd5a0, complen=0x7f54f0316a80, header=1 '\001') at /data/src/bb-10.6-midenok-MDEV-17554/sql/net_serv.cc:991
      #6  0x0000556f253101f5 in my_net_read_packet_reallen (net=0x62b0000bd5a0, read_from_server=1 '\001', reallen=0x7f54f0316b20) at /data/src/bb-10.6-midenok-MDEV-17554/sql/net_serv.cc:1272
      #7  0x0000556f25310059 in my_net_read_packet (net=0x62b0000bd5a0, read_from_server=1 '\001') at /data/src/bb-10.6-midenok-MDEV-17554/sql/net_serv.cc:1256
      #8  0x0000556f24714ebe in do_command (thd=0x62b0000bd288, blocking=true) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_parse.cc:1262
      #9  0x0000556f24b5bf18 in do_handle_one_connection (connect=0x61100004bd48, put_in_cache=true) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_connect.cc:1410
      #10 0x0000556f24b5b875 in handle_one_connection (arg=0x61100004bc08) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_connect.cc:1312
      #11 0x0000556f25862c31 in pfs_spawn_thread (arg=0x616000441708) at /data/src/bb-10.6-midenok-MDEV-17554/storage/perfschema/pfs.cc:2201
      #12 0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #13 0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 12 (Thread 0x7f54f0431700 (LWP 1421641)):
      #0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x556f28a34e68 <COND_manager+40>) at ../sysdeps/nptl/futex-internal.h:183
      #1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x556f28a34d88 <LOCK_manager+40>, cond=0x556f28a34e40 <COND_manager>) at pthread_cond_wait.c:508
      #2  __pthread_cond_wait (cond=0x556f28a34e40 <COND_manager>, mutex=0x556f28a34d88 <LOCK_manager+40>) at pthread_cond_wait.c:638
      #3  0x0000556f26497aef in safe_cond_wait (cond=0x556f28a34e40 <COND_manager>, mp=0x556f28a34d60 <LOCK_manager>, file=0x556f2768d4a0 "/data/src/bb-10.6-midenok-MDEV-17554/mysys/my_thr_init.c", line=596) at /data/src/bb-10.6-midenok-MDEV-17554/mysys/thr_mutex.c:492
      #4  0x0000556f264851bc in psi_cond_wait (that=0x556f28a34e40 <COND_manager>, mutex=0x556f28a34d60 <LOCK_manager>, file=0x556f267a2680 "/data/src/bb-10.6-midenok-MDEV-17554/sql/sql_manager.cc", line=103) at /data/src/bb-10.6-midenok-MDEV-17554/mysys/my_thr_init.c:596
      #5  0x0000556f2470c198 in inline_mysql_cond_wait (that=0x556f28a34e40 <COND_manager>, mutex=0x556f28a34d60 <LOCK_manager>, src_file=0x556f267a2680 "/data/src/bb-10.6-midenok-MDEV-17554/sql/sql_manager.cc", src_line=103) at /data/src/bb-10.6-midenok-MDEV-17554/include/mysql/psi/mysql_thread.h:1070
      #6  0x0000556f2470c830 in handle_manager (arg=0x0) at /data/src/bb-10.6-midenok-MDEV-17554/sql/sql_manager.cc:103
      #7  0x0000556f25862c31 in pfs_spawn_thread (arg=0x61600042d308) at /data/src/bb-10.6-midenok-MDEV-17554/storage/perfschema/pfs.cc:2201
      #8  0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #9  0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 11 (Thread 0x7f54f0533700 (LWP 1421640)):
      #0  0x00007f54ff5d5322 in __GI___sigtimedwait (set=0x7f54f0532c70, info=0x7f54f0532aa0, timeout=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
      #1  0x00007f5500055111 in ?? () from /lib/x86_64-linux-gnu/libasan.so.5
      #2  0x0000556f244080bc in my_sigwait (set=0x7f54f0532c70, sig=0x7f54f0532be0, code=0x7f54f0532bf0) at /data/src/bb-10.6-midenok-MDEV-17554/include/my_pthread.h:195
      #3  0x0000556f24416a28 in signal_hand (arg=0x0) at /data/src/bb-10.6-midenok-MDEV-17554/sql/mysqld.cc:3096
      #4  0x0000556f25862c31 in pfs_spawn_thread (arg=0x6160003a7b08) at /data/src/bb-10.6-midenok-MDEV-17554/storage/perfschema/pfs.cc:2201
      #5  0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #6  0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 10 (Thread 0x7f54f21e7700 (LWP 1421639)):
      #0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f54f21e6790, clockid=<optimized out>, expected=0, futex_word=0x63000003fbac) at ../sysdeps/nptl/futex-internal.h:320
      #1  __pthread_cond_wait_common (abstime=0x7f54f21e6790, clockid=<optimized out>, mutex=0x618000000590, cond=0x63000003fb80) at pthread_cond_wait.c:520
      #2  __pthread_cond_timedwait (cond=0x63000003fb80, mutex=0x618000000590, abstime=0x7f54f21e6790) at pthread_cond_wait.c:656
      #3  0x0000556f262b93ef in __gthread_cond_timedwait (__cond=0x63000003fb80, __mutex=0x618000000590, __abs_timeout=0x7f54f21e6790) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:872
      #4  0x0000556f262c124b in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x63000003fb80, __lock=..., __atime=...) at /usr/include/c++/9/condition_variable:188
      #5  0x0000556f262bec3b in std::condition_variable::wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x63000003fb80, __lock=..., __atime=...) at /usr/include/c++/9/condition_variable:121
      #6  0x0000556f262bc067 in std::condition_variable::wait_for<long, std::ratio<1l, 1000l> > (this=0x63000003fb80, __lock=..., __rtime=...) at /usr/include/c++/9/condition_variable:152
      #7  0x0000556f262b576a in tpool::thread_pool_generic::wait_for_tasks (this=0x618000000480, lk=..., thread_data=0x63000003fb80) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:450
      #8  0x0000556f262b5bc8 in tpool::thread_pool_generic::get_task (this=0x618000000480, thread_var=0x63000003fb80, t=0x7f54f21e6b40) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:503
      #9  0x0000556f262b6208 in tpool::thread_pool_generic::worker_main (this=0x618000000480, thread_var=0x63000003fb80) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:548
      #10 0x0000556f262c8cb7 in std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__f=@0x604000004068: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x556f262b60e6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, __t=@0x604000004060: 0x618000000480) at /usr/include/c++/9/bits/invoke.h:73
      #11 0x0000556f262c8a62 in std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=@0x604000004068: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x556f262b60e6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>) at /usr/include/c++/9/bits/invoke.h:95
      #12 0x0000556f262c88f3 in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::_M_invoke<0ul, 1ul, 2ul> (this=0x604000004058) at /usr/include/c++/9/thread:244
      #13 0x0000556f262c883d in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=0x604000004058) at /usr/include/c++/9/thread:251
      #14 0x0000556f262c87a2 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> > >::_M_run (this=0x604000004050) at /usr/include/c++/9/thread:195
      #15 0x00007f54ff9c0d84 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #16 0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #17 0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 9 (Thread 0x7f54f29e8700 (LWP 1421638)):
      #0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f54f29e7790, clockid=<optimized out>, expected=0, futex_word=0x63000003fc28) at ../sysdeps/nptl/futex-internal.h:320
      #1  __pthread_cond_wait_common (abstime=0x7f54f29e7790, clockid=<optimized out>, mutex=0x618000000590, cond=0x63000003fc00) at pthread_cond_wait.c:520
      #2  __pthread_cond_timedwait (cond=0x63000003fc00, mutex=0x618000000590, abstime=0x7f54f29e7790) at pthread_cond_wait.c:656
      #3  0x0000556f262b93ef in __gthread_cond_timedwait (__cond=0x63000003fc00, __mutex=0x618000000590, __abs_timeout=0x7f54f29e7790) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:872
      #4  0x0000556f262c124b in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x63000003fc00, __lock=..., __atime=...) at /usr/include/c++/9/condition_variable:188
      #5  0x0000556f262bec3b in std::condition_variable::wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x63000003fc00, __lock=..., __atime=...) at /usr/include/c++/9/condition_variable:121
      #6  0x0000556f262bc067 in std::condition_variable::wait_for<long, std::ratio<1l, 1000l> > (this=0x63000003fc00, __lock=..., __rtime=...) at /usr/include/c++/9/condition_variable:152
      #7  0x0000556f262b576a in tpool::thread_pool_generic::wait_for_tasks (this=0x618000000480, lk=..., thread_data=0x63000003fc00) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:450
      #8  0x0000556f262b5bc8 in tpool::thread_pool_generic::get_task (this=0x618000000480, thread_var=0x63000003fc00, t=0x7f54f29e7b40) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:503
      #9  0x0000556f262b6208 in tpool::thread_pool_generic::worker_main (this=0x618000000480, thread_var=0x63000003fc00) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:548
      #10 0x0000556f262c8cb7 in std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__f=@0x604000004028: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x556f262b60e6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, __t=@0x604000004020: 0x618000000480) at /usr/include/c++/9/bits/invoke.h:73
      #11 0x0000556f262c8a62 in std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=@0x604000004028: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x556f262b60e6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>) at /usr/include/c++/9/bits/invoke.h:95
      #12 0x0000556f262c88f3 in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::_M_invoke<0ul, 1ul, 2ul> (this=0x604000004018) at /usr/include/c++/9/thread:244
      #13 0x0000556f262c883d in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=0x604000004018) at /usr/include/c++/9/thread:251
      #14 0x0000556f262c87a2 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> > >::_M_run (this=0x604000004010) at /usr/include/c++/9/thread:195
      #15 0x00007f54ff9c0d84 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #16 0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #17 0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 8 (Thread 0x7f54f31e9700 (LWP 1421637)):
      #0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f54f31e8790, clockid=<optimized out>, expected=0, futex_word=0x63000003fcac) at ../sysdeps/nptl/futex-internal.h:320
      #1  __pthread_cond_wait_common (abstime=0x7f54f31e8790, clockid=<optimized out>, mutex=0x618000000590, cond=0x63000003fc80) at pthread_cond_wait.c:520
      #2  __pthread_cond_timedwait (cond=0x63000003fc80, mutex=0x618000000590, abstime=0x7f54f31e8790) at pthread_cond_wait.c:656
      #3  0x0000556f262b93ef in __gthread_cond_timedwait (__cond=0x63000003fc80, __mutex=0x618000000590, __abs_timeout=0x7f54f31e8790) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:872
      #4  0x0000556f262c124b in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x63000003fc80, __lock=..., __atime=...) at /usr/include/c++/9/condition_variable:188
      #5  0x0000556f262bec3b in std::condition_variable::wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x63000003fc80, __lock=..., __atime=...) at /usr/include/c++/9/condition_variable:121
      #6  0x0000556f262bc067 in std::condition_variable::wait_for<long, std::ratio<1l, 1000l> > (this=0x63000003fc80, __lock=..., __rtime=...) at /usr/include/c++/9/condition_variable:152
      #7  0x0000556f262b576a in tpool::thread_pool_generic::wait_for_tasks (this=0x618000000480, lk=..., thread_data=0x63000003fc80) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:450
      #8  0x0000556f262b5bc8 in tpool::thread_pool_generic::get_task (this=0x618000000480, thread_var=0x63000003fc80, t=0x7f54f31e8b40) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:503
      #9  0x0000556f262b6208 in tpool::thread_pool_generic::worker_main (this=0x618000000480, thread_var=0x63000003fc80) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:548
      #10 0x0000556f262c8cb7 in std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__f=@0x604000000b68: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x556f262b60e6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, __t=@0x604000000b60: 0x618000000480) at /usr/include/c++/9/bits/invoke.h:73
      #11 0x0000556f262c8a62 in std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=@0x604000000b68: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x556f262b60e6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>) at /usr/include/c++/9/bits/invoke.h:95
      #12 0x0000556f262c88f3 in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::_M_invoke<0ul, 1ul, 2ul> (this=0x604000000b58) at /usr/include/c++/9/thread:244
      #13 0x0000556f262c883d in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=0x604000000b58) at /usr/include/c++/9/thread:251
      #14 0x0000556f262c87a2 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> > >::_M_run (this=0x604000000b50) at /usr/include/c++/9/thread:195
      #15 0x00007f54ff9c0d84 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #16 0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #17 0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 7 (Thread 0x7f54f39ea700 (LWP 1421636)):
      #0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f54f39e9790, clockid=<optimized out>, expected=0, futex_word=0x63000003fd28) at ../sysdeps/nptl/futex-internal.h:320
      #1  __pthread_cond_wait_common (abstime=0x7f54f39e9790, clockid=<optimized out>, mutex=0x618000000590, cond=0x63000003fd00) at pthread_cond_wait.c:520
      #2  __pthread_cond_timedwait (cond=0x63000003fd00, mutex=0x618000000590, abstime=0x7f54f39e9790) at pthread_cond_wait.c:656
      #3  0x0000556f262b93ef in __gthread_cond_timedwait (__cond=0x63000003fd00, __mutex=0x618000000590, __abs_timeout=0x7f54f39e9790) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:872
      #4  0x0000556f262c124b in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x63000003fd00, __lock=..., __atime=...) at /usr/include/c++/9/condition_variable:188
      #5  0x0000556f262bec3b in std::condition_variable::wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x63000003fd00, __lock=..., __atime=...) at /usr/include/c++/9/condition_variable:121
      #6  0x0000556f262bc067 in std::condition_variable::wait_for<long, std::ratio<1l, 1000l> > (this=0x63000003fd00, __lock=..., __rtime=...) at /usr/include/c++/9/condition_variable:152
      #7  0x0000556f262b576a in tpool::thread_pool_generic::wait_for_tasks (this=0x618000000480, lk=..., thread_data=0x63000003fd00) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:450
      #8  0x0000556f262b5bc8 in tpool::thread_pool_generic::get_task (this=0x618000000480, thread_var=0x63000003fd00, t=0x7f54f39e9b40) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:503
      #9  0x0000556f262b6208 in tpool::thread_pool_generic::worker_main (this=0x618000000480, thread_var=0x63000003fd00) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:548
      #10 0x0000556f262c8cb7 in std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__f=@0x604000002028: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x556f262b60e6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, __t=@0x604000002020: 0x618000000480) at /usr/include/c++/9/bits/invoke.h:73
      #11 0x0000556f262c8a62 in std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=@0x604000002028: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x556f262b60e6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>) at /usr/include/c++/9/bits/invoke.h:95
      #12 0x0000556f262c88f3 in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::_M_invoke<0ul, 1ul, 2ul> (this=0x604000002018) at /usr/include/c++/9/thread:244
      #13 0x0000556f262c883d in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=0x604000002018) at /usr/include/c++/9/thread:251
      #14 0x0000556f262c87a2 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> > >::_M_run (this=0x604000002010) at /usr/include/c++/9/thread:195
      #15 0x00007f54ff9c0d84 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #16 0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #17 0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 6 (Thread 0x7f54f4201700 (LWP 1421635)):
      #0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f54f4200790, clockid=<optimized out>, expected=0, futex_word=0x63000003fda8) at ../sysdeps/nptl/futex-internal.h:320
      #1  __pthread_cond_wait_common (abstime=0x7f54f4200790, clockid=<optimized out>, mutex=0x618000000590, cond=0x63000003fd80) at pthread_cond_wait.c:520
      #2  __pthread_cond_timedwait (cond=0x63000003fd80, mutex=0x618000000590, abstime=0x7f54f4200790) at pthread_cond_wait.c:656
      #3  0x0000556f262b93ef in __gthread_cond_timedwait (__cond=0x63000003fd80, __mutex=0x618000000590, __abs_timeout=0x7f54f4200790) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:872
      #4  0x0000556f262c124b in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x63000003fd80, __lock=..., __atime=...) at /usr/include/c++/9/condition_variable:188
      #5  0x0000556f262bec3b in std::condition_variable::wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x63000003fd80, __lock=..., __atime=...) at /usr/include/c++/9/condition_variable:121
      #6  0x0000556f262bc067 in std::condition_variable::wait_for<long, std::ratio<1l, 1000l> > (this=0x63000003fd80, __lock=..., __rtime=...) at /usr/include/c++/9/condition_variable:152
      #7  0x0000556f262b576a in tpool::thread_pool_generic::wait_for_tasks (this=0x618000000480, lk=..., thread_data=0x63000003fd80) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:450
      #8  0x0000556f262b5bc8 in tpool::thread_pool_generic::get_task (this=0x618000000480, thread_var=0x63000003fd80, t=0x7f54f4200b40) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:503
      #9  0x0000556f262b6208 in tpool::thread_pool_generic::worker_main (this=0x618000000480, thread_var=0x63000003fd80) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/tpool_generic.cc:548
      #10 0x0000556f262c8cb7 in std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__f=@0x604000000768: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x556f262b60e6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, __t=@0x604000000760: 0x618000000480) at /usr/include/c++/9/bits/invoke.h:73
      #11 0x0000556f262c8a62 in std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=@0x604000000768: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x556f262b60e6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>) at /usr/include/c++/9/bits/invoke.h:95
      #12 0x0000556f262c88f3 in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::_M_invoke<0ul, 1ul, 2ul> (this=0x604000000758) at /usr/include/c++/9/thread:244
      #13 0x0000556f262c883d in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=0x604000000758) at /usr/include/c++/9/thread:251
      #14 0x0000556f262c87a2 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> > >::_M_run (this=0x604000000750) at /usr/include/c++/9/thread:195
      #15 0x00007f54ff9c0d84 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #16 0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #17 0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 5 (Thread 0x7f54f4e44700 (LWP 1421634)):
      #0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x556f28680768 <buf_pool+17576>) at ../sysdeps/nptl/futex-internal.h:183
      #1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x556f28680668 <buf_pool+17320>, cond=0x556f28680740 <buf_pool+17536>) at pthread_cond_wait.c:508
      #2  __pthread_cond_wait (cond=0x556f28680740 <buf_pool+17536>, mutex=0x556f28680668 <buf_pool+17320>) at pthread_cond_wait.c:638
      #3  0x0000556f26497aef in safe_cond_wait (cond=0x556f28680740 <buf_pool+17536>, mp=0x556f28680640 <buf_pool+17280>, file=0x556f274ea140 "/data/src/bb-10.6-midenok-MDEV-17554/storage/innobase/buf/buf0flu.cc", line=2090) at /data/src/bb-10.6-midenok-MDEV-17554/mysys/thr_mutex.c:492
      #4  0x0000556f2609aa99 in buf_flush_page_cleaner () at /data/src/bb-10.6-midenok-MDEV-17554/storage/innobase/buf/buf0flu.cc:2090
      #5  0x0000556f260a03d6 in std::__invoke_impl<void, void (*)()> (__f=@0x6020000001d8: 0x556f2609a266 <buf_flush_page_cleaner()>) at /usr/include/c++/9/bits/invoke.h:60
      #6  0x0000556f260a0312 in std::__invoke<void (*)()> (__fn=@0x6020000001d8: 0x556f2609a266 <buf_flush_page_cleaner()>) at /usr/include/c++/9/bits/invoke.h:95
      #7  0x0000556f260a0238 in std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul> (this=0x6020000001d8) at /usr/include/c++/9/thread:244
      #8  0x0000556f260a01b9 in std::thread::_Invoker<std::tuple<void (*)()> >::operator() (this=0x6020000001d8) at /usr/include/c++/9/thread:251
      #9  0x0000556f260a011e in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run (this=0x6020000001d0) at /usr/include/c++/9/thread:195
      #10 0x00007f54ff9c0d84 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #11 0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #12 0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 4 (Thread 0x7f54f62c1700 (LWP 1421633)):
      #0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
      #1  0x0000556f262caa54 in my_getevents (ctx=0x7f54f62c2000, min_nr=1, nr=256, ev=0x7f54f62bea90) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/aio_linux.cc:62
      #2  0x0000556f262cb057 in tpool::aio_linux::getevent_thread_routine (aio=0x6030000002b0) at /data/src/bb-10.6-midenok-MDEV-17554/tpool/aio_linux.cc:104
      #3  0x0000556f262cc833 in std::__invoke_impl<void, void (*)(tpool::aio_linux*), tpool::aio_linux*> (__f=@0x6030000002f0: 0x556f262caf06 <tpool::aio_linux::getevent_thread_routine(tpool::aio_linux*)>) at /usr/include/c++/9/bits/invoke.h:60
      #4  0x0000556f262cc706 in std::__invoke<void (*)(tpool::aio_linux*), tpool::aio_linux*> (__fn=@0x6030000002f0: 0x556f262caf06 <tpool::aio_linux::getevent_thread_routine(tpool::aio_linux*)>) at /usr/include/c++/9/bits/invoke.h:95
      #5  0x0000556f262cc5e3 in std::thread::_Invoker<std::tuple<void (*)(tpool::aio_linux*), tpool::aio_linux*> >::_M_invoke<0ul, 1ul> (this=0x6030000002e8) at /usr/include/c++/9/thread:244
      #6  0x0000556f262cc549 in std::thread::_Invoker<std::tuple<void (*)(tpool::aio_linux*), tpool::aio_linux*> >::operator() (this=0x6030000002e8) at /usr/include/c++/9/thread:251
      #7  0x0000556f262cc4ae in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(tpool::aio_linux*), tpool::aio_linux*> > >::_M_run (this=0x6030000002e0) at /usr/include/c++/9/thread:195
      #8  0x00007f54ff9c0d84 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #9  0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #10 0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 3 (Thread 0x7f54f6eec700 (LWP 1421632)):
      #0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f54f6eebbc0, clockid=<optimized out>, expected=0, futex_word=0x556f2929ba88 <COND_checkpoint+40>) at ../sysdeps/nptl/futex-internal.h:320
      #1  __pthread_cond_wait_common (abstime=0x7f54f6eebbc0, clockid=<optimized out>, mutex=0x556f2929b9a8 <LOCK_checkpoint+40>, cond=0x556f2929ba60 <COND_checkpoint>) at pthread_cond_wait.c:520
      #2  __pthread_cond_timedwait (cond=0x556f2929ba60 <COND_checkpoint>, mutex=0x556f2929b9a8 <LOCK_checkpoint+40>, abstime=0x7f54f6eebbc0) at pthread_cond_wait.c:656
      #3  0x0000556f26498428 in safe_cond_timedwait (cond=0x556f2929ba60 <COND_checkpoint>, mp=0x556f2929b980 <LOCK_checkpoint>, abstime=0x7f54f6eebbc0, file=0x556f2768d4a0 "/data/src/bb-10.6-midenok-MDEV-17554/mysys/my_thr_init.c", line=609) at /data/src/bb-10.6-midenok-MDEV-17554/mysys/thr_mutex.c:546
      #4  0x0000556f2648548d in psi_cond_timedwait (that=0x556f2929ba60 <COND_checkpoint>, mutex=0x556f2929b980 <LOCK_checkpoint>, abstime=0x7f54f6eebbc0, file=0x556f26ecc340 "/data/src/bb-10.6-midenok-MDEV-17554/storage/maria/ma_servicethread.c", line=115) at /data/src/bb-10.6-midenok-MDEV-17554/mysys/my_thr_init.c:609
      #5  0x0000556f2566c93c in inline_mysql_cond_timedwait (that=0x556f2929ba60 <COND_checkpoint>, mutex=0x556f2929b980 <LOCK_checkpoint>, abstime=0x7f54f6eebbc0, src_file=0x556f26ecc340 "/data/src/bb-10.6-midenok-MDEV-17554/storage/maria/ma_servicethread.c", src_line=115) at /data/src/bb-10.6-midenok-MDEV-17554/include/mysql/psi/mysql_thread.h:1086
      #6  0x0000556f2566d701 in my_service_thread_sleep (control=0x556f2821acc0 <checkpoint_control>, sleep_time=29000000000) at /data/src/bb-10.6-midenok-MDEV-17554/storage/maria/ma_servicethread.c:115
      #7  0x0000556f2564f868 in ma_checkpoint_background (arg=0x1e) at /data/src/bb-10.6-midenok-MDEV-17554/storage/maria/ma_checkpoint.c:707
      #8  0x0000556f25862c31 in pfs_spawn_thread (arg=0x616000021108) at /data/src/bb-10.6-midenok-MDEV-17554/storage/perfschema/pfs.cc:2201
      #9  0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #10 0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 2 (Thread 0x7f54f7e0d700 (LWP 1421631)):
      #0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f54f7e0cd10, clockid=<optimized out>, expected=0, futex_word=0x556f29377728 <COND_timer+40>) at ../sysdeps/nptl/futex-internal.h:320
      #1  __pthread_cond_wait_common (abstime=0x7f54f7e0cd10, clockid=<optimized out>, mutex=0x556f29377648 <LOCK_timer+40>, cond=0x556f29377700 <COND_timer>) at pthread_cond_wait.c:520
      #2  __pthread_cond_timedwait (cond=0x556f29377700 <COND_timer>, mutex=0x556f29377648 <LOCK_timer+40>, abstime=0x7f54f7e0cd10) at pthread_cond_wait.c:656
      #3  0x0000556f26498428 in safe_cond_timedwait (cond=0x556f29377700 <COND_timer>, mp=0x556f29377620 <LOCK_timer>, abstime=0x7f54f7e0cd10, file=0x556f2768d4a0 "/data/src/bb-10.6-midenok-MDEV-17554/mysys/my_thr_init.c", line=609) at /data/src/bb-10.6-midenok-MDEV-17554/mysys/thr_mutex.c:546
      #4  0x0000556f2648548d in psi_cond_timedwait (that=0x556f29377700 <COND_timer>, mutex=0x556f29377620 <LOCK_timer>, abstime=0x7f54f7e0cd10, file=0x556f27690e60 "/data/src/bb-10.6-midenok-MDEV-17554/mysys/thr_timer.c", line=321) at /data/src/bb-10.6-midenok-MDEV-17554/mysys/my_thr_init.c:609
      #5  0x0000556f2649aeae in inline_mysql_cond_timedwait (that=0x556f29377700 <COND_timer>, mutex=0x556f29377620 <LOCK_timer>, abstime=0x7f54f7e0cd10, src_file=0x556f27690e60 "/data/src/bb-10.6-midenok-MDEV-17554/mysys/thr_timer.c", src_line=321) at /data/src/bb-10.6-midenok-MDEV-17554/include/mysql/psi/mysql_thread.h:1086
      #6  0x0000556f2649d08e in timer_handler (arg=0x0) at /data/src/bb-10.6-midenok-MDEV-17554/mysys/thr_timer.c:321
      #7  0x0000556f25862c31 in pfs_spawn_thread (arg=0x616000004c08) at /data/src/bb-10.6-midenok-MDEV-17554/storage/perfschema/pfs.cc:2201
      #8  0x00007f54ffadc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #9  0x00007f54ff6b0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      Thread 1 (Thread 0x7f54ff43b880 (LWP 1421630)):
      #0  0x00007f54ff6a3aff in __GI___poll (fds=0x612000043448, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
      #1  0x00007f550000a5ba in poll () from /lib/x86_64-linux-gnu/libasan.so.5
      #2  0x0000556f2442137a in handle_connections_sockets () at /data/src/bb-10.6-midenok-MDEV-17554/sql/mysqld.cc:6076
      #3  0x0000556f2441fb49 in mysqld_main (argc=157, argv=0x61b000001668) at /data/src/bb-10.6-midenok-MDEV-17554/sql/mysqld.cc:5781
      #4  0x0000556f24407f3d in main (argc=24, argv=0x7ffd2e5ed508) at /data/src/bb-10.6-midenok-MDEV-17554/sql/main.cc:25
      

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration