You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Mashenkov (Jira)" <ji...@apache.org> on 2021/12/23 09:45:00 UTC

[jira] [Created] (IGNITE-16195) Optimize MessageProcessor selection for a message.

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)