Server unresponsive after reconfiguration from IP address to hostname


#1

We have a test environment that operates on top of Windows Azure infrastructure, including a Virtual Machine (Windows Server 2008 R2) operating Couchbase 2.0.1. It maintains a few memcached buckets and Couchbase disk buckets.

During initial setup it was based on the IP address allocated to the virtual machine (e.g. 10.0.0.4). Now we are trying to reconfigure the setup to be based on the computer hostname (e.g. CBL2).

After following instructions to stop/unregister the service and make manual file changes before re-registering and starting

http://docs.couchbase.com/couchbase-manual-2.0/#couchbase-getting-started-hostnames-pre2.0

The startup seemed to run fine and the http localhost:8091 page was accessible albeit showing blank configuration (lost the old cluster config). Upon trying to start a new cluster it would be stuck spinning the loading icon before giving up with “Attention - save request failed because of timeout” “Got no response from save request”

I further note that attempting to load the admin page via http CBL2:8091 would show the loading icon perpetually unlike localhost which at least showed the setup intro page.

There is no error visible from Windows event logs; where else can we draw clues what has gone wrong?


#2

Apparently, the “CBL2” is considered a short name as described in similar Stackoverflow question

http :// stackoverflow.com/questions/24127976/configure-couchbase-2-2-to-use-short-hostname
(this http link restriction rule is really unhelpful)

As such the service_register.bat script has to be adjusted to use the -sname parameter instead of -name which seems to want an FQDN I suppose.

However, trying to access the web UI via CBL2:8091 still stalls.


#3

Ok on further check from our .NET apps using the v1.3.5 Couchbase client (which was fine previously), they appear unable to write into the default (unprotected) memcache bucket for some reason.

Sigh.

There doesn’t seem to be any problems accessing http ://10.0.0.4:8091/pools though.

UPDATE

Added additional logging of the CasResult on failure from the .NET client.

It seems to report status code -1 “Unable to locate node”

So what is wrong with the current config?


#4

Looks like when a Couchbase server is re-configured to be name-based instead of IP address-based, even the client’s configuration must be adjusted to match else it would fail to connect to the node. Wow.

<couchbase>
	<defaultBucket>
		<servers bucket="default" bucketPassword="pw" xdt:Transform="Replace" xdt:Locator="Match(bucket)">
			<add uri="http://CBL2:8091/pools"/>
		</servers>
	</defaultBucket>
	<diskBucket>
		<servers bucket="Diskbucket" bucketPassword="pw" xdt:Transform="Replace" xdt:Locator="Match(bucket)">
			<add uri="http://CBL2:8091/pools"/>
		</servers>
	</diskBucket>
</couchbase>

.NET hostname matching required from config?