Andrey Mashenkov created IGNITE-16195:
-----------------------------------------
Summary: Optimize MessageProcessor selection for a message.
Key: IGNITE-16195
URL: https://issues.apache.org/jira/browse/IGNITE-16195
Project: Ignite
Issue Type: Improvement
Components: networking
Reporter: Andrey Mashenkov
For now, IgniteRpcServer registers processors (for Raft messages only) in a
Map<String, RpcProcessor>, where key is a message class name.
On every received message we do a lookup into the map by the classname which
may be less efficient as it could be. E.g. we could use a number (int or long)
as a key.
NetworkMessage provides a unique groupType of int type.
Maybe could register a processor for a whole group and delegate all the
messages for the group to the processor?
We can use groupType and messageType of number types for normal usage and
switch to class names back (current behavior) for compatibility (e.g. rolling
upgrade) purposes.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)