aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-01-17 23:38:13 -0800
committerchrislu <chris.lu@gmail.com>2022-01-17 23:38:13 -0800
commit05c3c3f56bd6810233e4344b106c4ff3fba466ad (patch)
treeb95dbc1b070ce9ba1f0c842bfb84102554d50473
parent9b77f0054e32df58b254bfcba7d37fd857589d8e (diff)
parentec254d8a891386a1d16adc9e0b1e69fd5c307f7c (diff)
downloadseaweedfs-05c3c3f56bd6810233e4344b106c4ff3fba466ad.tar.xz
seaweedfs-05c3c3f56bd6810233e4344b106c4ff3fba466ad.zip
Merge branch 'master' of https://github.com/chrislusf/seaweedfs2.86
-rw-r--r--weed/command/scaffold/filer.toml2
-rw-r--r--weed/filer/cassandra/cassandra_store.go6
2 files changed, 7 insertions, 1 deletions
diff --git a/weed/command/scaffold/filer.toml b/weed/command/scaffold/filer.toml
index a6a45923e..77c6cd58b 100644
--- a/weed/command/scaffold/filer.toml
+++ b/weed/command/scaffold/filer.toml
@@ -153,6 +153,8 @@ password = ""
superLargeDirectories = []
# Name of the datacenter local to this filer, used as host selection fallback.
localDC = ""
+# Gocql connection timeout, default: 600ms
+connection_timeout_millisecond = 600
[hbase]
enabled = false
diff --git a/weed/filer/cassandra/cassandra_store.go b/weed/filer/cassandra/cassandra_store.go
index fc0b52ac7..fb61b0771 100644
--- a/weed/filer/cassandra/cassandra_store.go
+++ b/weed/filer/cassandra/cassandra_store.go
@@ -4,6 +4,7 @@ import (
"context"
"fmt"
"github.com/gocql/gocql"
+ "time"
"github.com/chrislusf/seaweedfs/weed/filer"
"github.com/chrislusf/seaweedfs/weed/glog"
@@ -33,6 +34,7 @@ func (store *CassandraStore) Initialize(configuration util.Configuration, prefix
configuration.GetString(prefix+"password"),
configuration.GetStringSlice(prefix+"superLargeDirectories"),
configuration.GetString(prefix+"localDC"),
+ configuration.GetInt(prefix+"connection_timeout_millisecond"),
)
}
@@ -41,12 +43,14 @@ func (store *CassandraStore) isSuperLargeDirectory(dir string) (dirHash string,
return
}
-func (store *CassandraStore) initialize(keyspace string, hosts []string, username string, password string, superLargeDirectories []string, localDC string) (err error) {
+func (store *CassandraStore) initialize(keyspace string, hosts []string, username string, password string, superLargeDirectories []string, localDC string, timeout int) (err error) {
store.cluster = gocql.NewCluster(hosts...)
if username != "" && password != "" {
store.cluster.Authenticator = gocql.PasswordAuthenticator{Username: username, Password: password}
}
store.cluster.Keyspace = keyspace
+ store.cluster.Timeout = time.Duration(timeout) * time.Millisecond
+ glog.V(0).Infof("timeout = %d", timeout)
fallback := gocql.RoundRobinHostPolicy()
if localDC != "" {
fallback = gocql.DCAwareRoundRobinPolicy(localDC)