Sergio Bossa created CASSANDRA-15665:
----------------------------------------

             Summary: StreamManager should clearly differentiate between 
"initiator" and "receiver" sessions
                 Key: CASSANDRA-15665
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15665
             Project: Cassandra
          Issue Type: Bug
          Components: Legacy/Streaming and Messaging
            Reporter: Sergio Bossa


{{StreamManager}} does currently a suboptimal job in differentiating between 
stream sessions (in form of {{StreamResultFuture}}) which have been either 
initiated or "received", for the following reasons:
1) Naming is IMO confusing: a "receiver" session could actually both send and 
receive files, so technically an initiator is also a receiver.
2) {{StreamManager#findSession()}}  assumes we should first looking into 
"initiator" sessions, then into "receiver" ones: this is a dangerous 
assumptions, in particular for test environments where the same process could 
work as both an initiator and a receiver.

I would recommend the following changes:
1) Rename "receiver" with "follower" everywhere the former is used.
2) Introduce a new flag into {{StreamMessageHeader}} to signal if the message 
comes from an initiator or follower session, in order to correctly 
differentiate and look for sessions in {{StreamManager}}.

While my arguments above might seem trivial, I believe they will improve 
clarity and save from potential bugs/headaches at testing time, and doing such 
changes now that we're revamping streaming for 4.0 seems the right time.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to