Details
-
Improvement
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
5.0.0
-
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.
The metadata store should begin with nodes, buckets and collections and should eventually include things such as GSI indexes. An example use case for indexing that fails today that this would fix would be as follows:
[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
- blocks
-
MB-24011 Duplicate Indexes with the same name in a cluster
-
- Closed
-
-
MB-27384 Rebalance request may ignore recovery nodes if config has not synchronized
-
- Open
-
- is cloned by
-
MB-46007 Metadata store that is immediately consistent in which to store Index Definitions
-
- Open
-
- relates to
-
MB-31074 After cluster upgrade, clusterCompatibility still at old value
-
- Closed
-
- mentioned in
-
Page Loading...
Activity
Field | Original Value | New Value |
---|---|---|
Fix Version/s | Spock [ 12927 ] |
Priority | Major [ 3 ] | Critical [ 2 ] |
Assignee | Sriram Melkote [ siri ] | Dave Finlay [ dfinlay ] |
Description |
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 has better ACID properties.
----- 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} |
Summary | [GSI] Indexes can be created with duplicate index_names when one of the indexer node is in failed over state | Metadata store that has better ACID properties. |
Component/s | secondary-index [ 11211 ] | |
Component/s | ns_server [ 10019 ] |
Fix Version/s | Spock [ 12927 ] |
Fix Version/s | Spock.Next [ 13624 ] |
Security | Private [ 10010 ] |
Summary | Metadata store that has better ACID properties. | Metadata store that is immediately consistent |
Description |
We need a metadata store that has better ACID properties.
----- 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.
----- 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} |
Fix Version/s | vulcan [ 14610 ] |
Issue Type | Bug [ 1 ] | Improvement [ 4 ] |
Fix Version/s | Mad-Hatter [ 15037 ] | |
Fix Version/s | Spock.Next [ 13624 ] | |
Fix Version/s | vulcan [ 14610 ] |
Link | This issue blocks CBSE-5852 [ CBSE-5852 ] |
Fix Version/s | Cheshire-Cat [ 15915 ] | |
Fix Version/s | Mad-Hatter [ 15037 ] |
Security | Private [ 10010 ] | Public [ 10011 ] |
Link | This issue relates to CBSE-6979 [ CBSE-6979 ] |
Link | This issue blocks CBSE-8567 [ CBSE-8567 ] |
Labels | functional-test | Cheshire-Cat-Committed functional-test |
Link | This issue relates to CBSE-8879 [ CBSE-8879 ] |
Assignee | Dave Finlay [ dfinlay ] | Aliaksey Artamonau [ aliaksey artamonau ] |
Remote Link | This issue links to "Page (Couchbase, Inc. Wiki)" [ 20706 ] |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Resolved [ 5 ] |
Assignee | Aliaksey Artamonau [ aliaksey artamonau ] | Mihir Kamdar [ mihir.kamdar ] |
Assignee | Mihir Kamdar [ mihir.kamdar ] | Balakumaran Gopal [ balakumaran.gopal ] |
Assignee | Balakumaran Gopal [ balakumaran.gopal ] | Mihir Kamdar [ mihir.kamdar ] |
Assignee | Mihir Kamdar [ mihir.kamdar ] | Hemant Rajput [ hemant.rajput ] |
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Attachment | node2-cb600-centos7.vagrants.zip [ 137965 ] | |
Attachment | node3-cb600-centos7.vagrants.zip [ 137966 ] |
Attachment | node1-cb600-centos7.vagrants.zip [ 137967 ] |
Attachment | Screenshot 2021-04-29 at 11.45.05 AM.png [ 137968 ] |
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.
The metadata store should begin with nodes, buckets and collections and should eventually include things such as GSI indexes. An example use case for indexing that fails today that this would fix would be as follows: ----- [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} |
Resolution | Fixed [ 1 ] | |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Assignee | Hemant Rajput [ hemant.rajput ] | Balakumaran Gopal [ balakumaran.gopal ] |
Status | Resolved [ 5 ] | Closed [ 6 ] |
Fix Version/s | 7.0.0 [ 17233 ] |
Fix Version/s | Cheshire-Cat [ 15915 ] |
This is a known limitation as we do not have a globally consistent metadata store, please see
DOC-664.There is a plan for ns_server team to provide a consistent metadata store. I'm not sure when it will happen.