Author: ivol37 at gmail.com
Date: Fri Jan 14 14:02:06 2011
New Revision: 632
Log:
[AMDATU-266] Added retries for Thrift connection
Modified:
trunk/amdatu-cassandra/cassandra-application/src/main/java/org/amdatu/cassandra/application/service/CassandraDaemonServiceImpl.java
Modified:
trunk/amdatu-cassandra/cassandra-application/src/main/java/org/amdatu/cassandra/application/service/CassandraDaemonServiceImpl.java
==============================================================================
---
trunk/amdatu-cassandra/cassandra-application/src/main/java/org/amdatu/cassandra/application/service/CassandraDaemonServiceImpl.java
(original)
+++
trunk/amdatu-cassandra/cassandra-application/src/main/java/org/amdatu/cassandra/application/service/CassandraDaemonServiceImpl.java
Fri Jan 14 14:02:06 2011
@@ -294,12 +294,25 @@
* @throws TTransportException
*/
private void testThriftConnection() throws TTransportException {
- String thrift = m_configuration.getRPCAddress() + ":" +
m_configuration.getRPCPort();
- m_logService.log(LogService.LOG_INFO, "Establishing Thrift connection
to the Cassandra Daemon on " + thrift);
- TTransport tr = new TSocket(m_configuration.getRPCAddress(),
m_configuration.getRPCPort(), THRIFT_TIMEOUT);
- TProtocol proto = new TBinaryProtocol(tr);
- new Cassandra.Client(proto);
- tr.open();
+ int retry = 0;
+ try {
+ String thrift = m_configuration.getRPCAddress() + ":" +
m_configuration.getRPCPort();
+ m_logService.log(LogService.LOG_INFO, "Establishing Thrift
connection to the Cassandra Daemon on " + thrift);
+ TTransport tr = new TSocket(m_configuration.getRPCAddress(),
m_configuration.getRPCPort(), THRIFT_TIMEOUT);
+ 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) {
+ }
+ }
m_logService.log(LogService.LOG_INFO, "Thrift connection established
successfully");
}