alibaba / MongoShake

MongoShake is a universal data replication platform based on MongoDB's oplog. Redundant replication and active-active replication are two most important functions. 基于mongodb oplog的集群复制工具,可以满足迁移和同步的需求,进一步实现灾备和多活功能。
GNU General Public License v3.0
1.7k stars 442 forks source link

MongoShake 启动错误 #822

Open developer-zmo opened 1 year ago

developer-zmo commented 1 year ago

启动报错: panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xa39f17]

goroutine 1 [running]: main.handleExit() /u02/shuntong.zhang/db_src/MongoShake/cmd/collector/collector.go:183 +0x8a panic(0xc966c0, 0x1373a40) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/panic.go:969 +0x1b9 github.com/alibaba/MongoShake/v2/common.GetDBVersion(0x0, 0x68, 0xd88b21, 0x12, 0x1) /u02/shuntong.zhang/db_src/MongoShake/common/db_opertion.go:51 +0x37 main.checkConnection(0x0, 0x0) /u02/shuntong.zhang/db_src/MongoShake/cmd/collector/sanitize.go:327 +0x1c9 main.SanitizeOptions(0xc000175ef8, 0xc82080) /u02/shuntong.zhang/db_src/MongoShake/cmd/collector/sanitize.go:40 +0x12e main.main() /u02/shuntong.zhang/db_src/MongoShake/cmd/collector/collector.go:59 +0x3ce

检查了配置文件的connection_url没有发现问题

developer-zmo commented 1 year ago

配置文件如下,从分片集群向单节点同步数据

master_quorum = true
sync_mode = all
mongo_urls =  
mongo_cs_url =
mongo_ssl_root_ca_file = 
mongo_s_url = mongodb://username:password@xxx:port,xxx:port,xxx:port/admin?connect=direct
tunnel = direct
tunnel.address = mongodb://username1:password1@aaa:port/admin
mongo_connect_mode = secondaryPreferred
checkpoint.storage.url = mongodb://username1:password1@aaa:port/admin 
full_sync.create_index = background
incr_sync.mongo_fetch_method = change_stream
zhao-z-y commented 2 months ago

mongo_s_url = mongodb://username:password@xxx:port,xxx:port,xxx:port/admin?connect=direct

今天也遇到了,把后面?connect=direct去了好像就可以了。