From aaa2b8f734e8a2f8cc4d57a8e8adfc2fe5da77d9 Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期三, 13 五月 2020 11:50:34 +0800 Subject: [PATCH] rm ExecuteSql when recv UserEvent --- config.go | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 46 insertions(+), 3 deletions(-) diff --git a/config.go b/config.go index 722fc62..6377f15 100644 --- a/config.go +++ b/config.go @@ -14,12 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package main +package syncdb import ( "fmt" "net" + "os" "strconv" + "strings" //"github.com/apache/servicecomb-service-center/syncer/pkg/utils" "github.com/hashicorp/memberlist" @@ -44,7 +46,12 @@ BroadcastInterval = 5 MaxQueryRespSize = 50 * 1024 * 1024 MaxQuerySize = 50 * 1024 * 1024 - MaxUserEventSize = 5 * 1024 + MaxUserEventSize = 9 * 1024 + ReplayOnJoinDefault = false + SnapshotPathDefault = "/sdcard/serfSnapShot" + MaxEventBufferCount = 2048 + + TcpTransportPort = 30194 //tcp浼犺緭澶ф暟鎹噺鎺ュ彛 ) // DefaultConfig default config @@ -84,8 +91,30 @@ return nil } +func isFileRightful(filePath string) bool { + if filePath != "" { + _, err := os.Stat(filePath) + if err != nil && os.IsNotExist(err) { + pos := strings.LastIndex(filePath, "/") + if pos != -1 { + filePath = filePath[0:pos] + } + + _, err = os.Stat(filePath) + if err == nil || !os.IsNotExist(err) { + return true + } else { + return false + } + } else { + return false + } + } + return false +} + // convertToSerf convert Config to serf.Config -func (c *Config) convertToSerf() (*serf.Config, error) { +func (c *Config) convertToSerf(snapshotPath string) (*serf.Config, error) { serfConf := serf.DefaultConfig() bindIP, bindPort, err := SplitHostPort(c.BindAddr, DefaultBindPort) @@ -118,6 +147,20 @@ if c.Mode == ModeCluster && c.RetryMaxAttempts <= 0 { c.RetryMaxAttempts = retryMaxAttempts } + + c.SnapshotPath = SnapshotPathDefault + if isFileRightful(snapshotPath) { + c.SnapshotPath = snapshotPath + } + + c.ReplayOnJoin = ReplayOnJoinDefault + + serfConf.QueryResponseSizeLimit = c.QueryResponseSizeLimit + serfConf.QuerySizeLimit = c.QuerySizeLimit + serfConf.UserEventSizeLimit = c.UserEventSizeLimit + serfConf.SnapshotPath = c.SnapshotPath + serfConf.EventBuffer = MaxEventBufferCount + return serfConf, nil } -- Gitblit v1.8.0