56
56
import org .elasticsearch .search .internal .InternalSearchResponse ;
57
57
import org .elasticsearch .test .ESTestCase ;
58
58
import org .elasticsearch .test .transport .MockTransportService ;
59
- import org .elasticsearch .test .transport .StubbableConnectionManager ;
60
59
import org .elasticsearch .threadpool .TestThreadPool ;
61
60
import org .elasticsearch .threadpool .ThreadPool ;
62
61
84
83
import static org .hamcrest .Matchers .containsString ;
85
84
import static org .hamcrest .Matchers .equalTo ;
86
85
import static org .hamcrest .Matchers .instanceOf ;
87
- import static org .hamcrest .Matchers .notNullValue ;
88
86
import static org .hamcrest .Matchers .sameInstance ;
89
87
90
88
public class RemoteClusterConnectionTests extends ESTestCase {
@@ -546,51 +544,24 @@ public void testConnectedNodesConcurrentAccess() throws IOException, Interrupted
546
544
public void testGetConnection () throws Exception {
547
545
List <DiscoveryNode > knownNodes = new CopyOnWriteArrayList <>();
548
546
try (MockTransportService seedTransport = startTransport ("seed_node" , knownNodes , Version .CURRENT );
549
- MockTransportService discoverableTransport = startTransport ("discoverable_node " , knownNodes , Version .CURRENT )) {
547
+ MockTransportService disconnectedTransport = startTransport ("disconnected_node " , knownNodes , Version .CURRENT )) {
550
548
551
- DiscoveryNode connectedNode = seedTransport .getLocalDiscoNode ();
552
- assertThat (connectedNode , notNullValue ());
553
- knownNodes .add (connectedNode );
549
+ DiscoveryNode seedNode = seedTransport .getLocalNode ();
550
+ knownNodes .add (seedNode );
554
551
555
- DiscoveryNode disconnectedNode = discoverableTransport .getLocalDiscoNode ();
556
- assertThat (disconnectedNode , notNullValue ());
557
- knownNodes .add (disconnectedNode );
552
+ DiscoveryNode disconnectedNode = disconnectedTransport .getLocalNode ();
558
553
559
554
try (MockTransportService service = MockTransportService .createNewService (Settings .EMPTY , Version .CURRENT , threadPool , null )) {
560
- Transport .Connection seedConnection = new CloseableConnection () {
561
- @ Override
562
- public DiscoveryNode getNode () {
563
- return connectedNode ;
564
- }
565
-
566
- @ Override
567
- public void sendRequest (long requestId , String action , TransportRequest request , TransportRequestOptions options )
568
- throws TransportException {
569
- // no-op
570
- }
571
- };
572
-
573
- ConnectionManager delegate = new ConnectionManager (Settings .EMPTY , service .transport );
574
- StubbableConnectionManager connectionManager = new StubbableConnectionManager (delegate , Settings .EMPTY , service .transport );
575
-
576
- connectionManager .setDefaultNodeConnectedBehavior ((cm , node ) -> connectedNode .equals (node ));
577
-
578
- connectionManager .addGetConnectionBehavior (connectedNode .getAddress (), (cm , discoveryNode ) -> seedConnection );
579
-
580
- connectionManager .addGetConnectionBehavior (disconnectedNode .getAddress (), (cm , discoveryNode ) -> {
581
- throw new NodeNotConnectedException (discoveryNode , "" );
582
- });
583
-
584
555
service .start ();
585
556
service .acceptIncomingRequests ();
586
557
String clusterAlias = "test-cluster" ;
587
- Settings settings = buildRandomSettings (clusterAlias , addresses (connectedNode ));
588
- try (RemoteClusterConnection connection = new RemoteClusterConnection (settings , clusterAlias , service , connectionManager )) {
558
+ Settings settings = buildRandomSettings (clusterAlias , addresses (seedNode ));
559
+ try (RemoteClusterConnection connection = new RemoteClusterConnection (settings , clusterAlias , service )) {
589
560
PlainActionFuture .get (fut -> connection .ensureConnected (ActionListener .map (fut , x -> null )));
590
561
for (int i = 0 ; i < 10 ; i ++) {
591
562
//always a direct connection as the remote node is already connected
592
- Transport .Connection remoteConnection = connection .getConnection (connectedNode );
593
- assertSame ( seedConnection , remoteConnection );
563
+ Transport .Connection remoteConnection = connection .getConnection (seedNode );
564
+ assertEquals ( seedNode , remoteConnection . getNode () );
594
565
}
595
566
for (int i = 0 ; i < 10 ; i ++) {
596
567
// we don't use the transport service connection manager so we will get a proxy connection for the local node
@@ -599,7 +570,7 @@ public void sendRequest(long requestId, String action, TransportRequest request,
599
570
assertThat (remoteConnection .getNode (), equalTo (service .getLocalNode ()));
600
571
}
601
572
for (int i = 0 ; i < 10 ; i ++) {
602
- //always a proxy connection as the target node is not connected
573
+ // always a proxy connection as the target node is not connected
603
574
Transport .Connection remoteConnection = connection .getConnection (disconnectedNode );
604
575
assertThat (remoteConnection , instanceOf (RemoteConnectionManager .ProxyConnection .class ));
605
576
assertThat (remoteConnection .getNode (), sameInstance (disconnectedNode ));
0 commit comments