Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add transport support to connect with an extension #2019

Closed
5 of 7 tasks
saratvemulapalli opened this issue Jan 31, 2022 · 3 comments
Closed
5 of 7 tasks

Add transport support to connect with an extension #2019

saratvemulapalli opened this issue Jan 31, 2022 · 3 comments

Comments

@saratvemulapalli
Copy link
Member

saratvemulapalli commented Jan 31, 2022

Transport Service with OpenSearch by default supports connecting to different nodes on the cluster.
Extend this mechanism to connect to an independent plugin running on the system.

TransportService connects to different nodes via DiscoveryNode.
We might have to implement something similar for a plugin.

  • TransportService exposing an interface to connect to an extension
  • Send a connection request to an extension
  • Send a message to an extension
  • Serialize/de-serialize bi-directional communication with an extension
  • Manual testing
  • Sanitize code and abstract out pieces of TransportService (to be merged to main)
  • Integration tests
@saratvemulapalli saratvemulapalli self-assigned this Jan 31, 2022
@saratvemulapalli saratvemulapalli changed the title Add transport support to connect with independent plugin Add transport support to connect with an extension Feb 18, 2022
@saratvemulapalli
Copy link
Member Author

saratvemulapalli commented Mar 2, 2022

Update: I was able to get OpenSearch to talk to a TCP server(extension) and receive a message.

[2022-03-01T18:14:25,891][INFO ][o.o.p.PluginsOrchestrator] [runTask-0] {runTask-0}{E3X_bXMeQWSqEM3JYCxhLw}{fYaYY3ayQXewn4u156BgjQ}{127.0.0.1}{127.0.0.1:9300}{dimr}{testattr=test, shard_indexing_pressure_enabled=true}
[2022-03-01T18:14:25,892][INFO ][o.o.t.TransportService   ] [runTask-0] connectToNode Connecting to node {node_g}{JfkfZZloTHCD1h133btYlw}{127.0.0.1}{127.0.0.1:65432}{dimr}
[2022-03-01T18:14:25,892][INFO ][o.o.t.ClusterConnectionManager] [runTask-0] connectToNode {node_g}{JfkfZZloTHCD1h133btYlw}{127.0.0.1}{127.0.0.1:65432}{dimr}
[2022-03-01T18:14:25,927][INFO ][o.o.p.PluginsOrchestrator] [runTask-0] ConnectTransportException[[][127.0.0.1:65432] connect_exception]; nested: AnnotatedSocketException[Connection reset by peer: /127.0.0.1:65432]; nested: SocketException[Connection reset by peer];
[2022-03-01T18:14:25,932][INFO ][o.o.t.TcpTransport       ] [runTask-0] readHeaderBuffer ES00001
[2022-03-01T18:14:25,934][INFO ][o.o.t.TcpTransport       ] [runTask-0] messageLength 10

@owaiskazi19
Copy link
Member

Update: #2351 (comment)

@saratvemulapalli
Copy link
Member Author

Closing this as the remaining items are anyway being tracked in #2228

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants