Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIRA Options are not reflected in OPTIONS and LOG files #3568

Open
sgerbino opened this issue Dec 5, 2019 · 1 comment
Open

MIRA Options are not reflected in OPTIONS and LOG files #3568

sgerbino opened this issue Dec 5, 2019 · 1 comment

Comments

@sgerbino
Copy link
Contributor

sgerbino commented Dec 5, 2019

When setting values in database.cfg the corresponding OPTIONS and LOG files produced by RocksDB do not contain those values. Since rocksdb_advisor uses those files to make tuning suggestions it is important for us to address this.

The function maybe_create_schema() creates the database initially with default values and these are reflected in the LOG and OPTIONS files.

Later during execution, we open the database with user configuration and it does not show or produce files, however they seem to be applied.

@Gandalf-the-Grey
Copy link
Contributor

they seem to be applied

I'm afraid that they aren't
I can't see the difference in runtime even with ridiculous settings like:

  "base": {
    "optimize_level_style_compaction": true,
    "increase_parallelism": true,
    "max_write_buffer_number": 4,
    "min_write_buffer_number_to_merge": 2,
    "max_bytes_for_level_base": 1024,
    "target_file_size_base": 1024,
    "block_based_table_options": {
      "block_size": 8,
      "cache_index_and_filter_blocks": true,
      "bloom_filter_policy": {
        "bits_per_key": 100,
        "use_block_based_builder": false
      }
    }

And now I actually have a proof that they aren't:

rocksdb_witness_object/LOG:2019/12/06-12:17:39.052289 7ff8c23f1f00 [WARN] [db/column_family.cc:738] [boost::mpl::v_item<steem::chain::by_id, boost::mpl::vector0<mpl_::na>, 0>] Stopping writes because we have 2 immutable memtables (waiting for flush), max_write_buffer_number is set to 2

Even if we assume that it does not show the option, in above example you can see that warning message show value of max_write_buffer_number set to 2 while in configuration it's set to 4.

Steps to reproduce: I just let it run for some more time and wait for WARN messages that prints current value of a variable that's set to a different than default value.

sgerbino added a commit that referenced this issue Dec 6, 2019
… use it whenever we open or close the database
sgerbino added a commit that referenced this issue Dec 12, 2019
…pport for a handful of extra rocksdb options in MIRA configuration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants