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

MyRocks - rocksdb_rate_limiter_bytes_per_sec variable cannot be set dynamically from zero value

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: On Hold
    • Priority: Low
    • Resolution: Unresolved
    • Affects Version/s: Not 5.6, 5.7.25-28, 8.0.13-4
    • Fix Version/s: None
    • Component/s: MyRocks
    • Labels:
      None
    • Environment:

      See pt-summary and pt-mysql-summary in the following ticket.

      https://jira.percona.com/browse/PS-5425

      Description

      Per the documentation found here...

      https://www.percona.com/doc/percona-server/5.7/myrocks/variables.html#rocksdb_rate_limiter_bytes_per_sec

      The variable rocksdb_rate_limiter_bytes_per_sec should be able to be set dynamically, however in testing I've found that this does not work when changing it from/to a 0 value. A warning stating that the variable cannot be changed dynamically in this case. You may want to update the documentation for this.

      mysql> show global variables like '%rocksdb_rate_limiter_bytes_per_sec%';
      +------------------------------------+-------+
      | Variable_name                      | Value |
      +------------------------------------+-------+
      | rocksdb_rate_limiter_bytes_per_sec | 0     |
      +------------------------------------+-------+
      1 row in set (0.11 sec)mysql> set global rocksdb_rate_limiter_bytes_per_sec = 10485760;
      Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> show warnings;
      +---------+------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
      | Level   | Code | Message                                                                                                                                             |
      +---------+------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
      | Warning | 1210 | RocksDB: rocksdb_rate_limiter_bytes_per_sec cannot be dynamically changed to or from 0.  Do a clean shutdown if you want to change it from or to 0. |
      +---------+------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
      1 row in set (0.00 sec)mysql> show global variables like '%rocksdb_rate_limiter_bytes_per_sec%';
      +------------------------------------+-------+
      | Variable_name                      | Value |
      +------------------------------------+-------+
      | rocksdb_rate_limiter_bytes_per_sec | 0     |
      +------------------------------------+-------+
      1 row in set (0.00 sec)
      

      Below I confirmed that I can change the value dynamically so long as it's not to/from a 0 value.

      [root@centos7-1 ~]# systemctl restart mysqld
      [root@centos7-1 ~]# mysql -u root -p
      Enter password:
      Welcome to the MySQL monitor.  Commands end with ; or \g.
      Your MySQL connection id is 2
      Server version: 5.7.24-27 Percona Server (GPL), Release 27, Revision bd42700Copyright (c) 2009-2018 Percona LLC and/or its affiliates
      Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
      affiliates. Other names may be trademarks of their respective
      owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show global variables like 'rocksdb_rate_limiter_bytes_per_sec';
      +------------------------------------+----------+
      | Variable_name                      | Value    |
      +------------------------------------+----------+
      | rocksdb_rate_limiter_bytes_per_sec | 10485760 |
      +------------------------------------+----------+
      1 row in set (0.01 sec)mysql> set global rocksdb_rate_limiter_bytes_per_sec = 10240;
      Query OK, 0 rows affected (0.00 sec)mysql> show global variables like 'rocksdb_rate_limiter_bytes_per_sec';
      +------------------------------------+-------+
      | Variable_name                      | Value |
      +------------------------------------+-------+
      | rocksdb_rate_limiter_bytes_per_sec | 10240 |
      +------------------------------------+-------+
      1 row in set (0.00 sec)
      

       

        Smart Checklist

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                Sylvester Peter Sylvester
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: