Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-52897

Why does indexer write to the /indexing/settings/config key?

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • Major
    • None
    • 7.1.1
    • secondary-index
    • None
    • 1

    Description

      I noticed that indexing writes to the /indexing/settings/config key. When I brought up a new KV-only cluster, the config key looked like this:

      $ curl -s -u Administrator:asdasd localhost:9000/diag/eval -d 'ns_config:search({metakv, <<"/indexing/settings/config">>})'
      {value,<<"{\"indexer.settings.compaction.days_of_week\":\"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday\",\"indexer.settings.rebalance.redistribute_indexes\":false,\"indexer.settings.compaction.interval\":\"00:00,00:00\",\"indexer.settings.compaction.compaction_mode\":\"circular\",\"indexer.settings.log_level\":\"info\",\"indexer.settings.persisted_snapshot.interval\":5000,\"indexer.settings.compaction.min_frag\":30,\"indexer.settings.inmemory_snapshot.interval\":200,\"indexer.settings.enable_page_bloom_filter\":false,\"indexer.settings.max_cpu_percent\":0,\"indexer.settings.storage_mode\":\"plasma\",\"indexer.settings.recovery.max_rollbacks\":2,\"indexer.settings.num_replica\":0,\"indexer.settings.memory_quota\":268435456,\"indexer.settings.compaction.abort_exceed_interval\":false}">>}
      

      Later, I added an index node and after some seconds I noticed this:

       $ curl -s -u Administrator:asdasd localhost:9000/diag/eval -d 'ns_config:search({metakv, <<"/indexing/settings/config">>})'
      {value,<<"{\"indexer.plasma.backIndex.enableInMemoryCompression\":true,\"indexer.plasma.backIndex.enablePageBloomFilter\":false,\"indexer.plasma.mainIndex.enableInMemoryCompression\":true,\"indexer.settings.allow_large_keys\":true,\"indexer.settings.bufferPoolBlockSize\":16384,\"indexer.settings.build.batch_size\":5,\"indexer.settings.compaction.abort_exceed_interval\":false,\"indexer.settings.compaction.check_period\":30,\"indexer.settings.compaction.compaction_mode\":\"circular\",\"indexer.settings.compaction.days_of_week\":\"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday\",\"indexer.settings.compaction.interval\":\"00:00,00:00\",\"indexer.settings.compaction.min_frag\":30,\"indexer.settings.compaction.min_size\":524288000,\"indexer.settings.compaction.plasma.manual\":false,\"indexer.settings.compaction.plasma.optional.decrement\":5,\"indexer.settings.compaction.plasma.optional.min_frag\":20,\"indexer.settings.compaction.plasma.optional.quota\":25,\"indexer.settings.corrupt_index_num_backups\":1,\"indexer.settings.cpuProfDir\":\"\",\"indexer.settings.cpuProfile\":false,\"indexer.settings.eTagPeriod\":240,\"indexer.settings.enable_corrupt_index_backup\":false,\"indexer.settings.enable_page_bloom_filter\":false,\"indexer.settings.fast_flush_mode\":true,\"indexer.settings.gc_percent\":100,\"indexer.settings.inmemory_snapshot.fdb.interval\":200,\"indexer.settings.inmemory_snapshot.interval\":200,\"indexer.settings.inmemory_snapshot.moi.interval\":10,\"indexer.settings.largeSnapshotThreshold\":200,\"indexer.settings.log_level\":\"info\",\"indexer.settings.maxVbQueueLength\":0,\"indexer.settings.max_array_seckey_size\":10240,\"indexer.settings.max_cpu_percent\":0,\"indexer.settings.max_seckey_size\":4608,\"indexer.settings.max_writer_lock_prob\":20,\"indexer.settings.memProfDir\":\"\",\"indexer.settings.memProfile\":false,\"indexer.settings.memory_quota\":268435456,\"indexer.settings.minVbQueueLength\":250,\"indexer.settings.moi.debug\":false,\"indexer.settings.moi.persistence_threads\":6,\"indexer.settings.moi.recovery.max_rollbacks\":2,\"indexer.settings.moi.recovery_threads\":12,\"indexer.settings.num_replica\":0,\"indexer.settings.persisted_snapshot.fdb.interval\":5000,\"indexer.settings.persisted_snapshot.interval\":5000,\"indexer.settings.persisted_snapshot.moi.interval\":600000,\"indexer.settings.persisted_snapshot_init_build.fdb.interval\":5000,\"indexer.settings.persisted_snapshot_init_build.interval\":5000,\"indexer.settings.persisted_snapshot_init_build.moi.interval\":600000,\"indexer.settings.plasma.recovery.max_rollbacks\":2,\"indexer.settings.rebalance.redistribute_indexes\":false,\"indexer.settings.recovery.max_rollbacks\":2,\"indexer.settings.scan_getseqnos_retries\":30,\"indexer.settings.scan_timeout\":120000,\"indexer.settings.send_buffer_size\":1024,\"indexer.settings.sliceBufSize\":2400,\"indexer.settings.smallSnapshotThreshold\":30,\"indexer.settings.snapshotListeners\":6,\"indexer.settings.snapshotRequestWorkers\":6,\"indexer.settings.statsLogDumpInterval\":60,\"indexer.settings.storage_mode\":\"plasma\",\"indexer.settings.storage_mode.disable_upgrade\":false,\"indexer.settings.wal_size\":4096,\"projector.settings.log_level\":\"info\",\"queryport.client.settings.backfillLimit\":5120,\"queryport.client.settings.minPoolSizeWM\":1000,\"queryport.client.settings.poolOverflow\":30,\"queryport.client.settings.poolSize\":5000,\"queryport.client.settings.relConnBatchSize\":100}">>}
      

      So, clearly indexing is overwriting the settings with its version of the configuration. As far as I can tell this doesn't seem to happen in 6.6 or 7.0.

      This seems like it's potentially problematic as perhaps we can get into a situation where it's not clear who owns each config setting – is it ns_server or indexing? It seems it's possible this situation will cause problems at some point.

      I think it would be good to get answers to the following questions:

      • Has this always been happening (and I goofed up my test on 7.0 and 6.6)?
      • If it's a change in 7.1 or more recently, why was this change made and what's the thinking behind which component should be responsible for updating config settings?

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            deepkaran.salooja Deepkaran Salooja
            dfinlay Dave Finlay
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty