Skip to content

Commit 5ce976e

Browse files
committed
Update Cassandra reconnect policy and default delay value
1 parent daa95d5 commit 5ce976e

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

pathdb/datastax/src/main/java/org/commonjava/storage/pathmapped/pathdb/datastax/CassandraPathDB.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.datastax.driver.core.ResultSet;
2222
import com.datastax.driver.core.Row;
2323
import com.datastax.driver.core.Session;
24+
import com.datastax.driver.core.policies.ConstantReconnectionPolicy;
2425
import com.datastax.driver.mapping.Mapper;
2526
import com.datastax.driver.mapping.MappingManager;
2627
import com.datastax.driver.mapping.Result;
@@ -87,6 +88,8 @@ public class CassandraPathDB
8788

8889
private int replicationFactor = 1; // keyspace replica, default 1
8990

91+
private long reconnectDelay = 60000;
92+
9093
private PreparedStatement preparedExistQuery, preparedListQuery, preparedListCheckEmpty, preparedContainingQuery, preparedExistFileQuery,
9194
preparedUpdateExpiration, preparedReverseMapIncrement, preparedReverseMapReduction,
9295
preparedFilesystemIncrement, preparedFilesystemReduction, preparedFilesystemList;
@@ -114,8 +117,15 @@ public CassandraPathDB( PathMappedStorageConfig config )
114117
int port = (Integer) config.getProperty( CassandraPathDBUtils.PROP_CASSANDRA_PORT );
115118
String username = (String) config.getProperty( CassandraPathDBUtils.PROP_CASSANDRA_USER );
116119
String password = (String) config.getProperty( CassandraPathDBUtils.PROP_CASSANDRA_PASS );
120+
Long delay = (Long) config.getProperty( CassandraPathDBUtils.PROP_CASSANDRA_RECONNECT_DELAY );
117121

118122
Cluster.Builder builder = Cluster.builder().withoutJMXReporting().addContactPoint( host ).withPort( port );
123+
if ( delay != null )
124+
{
125+
reconnectDelay = delay;
126+
}
127+
builder.withReconnectionPolicy( new ConstantReconnectionPolicy( reconnectDelay ) );
128+
119129
if ( isNotBlank( username ) && isNotBlank( password ) )
120130
{
121131
logger.debug( "Build with credentials, user: {}, pass: ****", username );

pathdb/datastax/src/main/java/org/commonjava/storage/pathmapped/pathdb/datastax/util/CassandraPathDBUtils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ public class CassandraPathDBUtils
2828

2929
public static final String PROP_CASSANDRA_PASS = "cassandra_pass";
3030

31+
public static final String PROP_CASSANDRA_RECONNECT_DELAY = "cassandra_reconnect_delay";
32+
3133
public static final String PROP_CASSANDRA_KEYSPACE = "cassandra_keyspace";
3234

3335
public static final String PROP_CASSANDRA_REPLICATION_FACTOR = "cassandra_replication_factor";

0 commit comments

Comments
 (0)