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

Metadata store that is immediately consistent in which to store Index Definitions

    XMLWordPrintable

Details

    • Improvement
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 5.0.0
    • Morpheus
    • secondary-index
    • Security Level: Public
    • Cluster Setup:
      2 nodes

      Node 1: kv index n1ql
      Node 2: index

    Description

      We need a metadata store that is immediately consistent and indexing should move to use it in which to store indexing definitions.


      Original Problem:
      [GSI] Indexes can be created with duplicate index_names when one of the indexer node is in failed over state

      Steps:
      1. Configure cluster. Create bucket default and load the bucket with 10k items.
      Sample document:

      {
        "name": "pymc0",
        "age": 0,
        "index": 0,
        "body": "VTKGNKUHMP"
      }
      

      2. Create index ind_3 on default(name). It gets created on node 2.
      3. Failover Node 2.
      4. Create index ind_3 on default(age). It gets created on node 1.
      5. Rebalance in Node 2 with full recovery.

      Now there are 2 indexes with same name "ind_3" with different index definitions.
      when dropping ind_3, later one gets dropped. There is no way of controlling drop behaviour in such cases.

      Expectation is, indexes with duplicate index_names shouldn't be allowed to be created.

      Snapshot attached.
      Log Location:

      https://s3.amazonaws.com/bugdb/jira/duplicate_indexes/collectinfo-2016-12-19T082442-ns_1%4010.111.170.101.zip
      https://s3.amazonaws.com/bugdb/jira/duplicate_indexes/collectinfo-2016-12-19T082442-ns_1%4010.111.170.102.zip
      

      Attachments

        Issue Links

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

          Activity

            dfinlay Dave Finlay created issue -
            dfinlay Dave Finlay made changes -
            Field Original Value New Value
            Link This issue Clones MB-22002 [ MB-22002 ]
            dfinlay Dave Finlay made changes -
            Fix Version/s CheshireCat.Next [ 16908 ]
            Fix Version/s Cheshire-Cat [ 15915 ]
            dfinlay Dave Finlay made changes -
            Description We need a metadata store that is immediately consistent.

            -----

            Original Problem:
            [GSI] Indexes can be created with duplicate index_names when one of the indexer node is in failed over state

            Steps:
            1. Configure cluster. Create bucket default and load the bucket with 10k items.
            Sample document:
            {noformat}
            {
              "name": "pymc0",
              "age": 0,
              "index": 0,
              "body": "VTKGNKUHMP"
            }
            {noformat}
            2. Create index ind_3 on default(name). It gets created on node 2.
            3. Failover Node 2.
            4. Create index ind_3 on default(age). It gets created on node 1.
            5. Rebalance in Node 2 with full recovery.

            Now there are 2 indexes with same name "ind_3" with different index definitions.
            when dropping ind_3, later one gets dropped. There is no way of controlling drop behaviour in such cases.

            Expectation is, indexes with duplicate index_names shouldn't be allowed to be created.

            Snapshot attached.
            Log Location:
            {noformat}
            https://s3.amazonaws.com/bugdb/jira/duplicate_indexes/collectinfo-2016-12-19T082442-ns_1%4010.111.170.101.zip
            https://s3.amazonaws.com/bugdb/jira/duplicate_indexes/collectinfo-2016-12-19T082442-ns_1%4010.111.170.102.zip
            {noformat}
            We need a metadata store that is immediately consistent and indexing should move to use it in which to store indexing definitions.

            -----

            Original Problem:
            [GSI] Indexes can be created with duplicate index_names when one of the indexer node is in failed over state

            Steps:
            1. Configure cluster. Create bucket default and load the bucket with 10k items.
            Sample document:
            {noformat}
            {
              "name": "pymc0",
              "age": 0,
              "index": 0,
              "body": "VTKGNKUHMP"
            }
            {noformat}
            2. Create index ind_3 on default(name). It gets created on node 2.
            3. Failover Node 2.
            4. Create index ind_3 on default(age). It gets created on node 1.
            5. Rebalance in Node 2 with full recovery.

            Now there are 2 indexes with same name "ind_3" with different index definitions.
            when dropping ind_3, later one gets dropped. There is no way of controlling drop behaviour in such cases.

            Expectation is, indexes with duplicate index_names shouldn't be allowed to be created.

            Snapshot attached.
            Log Location:
            {noformat}
            https://s3.amazonaws.com/bugdb/jira/duplicate_indexes/collectinfo-2016-12-19T082442-ns_1%4010.111.170.101.zip
            https://s3.amazonaws.com/bugdb/jira/duplicate_indexes/collectinfo-2016-12-19T082442-ns_1%4010.111.170.102.zip
            {noformat}
            dfinlay Dave Finlay made changes -
            Component/s secondary-index [ 11211 ]
            amit.kulkarni Amit Kulkarni made changes -
            Assignee Hemant Rajput [ hemant.rajput ] Jeelan Poola [ jeelan.poola ]
            amit.kulkarni Amit Kulkarni made changes -
            Assignee Jeelan Poola [ jeelan.poola ] Amit Kulkarni [ amit.kulkarni ]
            meni.hillel Meni Hillel (Inactive) made changes -
            Fix Version/s Neo [ 17615 ]
            Fix Version/s CheshireCat.Next [ 16908 ]
            meni.hillel Meni Hillel (Inactive) made changes -
            Labels Cheshire-Cat-Committed functional-test functional-test
            meni.hillel Meni Hillel (Inactive) made changes -
            Labels functional-test PM-PRIORITIZED functional-test
            meni.hillel Meni Hillel (Inactive) made changes -
            Component/s ns_server [ 10019 ]
            meni.hillel Meni Hillel (Inactive) made changes -
            Labels PM-PRIORITIZED functional-test functional-test
            jeelan.poola Jeelan Poola made changes -
            Fix Version/s Morpheus [ 17651 ]
            Fix Version/s Neo [ 17615 ]
            wayne Wayne Siu made changes -
            Link This issue is duplicated by MB-51870 [ MB-51870 ]
            wayne Wayne Siu made changes -
            Link This issue duplicates MB-51870 [ MB-51870 ]
            wayne Wayne Siu made changes -
            Link This issue is duplicated by MB-51870 [ MB-51870 ]

            People

              amit.kulkarni Amit Kulkarni
              prasanna.gholap Prasanna Gholap [X] (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty