Skip to content

Commit d2f355a

Browse files
authored
ES Client: use ClusterConnectionPool (#134628) (#134641)
(cherry picked from commit 6decdc3) # Conflicts: # src/core/server/elasticsearch/client/configure_client.ts
1 parent 1d8232b commit d2f355a

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/core/server/elasticsearch/client/configure_client.test.ts

+16
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
ClientMock,
1818
} from './configure_client.test.mocks';
1919
import { loggingSystemMock } from '../../logging/logging_system.mock';
20+
import { ClusterConnectionPool } from '@elastic/elasticsearch';
2021
import type { ElasticsearchClientConfig } from './client_config';
2122
import { configureClient } from './configure_client';
2223
import { instrumentEsQueryAndDeprecationLogger } from './log_query_and_deprecation';
@@ -112,6 +113,21 @@ describe('configureClient', () => {
112113
expect(client).toBe(ClientMock.mock.results[0].value);
113114
});
114115

116+
it('constructs a client using `ClusterConnectionPool` for `ConnectionPool` ', () => {
117+
const mockedTransport = { mockTransport: true };
118+
createTransportMock.mockReturnValue(mockedTransport);
119+
120+
const client = configureClient(config, { logger, type: 'test', scoped: false });
121+
122+
expect(ClientMock).toHaveBeenCalledTimes(1);
123+
expect(ClientMock).toHaveBeenCalledWith(
124+
expect.objectContaining({
125+
ConnectionPool: ClusterConnectionPool,
126+
})
127+
);
128+
expect(client).toBe(ClientMock.mock.results[0].value);
129+
});
130+
115131
it('calls instrumentEsQueryAndDeprecationLogger', () => {
116132
const client = configureClient(config, { logger, type: 'test', scoped: false });
117133

src/core/server/elasticsearch/client/configure_client.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Side Public License, v 1.
77
*/
88

9-
import { Client, HttpConnection } from '@elastic/elasticsearch';
9+
import { Client, HttpConnection, ClusterConnectionPool } from '@elastic/elasticsearch';
1010
import { Logger } from '../../logging';
1111
import { parseClientOptions, ElasticsearchClientConfig } from './client_config';
1212
import { instrumentEsQueryAndDeprecationLogger } from './log_query_and_deprecation';
@@ -35,6 +35,8 @@ export const configureClient = (
3535
...clientOptions,
3636
Transport: KibanaTransport,
3737
Connection: HttpConnection,
38+
// using ClusterConnectionPool until https://github.com/elastic/elasticsearch-js/issues/1714 is addressed
39+
ConnectionPool: ClusterConnectionPool,
3840
});
3941

4042
instrumentEsQueryAndDeprecationLogger({ logger, client, type });

0 commit comments

Comments
 (0)