@@ -2077,40 +2077,44 @@ public void getConnector(String connectorId, String tenantId, ActionListener<Con
20772077 .tenantId (tenantId )
20782078 .build ();
20792079
2080- sdkClient .getDataObjectAsync (getDataObjectRequest ).whenComplete ((r , throwable ) -> {
2081- log .debug ("Completed Get Connector Request, id:{}" , connectorId );
2082- if (throwable != null ) {
2083- Exception cause = SdkClientUtils .unwrapAndConvertToException (throwable );
2084- if (ExceptionsHelper .unwrap (cause , IndexNotFoundException .class ) != null ) {
2085- log .error ("Failed to get connector index" , cause );
2086- listener .onFailure (new OpenSearchStatusException ("Failed to find connector" , RestStatus .NOT_FOUND ));
2080+ try (ThreadContext .StoredContext ctx = client .threadPool ().getThreadContext ().stashContext ()) {
2081+ sdkClient .getDataObjectAsync (getDataObjectRequest ).whenComplete ((r , throwable ) -> {
2082+ log .debug ("Completed Get Connector Request, id:{}" , connectorId );
2083+ ctx .restore ();
2084+ if (throwable != null ) {
2085+ Exception cause = SdkClientUtils .unwrapAndConvertToException (throwable );
2086+ if (ExceptionsHelper .unwrap (cause , IndexNotFoundException .class ) != null ) {
2087+ log .error ("Failed to get connector index" , cause );
2088+ listener .onFailure (new OpenSearchStatusException ("Failed to find connector" , RestStatus .NOT_FOUND ));
2089+ } else {
2090+ log .error ("Failed to get ML connector {}" , connectorId , cause );
2091+ listener .onFailure (cause );
2092+ }
20872093 } else {
2088- log . error ( "Failed to get ML connector {}" , connectorId , cause );
2089- listener . onFailure ( cause );
2090- }
2091- } else {
2092- try {
2093- GetResponse gr = r . parser () == null ? null : GetResponse . fromXContent ( r . parser ());
2094- if ( gr != null && gr . isExists () ) {
2095- try (
2096- XContentParser parser = MLNodeUtils
2097- . createXContentParserFromRegistry ( NamedXContentRegistry . EMPTY , gr . getSourceAsBytesRef ())
2098- ) {
2099- ensureExpectedToken ( XContentParser . Token . START_OBJECT , parser . nextToken (), parser );
2100- Connector connector = Connector . createConnector ( parser );
2101- listener . onResponse ( connector );
2102- } catch ( Exception e ) {
2103- log . error ( "Failed to parse connector:{}" , connectorId );
2104- listener .onFailure (e );
2094+ try {
2095+ GetResponse gr = r . parser () == null ? null : GetResponse . fromXContent ( r . parser () );
2096+ if ( gr != null && gr . isExists ()) {
2097+ try (
2098+ XContentParser parser = MLNodeUtils
2099+ . createXContentParserFromRegistry ( NamedXContentRegistry . EMPTY , gr . getSourceAsBytesRef ())
2100+ ) {
2101+ ensureExpectedToken ( XContentParser . Token . START_OBJECT , parser . nextToken (), parser );
2102+ Connector connector = Connector . createConnector ( parser );
2103+ listener . onResponse ( connector );
2104+ } catch ( Exception e ) {
2105+ log . error ( "Failed to parse connector:{}" , connectorId );
2106+ listener . onFailure ( e );
2107+ }
2108+ } else {
2109+ listener
2110+ .onFailure (new OpenSearchStatusException ( "Failed to find connector:" + connectorId , RestStatus . NOT_FOUND ) );
21052111 }
2106- } else {
2107- listener .onFailure (new OpenSearchStatusException ( "Failed to find connector:" + connectorId , RestStatus . NOT_FOUND ) );
2112+ } catch ( Exception e ) {
2113+ listener .onFailure (e );
21082114 }
2109- } catch (Exception e ) {
2110- listener .onFailure (e );
21112115 }
2112- }
2113- });
2116+ });
2117+ }
21142118 }
21152119
21162120 /**
0 commit comments