-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Closed
Closed
Copy link
Labels
:Distributed Coordination/NetworkHttp and internode communication implementationsHttp and internode communication implementations>tech debtTeam:Distributed (Obsolete)Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination.Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination.Team:Distributed CoordinationMeta label for Distributed Coordination teamMeta label for Distributed Coordination team
Description
As noted at #100162 (comment) we don't really have any great overview docs about how transport actions are registered and used.
The Javadocs for org.elasticsearch.transport.TransportHandshaker describe the message format of transport handshakes which are pretty similar to regular transport message but we should have something similar about regular transport messages too. The key point there is that the action name is included (in plain ASCII) in the header (see org.elasticsearch.transport.Header) and we use that string to pick the handler from the map of registered handlers:
elasticsearch/server/src/main/java/org/elasticsearch/transport/InboundHandler.java
Lines 229 to 231 in 6caf9c1
| final String action = header.getActionName(); | |
| final long requestId = header.getRequestId(); | |
| final RequestHandlerRegistry<T> reg = requestHandlers.getHandler(action); |
Metadata
Metadata
Assignees
Labels
:Distributed Coordination/NetworkHttp and internode communication implementationsHttp and internode communication implementations>tech debtTeam:Distributed (Obsolete)Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination.Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination.Team:Distributed CoordinationMeta label for Distributed Coordination teamMeta label for Distributed Coordination team