Open cskiraly opened 2 months ago
was identified by @ufarooqstatus as potentially caused by https://github.com/vacp2p/nim-libp2p/blob/unstable/libp2p/protocols/pubsub/gossipsub.nim#L327
Could you please point out what part of the spec does it violate?
Ok, so the correct permanent link to the offending line is https://github.com/vacp2p/nim-libp2p/blob/467b5b4f0cbfca31ececce9dfd1e649df87067e8/libp2p/protocols/pubsub/gossipsub.nim#L327
Regarding what it violates:
In all pubsub implementations, we can first check the seen cache before forwarding messages to avoid wastefully republishing the same message multiple times.
I would qualify this as wasteful republishing.
Thank you for the clarification. I believe the seen cache is checked here https://github.com/vacp2p/nim-libp2p/blob/unstable/libp2p/protocols/pubsub/gossipsub.nim#L517.
It'd be great if you could reproduce it with a failing test similar to the ones in tests/pubsub
folder.
Setting up a 3 node network (nodes A,B,C) and a single GS topic. When A is sending a message to B and C, these are then relayed between them, finally sent back to A. That last step is not supposed to happen, since on that link the same message already travelled and was received.
Message sequence A->B , A->C B->C, C->B C->A, B->A