Cannot do a Get or Set to Bucket if One Node Stopped.
Hi,
I set up Couchbase 1.8 cluster on two nodes (Windows 2008 R2).
Opened up all the necessary ports on the two servers as detailed on Couchbase documentation.
I did a simple setup, initially creating Node A on a new Cluster.
Changed the IPAddress to the Static IPAddress as detailed on Couchbase documentation.
Then installed Couchbase on Node B .
Changed the IPAddress to the Static IPAddress as detailed on Couchbase documentation.
Back on Node A, I added Node B to the cluster.
Did the initial re-balance in the Couchbase web console.
In the Couchbase console, I could then see the two nodes up and running.
I created a simple app C# sample app to test as below:
In the config file pointed to Node A
In Code:
var client = new CouchbaseClient();
var setResult = client.ExecuteStore(StoreMode.Set, "someKey", "someData", new TimeSpan(7, 0, 0, 0));
var resultGet = client.ExecuteGet("someKey");
Could then do a Get and Set with no issues (as expected).
Then in my config file, changed to point to Node B.
Could then do a Get as below (as expected):
var resultGet = client.ExecuteGet("someKey");
On Node A, shut down the CouchBase service by running:
service_stop.bat
With my test app still pointing to Node B, could still get and set (as expected).
On Node A, started the Couchbase Service by running:
service_start.bat
On Node B, shut down the CouchBase service by running:
service_stop.bat
Then in my config file, changed to point to Node A.
Now when trying to do a Get and Set as below while connected to Node A:
var setResult = client.ExecuteStore(StoreMode.Set, "someKey", "someData", new TimeSpan(7, 0, 0, 0));
var resultGet = client.ExecuteGet("someKey");
Getting errors as below:
Store operation failed, see InnerResult or StatusCode for details"
Failed to Execute Operation
StatusCode : 0
Get failed. See InnerException or StatusCode for details"
StatusCode : Null
Therefore to conclude:
Can do a Get and Set with Node A and Node B are running. (with client connected to Node A or Node B)
Can do a Get and Set With Node A stopped and Node B running. (with client connected to Node B)
CANNOT do a Get and Set With Node A running and Node B stopped. (with client connected to Node A)
Any ideas?
Thanks,
Matt