emitter
emitter copied to clipboard
occasionally panic
panic: interface conversion: crdt.Map is *crdt.Durable, not *crdt.Volatile
goroutine 70 [running]:
github.com/emitter-io/emitter/internal/event/crdt.(*Durable).Merge(0xc000094b20, 0x4f4a180, 0xc000094b20)
/Users/shushenghong/Documents/workspace/demo/emitter/internal/event/crdt/durable.go:145 +0x185
github.com/emitter-io/emitter/internal/event.(*State).Merge(0xc000094150, 0x4f35ee0, 0xc000094150, 0x0, 0x0)
/Users/shushenghong/Documents/workspace/demo/emitter/internal/event/state.go:105 +0x196
github.com/weaveworks/mesh.(*gossipSender).Send(0xc0001b4550, 0x4f35ee0, 0xc000094150)
/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/gossip.go:186 +0x15d
github.com/weaveworks/mesh.(*gossipChannel).relay(0xc0003a2300, 0x1, 0x4f35ee0, 0xc000094150)
/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/gossip_channel.go:123 +0x1c5
github.com/weaveworks/mesh.(*gossipChannel).Send(0xc0003a2300, 0x4f35ee0, 0xc000094150)
/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/gossip_channel.go:94 +0x5f
github.com/weaveworks/mesh.(*Router).sendAllGossip(0xc0003f82a0)
/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/router.go:209 +0xff
github.com/weaveworks/mesh.(*localPeer).actorLoop(0xc0001b4140, 0xc00008e240)
/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/local_peer.go:160 +0x205
created by github.com/weaveworks/mesh.newLocalPeer
/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/local_peer.go:42 +0x245
often happen when the seed cluster server startup later than the slave server
Can you share more info on how to reproduce this?
on my local dev machine, build emitter then startup slave broker 1, do something like connect / sub / pub to broker1, then start and debug the seed broker 2 on vscode, broker2 occasionally panic.