go-mysql-org / go-mysql-elasticsearch

Sync MySQL data into elasticsearch
MIT License
4.11k stars 799 forks source link

go执行同步过程中报错 #241

Open qieangel2013 opened 6 years ago

qieangel2013 commented 6 years ago

time="2018-04-10T08:35:41+08:00" level=error msg="err connection was bad " panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x487401]

goroutine 12 [running]: panic(0x7b71a0, 0xc4200100d0) /usr/lib/golang/src/runtime/panic.go:500 +0x1a1 github.com/siddontang/go-mysql-elasticsearch/river.(River).makeInsertReqData(0xc4200e4d90, 0xc4200576e0, 0xc42007a2d0, 0xc4200e6f00, 0x4b, 0x4b) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/river/sync.go:457 +0x2c91 github.com/siddontang/go-mysql-elasticsearch/river.(River).makeRequest(0xc4200e4d90, 0xc42007a2d0, 0x8201fb, 0x6, 0xc420226360, 0x1, 0x1, 0x6, 0x1, 0xc420193170, ...) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/river/sync.go:189 +0x26b github.com/siddontang/go-mysql-elasticsearch/river.(River).makeInsertRequest(0xc4200e4d90, 0xc42007a2d0, 0xc420226360, 0x1, 0x1, 0x1, 0xc4202263e0, 0xc4202263e0, 0x20, 0x30) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/river/sync.go:200 +0x75 github.com/siddontang/go-mysql-elasticsearch/river.(eventHandler).OnRow(0xc4200260d8, 0xc420145200, 0x6, 0xc4202263e0) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/river/sync.go:71 +0x4a5 github.com/siddontang/go-mysql-elasticsearch/vendor/github.com/siddontang/go-mysql/canal.(Canal).handleRowsEvent(0xc420132680, 0xc4201450e0, 0x10, 0xc400001338) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/vendor/github.com/siddontang/go-mysql/canal/sync.go:167 +0x21e github.com/siddontang/go-mysql-elasticsearch/vendor/github.com/siddontang/go-mysql/canal.(Canal).runSyncBinlog(0xc420132680, 0x0, 0x0) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/vendor/github.com/siddontang/go-mysql/canal/sync.go:79 +0x822 github.com/siddontang/go-mysql-elasticsearch/vendor/github.com/siddontang/go-mysql/canal.(Canal).run(0xc420132680, 0x0, 0x0) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/vendor/github.com/siddontang/go-mysql/canal/canal.go:201 +0x157 github.com/siddontang/go-mysql-elasticsearch/vendor/github.com/siddontang/go-mysql/canal.(Canal).Run(0xc420132680, 0xc4201480e0, 0x10) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/vendor/github.com/siddontang/go-mysql/canal/canal.go:170 +0x2b github.com/siddontang/go-mysql-elasticsearch/vendor/github.com/siddontang/go-mysql/canal.(Canal).RunFrom(0xc420132680, 0xc4201480e0, 0x10, 0x1338, 0x0, 0x0) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/vendor/github.com/siddontang/go-mysql/canal/canal.go:178 +0x5d github.com/siddontang/go-mysql-elasticsearch/river.(River).Run(0xc4200e4d90, 0xc420056420, 0x433dd8) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/river/river.go:276 +0xa0 main.main.func1(0xc4200e4d90, 0xc4200570e0) /root/go/src/github.com/siddontang/go-mysql-elasticsearch/cmd/go-mysql-elasticsearch/main.go:88 +0x2b created by main.main /root/go/src/github.com/siddontang/go-mysql-elasticsearch/cmd/go-mysql-elasticsearch/main.go:90 +0x4e0

siddontang commented 6 years ago

can you reproduce every time? Can you update and use the newest version?

qieangel2013 commented 6 years ago

能,主要是长时间mysql没有写入后,同步一直处于等待,过段时间突然mysql有写入,就会报这个错!

siddontang commented 6 years ago

I have no time this week to figure out this problem, maybe next week, can you upgrade to the newest version and try?