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

rocksdb.write_sync fails on amd64-windows-packages

Details

    Description

      rocksdb.write_sync fails regularly on amd64-windows-packages

      rocksdb.write_sync 'write_prepared'      w30 [ fail ]
              Test ended at 2024-04-09 05:07:46
       
      CURRENT_TEST: rocksdb.write_sync
      mysqltest: In included file "./include/wait_for_status_var.inc": 
      included from D:\Buildbot\amd64-windows-packages\build\storage\rocksdb\mysql-test\rocksdb\t\write_sync.test at line 33:
      At line 88: Explicit --die command executed

      e.g.
      https://buildbot.mariadb.org/#/builders/239/builds/19608

      Attachments

        Issue Links

          Activity

            Always fails on the same line:

            select variable_value into @a from information_schema.global_status where variable_name='rocksdb_wal_synced';
            SET GLOBAL rocksdb_flush_log_at_trx_commit=2;
            insert aaa(id, i) values(5,1);
             
            let $status_var=rocksdb_wal_synced;
            let $status_var_value=`select @a+1`;
            source include/wait_for_status_var.inc;
            

            Here, we

            • note the value of rocksdb_wal_synced into @a
            • run a statement
            • wait until rocksdb_wal_synced becomes equal to @a+1

            and we miss this. The test failures eventually show much larger values:

            https://buildbot.mariadb.org/cr/?branch=&revision=&platform=&dt=&bbnum=&typ=&info=&test_name=rocksdb.write_sync&test_variant=&info_text=&failure_text=&limit=50#

            **** ERROR: failed while waiting for '' 'rocksdb_wal_synced' = '9' ****
            Rocksdb_wal_synced	85
            

            **** ERROR: failed while waiting for '' 'rocksdb_wal_synced' = '10' ****
            Rocksdb_wal_synced	93
            

            **** ERROR: failed while waiting for '' 'rocksdb_wal_synced' = '9' ****
            Rocksdb_wal_synced	92
            

            **** ERROR: failed while waiting for '' 'rocksdb_wal_synced' = '9' ****
            Rocksdb_wal_synced	100
            

            I am not sure who does the extra syncs...
            rocksdb_flush_log_at_trx_commit=2 means "sync every second". This does NOT mean an idle server will still perform a sync every second, does it?

            psergei Sergei Petrunia added a comment - Always fails on the same line: select variable_value into @a from information_schema.global_status where variable_name='rocksdb_wal_synced'; SET GLOBAL rocksdb_flush_log_at_trx_commit=2; insert aaa(id, i) values(5,1);   let $status_var=rocksdb_wal_synced; let $status_var_value=`select @a+1`; source include/wait_for_status_var.inc; Here, we note the value of rocksdb_wal_synced into @a run a statement wait until rocksdb_wal_synced becomes equal to @a+1 and we miss this. The test failures eventually show much larger values: https://buildbot.mariadb.org/cr/?branch=&revision=&platform=&dt=&bbnum=&typ=&info=&test_name=rocksdb.write_sync&test_variant=&info_text=&failure_text=&limit=50# **** ERROR: failed while waiting for '' 'rocksdb_wal_synced' = '9' **** Rocksdb_wal_synced 85 **** ERROR: failed while waiting for '' 'rocksdb_wal_synced' = '10' **** Rocksdb_wal_synced 93 **** ERROR: failed while waiting for '' 'rocksdb_wal_synced' = '9' **** Rocksdb_wal_synced 92 **** ERROR: failed while waiting for '' 'rocksdb_wal_synced' = '9' **** Rocksdb_wal_synced 100 I am not sure who does the extra syncs... rocksdb_flush_log_at_trx_commit=2 means "sync every second". This does NOT mean an idle server will still perform a sync every second, does it?

            All failures are on windows. There is one on amd64-debian-12-rocksdb but it has failed in a different way.

            psergei Sergei Petrunia added a comment - All failures are on windows. There is one on amd64-debian-12-rocksdb but it has failed in a different way.

            It is a funny host, too, where it fails. The host seems to have problems with IO. mandatory builder amd64-windows used to be on that host, until one day suddenly it became very slow, so amd64-windows had to move to another machine.

            wlad Vladislav Vaintroub added a comment - It is a funny host, too, where it fails. The host seems to have problems with IO. mandatory builder amd64-windows used to be on that host, until one day suddenly it became very slow, so amd64-windows had to move to another machine.

            wlad, thanks for the note.. host-specific issues could add another level of complexity...

            Pushed this so the priority of this MDEV can be lowered:

            commit f90fcefdb2eada4e8c507eefc5d5e620b34c94d2
            Author: Sergei Petrunia <sergey@mariadb.com>
            Date:   Mon May 6 13:31:31 2024 +0300
             
                MDEV-33866: rocksdb.write_sync fails on windows ... : Disable it
            

            psergei Sergei Petrunia added a comment - wlad , thanks for the note.. host-specific issues could add another level of complexity... Pushed this so the priority of this MDEV can be lowered: commit f90fcefdb2eada4e8c507eefc5d5e620b34c94d2 Author: Sergei Petrunia <sergey@mariadb.com> Date: Mon May 6 13:31:31 2024 +0300   MDEV-33866: rocksdb.write_sync fails on windows ... : Disable it

            People

              psergei Sergei Petrunia
              serg Sergei Golubchik
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.