Author: ivol37 at gmail.com
Date: Fri Jan 14 15:39:17 2011
New Revision: 651
Log:
Modified:
sandbox/ivol/standalone-cassandra/src/org/amdatu/cassandra/Main.java
Modified: sandbox/ivol/standalone-cassandra/src/org/amdatu/cassandra/Main.java
==============================================================================
--- sandbox/ivol/standalone-cassandra/src/org/amdatu/cassandra/Main.java
(original)
+++ sandbox/ivol/standalone-cassandra/src/org/amdatu/cassandra/Main.java
Fri Jan 14 15:39:17 2011
@@ -103,13 +103,26 @@
}
}
- private Cassandra.Client getClient() throws TTransportException {
+ private void getClient() throws TTransportException {
System.out.println("Connecting Thrift to " +
DatabaseDescriptor.getRpcAddress().getHostAddress() + ":" +
DatabaseDescriptor.getRpcPort());
- TTransport tr = new
TSocket(DatabaseDescriptor.getRpcAddress().getHostAddress(),
DatabaseDescriptor.getRpcPort());
- TProtocol proto = new TBinaryProtocol(tr);
- Cassandra.Client client = new Cassandra.Client(proto);
- tr.open();
- return client;
+ int retry = 0;
+ try {
+ TTransport tr = new
TSocket(DatabaseDescriptor.getRpcAddress().getHostAddress(),
DatabaseDescriptor.getRpcPort(), 3000);
+ TProtocol proto = new TBinaryProtocol(tr);
+ new Cassandra.Client(proto);
+ tr.open();
+ } catch (TTransportException e) {
+ retry++;
+ if (retry >= 3) {
+ throw e;
+ }
+ try {
+ Thread.sleep(3000);
+ }
+ catch (InterruptedException e1) {
+ }
+ System.out.println("Thrift connection cannot yet be established,
retrying... (" + retry + ")");
+ }
}