Hi, I am interested in working on this issue ( https://issues.apache.org/jira/browse/ROCKETMQ-124) as part of GSOC-18. I have a few questions for the same. I am not sure if this discussion needs to be on the JIRA issue or here. Feel free to correct me if this is the wrong platform. Also while I have worked with distributed pub-sub systems I am still fairly new to Rocket-MQ so maybe my understanding of it is incorrect. I apologise if that is the case and would be happy to stand corrected.
Following are my questions: 1. What defines a redundant message? The constructor that I see for a message is as follows: Message(String topic, String tags, String keys, int flag, byte[] body, boolean waitStoreMsgOK) Possible candidates to me are topic, tags (can there be multiple tags? I could not find an example for this. If yes how are they separated?), keys (Similar question to above.) and of course the body. Is there something that I have missed in this? Is there something that we do not need to consider? 2. Is their a timeline on the redundant messages? What I mean by this is that is there a time limit after which a message with similar content is allowed. From what I gather there was no such thing mentioned. This would mean storing all the messages. Depending on the requirements this may or may not be the best solution. It might be desirable that no duplicates are needed within a certain time window (sliding). This allows ignoring of duplicate messages that were generated very close to each other (or in the window indicated). Depending on this requirement implementation may become a little bit more involved. For now, these are the only questions. I have ideas that need review about possible implementations but I will mention them once the specifications are clear to me. As an end question, I would at some point like to post design ideas to this problem privately to get it reviewed by the development community but not make it publicly available so that it cannot be plagiarised. What platform/method can I use to do that? Or is submitting a draft to the Google platform the only possible way to accomplish this? Thanks a lot for reading this through and looking forward to your inputs. Regards, Sohaib Iftikhar