Java Client can't access the server after upgrading to beta 3
Hi,
I'm using the java client to perform "get"s and "set"s to the north-scale server. Since I upgraded to beta 3 I get the following error:
Sep 6, 2010 2:25:50 PM com.membase.store.ClientManager tryReadBase
WARNING: Could not get anything from [url]http://localhost:8080/default[/url]
Sep 6, 2010 2:25:50 PM com.membase.store.ClientManager tryReadBase
WARNING: Will try to load data from another URI.
Sep 6, 2010 2:25:50 PM com.membase.store.ClientManager getBucketMembers
SEVERE: A networking problem was encountered trying to contact the RESTful service.
java.io.IOException: No valid base URIs have been provided.
at com.membase.store.ClientManager.tryReadBase(ClientManager.java:624)
at com.membase.store.ClientManager.getBucketMembers(ClientManager.java:266)
at com.membase.store.ClientManager.getClient(ClientManager.java:458)
at membaseclient.MembaseBMClient.(MembaseBMClient.java:34)
at common.BMManager.createStorageAccordingToClientType(BMManager.java:163)
at common.BMManager.main(BMManager.java:66)
The code I use (according to the documentation) is as follows:
someURIs.add(new URI("http://localhost:8080/default"));
clientManager = new ClientManager(someURIs, "default", "default", ClientManager.ANONYMOUS_AUTH_BUCKET);
memcachedClient = clientManager.getClient();
What is wrong is there a new client version as well?
Thanks for your advice,
Orit
Thank you for the useful advice.
The thing is that I work in windows environment, and as I understand, the stand alone moxi supports only unix\unix like systems...
On the other hand if I use a plain net.spy.MemcachedClient, I can't use a specific bucket (except for the default of-course).
Is there any other way I can access the server?
Do you have an estimation on when a NorthScale ClientManager that is compatible with 1.6 will be available?
Thanks again,
Orit
The thing is that I work in windows environment, and as I understand, the stand alone moxi supports only unix\unix like systems...
On the other hand if I use a plain net.spy.MemcachedClient, I can't use a specific bucket (except for the default of-course).
This is true for standalone moxi, but it does not prevent you from using server side moxi from the Windows clients with different buckets.
To use this with server side moxi, you just need to configure the bucket to have a listener on a different port. The server side will then start a moxi listening on that port number.
The other option, when configuring multiple buckets, would be to use SASL authentication to be routed to the correct bucket. An example of using spymemcached with SASL is on the wiki:
[url]http://code.google.com/p/spymemcached/wiki/Examples[/url]
Is there any other way I can access the server?
Do you have an estimation on when a NorthScale ClientManager that is compatible with 1.6 will be available?
We actually don't plan an updated NorthScale ClientManager, but rather an updated spymemcached with the ability to natively work with membase's REST and data interfaces. NorthScale will support spymemcached to contract customers.
This should be available very soon, likely in 30-90 days.
By the way, there is nothing keeping from moxi from running on Windows and it runs as part of the integrated product, but it does lack Services integration, etc. We're working on that for a future release.
The NorthScale ClientManager, as shipped with 1.0, is not compatible with 1.6.
We are working on an updated client, but it will probably be handled differently. Where 1.0's "smart client" was a wrapper on spymemcached, we're working on adding the vbucket capabilities to spymemcached directly.
The good news though is that you can just point a plain net.spy.MemcachedClient object at the moxi port (defaults to 11211) on the 1.6 NorthScale Membase cluster. You can also use it with standalone moxi, where it'd run on the client side. See the accompanied help docs for information about this option.
Hope that helps,
- Matt