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

Do not process all collection drop messages to indexer

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Morpheus
    • 7.0.4, 7.1.1
    • secondary-index
    • None
    • Untriaged
    • 1
    • Unknown

    Description

      Steps to reproduce:

      a. Create a 2 node cluster with 1KV+n1ql, 1 index node

      b. Create an index on default scope, default collection

      c. Create 3 collections - C1, C2, C3

      d. Drop all three collections

      Indexer log will be flooded with 3*1024 lines of "Indexer:: processCollectionDrop" messages. This is because MAINT_STREAM opens a bucket level stream and all events are propagated to indexer on MAINT_STREAM. These events can not be filtered at projector as indexer needs these events to update the manifestUID due to the collection event. On indexer side, indexer can disable the logging to reduce logging impact but indexer would still end-up processing all index instances for CollectionDrop event from each vbucket. If there are 1000 index instances, this will be 1000*1024 instance checks per collection drop.

      There are two possible ways to address this issue:

      a. Send a new event type - Like updateSeqno indexer still receives seqno. and manifestUID update due to collectionDrop event but will not process the event if it does not belong to the keyspace of interest.

      b. Indexer will maintain a map of collectionID's and will process a drop message only if the collectionID exists in the map

      Approach (a) has mixed mode implications. Approach (b) seems preferable

      Attachments

        For Gerrit Dashboard: MB-52514
        # Subject Branch Project Status CR V

        Activity

          People

            varun.velamuri Varun Velamuri
            varun.velamuri Varun Velamuri
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty