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.72k stars 443 forks source link

在windows下同步报错 runtime: VirtualAlloc of 16785408 bytes failed with errno=1455 fatal error: out of memory #886

Open sunqintao opened 1 month ago

sunqintao commented 1 month ago

`mongo rs 集群 运行了好几年,最近数据量大了之后就报这个错误

Microsoft Windows [版本 10.0.17763.1518] (c) 2018 Microsoft Corporation。保留所有权利。

E:\mongo-shake-v2.8.4>collector.windows -verbose 0 -conf=E:\mongo-shake-v2.8.4\collector16-170.conf runtime: VirtualAlloc of 16785408 bytes failed with errno=1455 fatal error: out of memory

runtime stack: runtime.throw(0x16f3e88, 0xd) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/panic.go:1116 +0x79 runtime.sysUsed(0xc00c300000, 0x1002000) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/mem_windows.go:83 +0x22e runtime.(mheap).allocSpan(0x1d0f840, 0x801, 0x800000100, 0x1d2b9a8, 0xc000031800) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/mheap.go:1276 +0x3c7 runtime.(mheap).alloc.func1() /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/mheap.go:907 +0x6b runtime.(*mheap).alloc(0x1d0f840, 0x801, 0x101, 0x0) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/mheap.go:901 +0x88 runtime.largeAlloc(0x100007c, 0x101, 0x0) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/malloc.go:1177 +0x99 runtime.mallocgc.func1() /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/malloc.go:1071 +0x4d runtime.systemstack(0x0) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/asm_amd64.s:370 +0x6b runtime.mstart() /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/proc.go:1116

goroutine 456 [running]: runtime.systemstack_switch() /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/asm_amd64.s:330 fp=0xc0099bdbd0 sp=0xc0099bdbc8 pc=0xddfe80 runtime.mallocgc(0x100007c, 0x15c3e80, 0x1, 0x1883f80) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/malloc.go:1070 +0x998 fp=0xc0099bdc70 sp=0xc0099bdbd0 pc=0xd7ebb8 runtime.makeslice(0x15c3e80, 0x0, 0x100007c, 0x4) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/slice.go:98 +0x78 fp=0xc0099bdca0 sp=0xc0099bdc70 pc=0xdc0558 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(connection).read(0xc000595400, 0x1893be0, 0xc0000a2258, 0xc004aa2000, 0x0, 0x120, 0x0, 0x0, 0x0, 0x0, ...) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/connection.go:472 +0x434 fp=0xc0099bdd30 sp=0xc0099bdca0 pc=0x1299db4 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(connection).readWireMessage(0xc000595400, 0x1893be0, 0xc0000a2258, 0xc004aa2000, 0x0, 0x120, 0xc0099bded0, 0x1299195, 0xc000595400, 0xc0099bdf10, ...) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/connection.go:414 +0x1d0 fp=0xc0099bde38 sp=0xc0099bdd30 pc=0x12993b0 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(Connection).ReadWireMessage(0xc0069ee040, 0x1893be0, 0xc0000a2258, 0xc004aa2000, 0x0, 0x120, 0x0, 0x0, 0x0, 0x0, ...) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/connection.go:628 +0xe5 fp=0xc0099bdeb8 sp=0xc0099bde38 pc=0x129a845 go.mongodb.org/mongo-driver/x/mongo/driver.Operation.readWireMessage(0xc00684c700, 0xc00050d960, 0x5, 0x188b3a0, 0xc006856000, 0xc006856010, 0x0, 0x0, 0x0, 0x0, ...) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/operation.go:746 +0x98 fp=0xc0099be018 sp=0xc0099bdeb8 pc=0x11220b8 go.mongodb.org/mongo-driver/x/mongo/driver.Operation.roundTrip(0xc00684c700, 0xc00050d960, 0x5, 0x188b3a0, 0xc006856000, 0xc006856010, 0x0, 0x0, 0x0, 0x0, ...) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/operation.go:740 +0x1c8 fp=0xc0099be158 sp=0xc0099be018 pc=0x1121fa8 go.mongodb.org/mongo-driver/x/mongo/driver.Operation.roundTrip-fm(0x1893be0, 0xc0000a2258, 0x189d920, 0xc0069ee040, 0xc004aa2000, 0x10e, 0x120, 0xc004aa2000, 0x10e, 0x120, ...) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/operation.go:734 +0x108 fp=0xc0099be368 sp=0xc0099be158 pc=0x11381e8 go.mongodb.org/mongo-driver/x/mongo/driver.Operation.Execute(0xc00684c700, 0xc00050d960, 0x5, 0x188b3a0, 0xc006856000, 0xc006856010, 0x0, 0x0, 0x0, 0x0, ...) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/operation.go:505 +0xd39 fp=0xc0099bfb70 sp=0xc0099be368 pc=0x111f439 go.mongodb.org/mongo-driver/x/mongo/driver.(BatchCursor).getMore(0xc0001c67e0, 0x1893be0, 0xc0000a2258) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/batch_cursor.go:374 +0x2af fp=0xc0099bfe68 sp=0xc0099bfb70 pc=0x111824f go.mongodb.org/mongo-driver/x/mongo/driver.(BatchCursor).Next(0xc0001c67e0, 0x1893be0, 0xc0000a2258, 0x1) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/batch_cursor.go:226 +0xcd fp=0xc0099bfe90 sp=0xc0099bfe68 pc=0x11179ad go.mongodb.org/mongo-driver/mongo.(Cursor).next(0xc00047fda0, 0x1893be0, 0xc0000a2258, 0x0, 0x1) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/mongo/cursor.go:168 +0x10d fp=0xc0099bfee8 sp=0xc0099bfe90 pc=0x13046cd go.mongodb.org/mongo-driver/mongo.(Cursor).Next(...) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/mongo/cursor.go:123 github.com/alibaba/MongoShake/v2/collector/reader.(OplogReader).fetcher(0xc0003980a0) /u02/shuntong.zhang/db_src/MongoShake/collector/reader/oplog_reader.go:152 +0x35f fp=0xc0099bffd8 sp=0xc0099bfee8 pc=0x1409c3f runtime.goexit() /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc0099bffe0 sp=0xc0099bffd8 pc=0xde1c41 created by github.com/alibaba/MongoShake/v2/collector/reader.(*OplogReader).StartFetcher /u02/shuntong.zhang/db_src/MongoShake/collector/reader/oplog_reader.go:136 +0xa8

goroutine 1 [select (no cases)]: main.startup() /u02/shuntong.zhang/db_src/MongoShake/cmd/collector/collector.go:155 +0xdca main.main() /u02/shuntong.zhang/db_src/MongoShake/cmd/collector/collector.go:90 +0x7b1

goroutine 19 [chan receive]: github.com/vinllen/log4go.(*ConsoleLogWriter).run(0xc0000985e0, 0x1884340, 0xc0000cc008) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/github.com/vinllen/log4go@v0.0.0-20180514124125-3848a366df9d/termlog.go:33 +0xf7 created by github.com/vinllen/log4go.NewConsoleLogWriter /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/github.com/vinllen/log4go@v0.0.0-20180514124125-3848a366df9d/termlog.go:26 +0xc5

goroutine 402 [select]: go.mongodb.org/mongo-driver/x/mongo/driver/topology.(rttMonitor).start(0xc000326000) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/rtt_monitor.go:96 +0x19d created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.(rttMonitor).connect /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/rtt_monitor.go:66 +0x67

goroutine 469 [chan receive]: github.com/alibaba/MongoShake/v2/collector.(OplogSyncer).deserializer(0xc0000fe120, 0x0) /u02/shuntong.zhang/db_src/MongoShake/collector/syncer.go:484 +0x3a5 created by github.com/alibaba/MongoShake/v2/collector.(OplogSyncer).startDeserializer /u02/shuntong.zhang/db_src/MongoShake/collector/syncer.go:437 +0x11b

goroutine 473 [chan receive]: github.com/alibaba/MongoShake/v2/collector.(OplogSyncer).deserializer(0xc0000fe120, 0x4) /u02/shuntong.zhang/db_src/MongoShake/collector/syncer.go:484 +0x3a5 created by github.com/alibaba/MongoShake/v2/collector.(OplogSyncer).startDeserializer /u02/shuntong.zhang/db_src/MongoShake/collector/syncer.go:437 +0x11b

goroutine 471 [chan receive]: github.com/alibaba/MongoShake/v2/collector.(OplogSyncer).deserializer(0xc0000fe120, 0x2) /u02/shuntong.zhang/db_src/MongoShake/collector/syncer.go:484 +0x3a5 created by github.com/alibaba/MongoShake/v2/collector.(OplogSyncer).startDeserializer /u02/shuntong.zhang/db_src/MongoShake/collector/syncer.go:437 +0x11b

goroutine 289 [select]: go.mongodb.org/mongo-driver/x/mongo/driver/topology.(rttMonitor).start(0xc000104500) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/rtt_monitor.go:96 +0x19d created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.(rttMonitor).connect /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/rtt_monitor.go:66 +0x67

goroutine 38 [sync.Cond.Wait]: runtime.goparkunlock(...) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/proc.go:312 sync.runtime_notifyListWait(0xc000310190, 0x2) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/sema.go:513 +0x117 sync.(Cond).Wait(0xc000310180) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/sync/cond.go:56 +0xa5 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(pool).createConnections.func2(0x0, 0x0, 0x0) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:799 +0xd0 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*pool).createConnections(0xc000350000, 0x1893ba0, 0xc0003101c0, 0xc0003242d0) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:821 +0x138 created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.newPool /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:191 +0x557

goroutine 39 [sync.Cond.Wait]: runtime.goparkunlock(...) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/proc.go:312 sync.runtime_notifyListWait(0xc000310190, 0x1) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/sema.go:513 +0x117 sync.(Cond).Wait(0xc000310180) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/sync/cond.go:56 +0xa5 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(pool).createConnections.func2(0x0, 0x0, 0x0) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:799 +0xd0 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*pool).createConnections(0xc000350000, 0x1893ba0, 0xc0003101c0, 0xc0003242d0) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:821 +0x138 created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.newPool /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:191 +0x557

goroutine 40 [select]: go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*pool).maintain(0xc000350000, 0x1893ba0, 0xc0003101c0, 0xc0003242d0) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:908 +0x24f created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.newPool /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:198 +0x71b

goroutine 41 [select]: go.mongodb.org/mongo-driver/x/mongo/driver/topology.(rttMonitor).start(0xc000326080) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/rtt_monitor.go:96 +0x19d created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.(rttMonitor).connect /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/rtt_monitor.go:66 +0x67

goroutine 42 [select]: go.mongodb.org/mongo-driver/x/mongo/driver/topology.(Server).update.func3() /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/server.go:507 +0xff go.mongodb.org/mongo-driver/x/mongo/driver/topology.(Server).update(0xc00034a000) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/server.go:575 +0x4ea created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*Server).Connect /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/server.go:207 +0x22a

goroutine 516 [select]: go.mongodb.org/mongo-driver/x/mongo/driver/topology.(rttMonitor).start(0xc000556280) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/rtt_monitor.go:96 +0x19d created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.(rttMonitor).connect /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/rtt_monitor.go:66 +0x67

goroutine 31 [select]: go.mongodb.org/mongo-driver/internal.(CancellationListener).Listen(0xc00004b8c0, 0x1893ba0, 0xc0000287c0, 0xc0001c32b0) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/internal/cancellation_listener.go:30 +0xd5 created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.(connection).read /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/connection.go:433 +0xf0

goroutine 470 [chan receive]: github.com/alibaba/MongoShake/v2/collector.(OplogSyncer).deserializer(0xc0000fe120, 0x1) /u02/shuntong.zhang/db_src/MongoShake/collector/syncer.go:484 +0x3a5 created by github.com/alibaba/MongoShake/v2/collector.(OplogSyncer).startDeserializer /u02/shuntong.zhang/db_src/MongoShake/collector/syncer.go:437 +0x11b

goroutine 472 [chan receive]: github.com/alibaba/MongoShake/v2/collector.(OplogSyncer).deserializer(0xc0000fe120, 0x3) /u02/shuntong.zhang/db_src/MongoShake/collector/syncer.go:484 +0x3a5 created by github.com/alibaba/MongoShake/v2/collector.(OplogSyncer).startDeserializer /u02/shuntong.zhang/db_src/MongoShake/collector/syncer.go:437 +0x11b

goroutine 49 [sync.Cond.Wait]: runtime.goparkunlock(...) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/proc.go:312 sync.runtime_notifyListWait(0xc000310510, 0x2) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/runtime/sema.go:513 +0x117 sync.(Cond).Wait(0xc000310500) /u02/shuntong.zhang/local_bin/go1_15_10/go/src/sync/cond.go:56 +0xa5 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(pool).createConnections.func2(0x0, 0x0, 0x0) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:799 +0xd0 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*pool).createConnections(0xc000350160, 0x1893ba0, 0xc000310540, 0xc000324800) /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:821 +0x138 created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.newPool /u02/shuntong.zhang/local_bin/go1_15_10/go_modcache/go.mongodb.org/mongo-driver@v1.9.0/x/mongo/driver/topology/pool.go:191 +0x557

。。。。

sunqintao commented 1 month ago

版本为2.8.4