elasticsearch-store 0.61.1 → 0.61.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { Logger } from '@terascope/utils';
|
|
1
2
|
import * as opensearch from '@opensearch-project/opensearch';
|
|
2
3
|
import * as elasticsearch6 from 'elasticsearch6';
|
|
3
4
|
import * as elasticsearch7 from 'elasticsearch7';
|
|
4
5
|
import * as elasticsearch8 from 'elasticsearch8';
|
|
5
6
|
import { ClientConfig } from './interfaces';
|
|
6
|
-
export declare function createClient(config: ClientConfig, logger?:
|
|
7
|
+
export declare function createClient(config: ClientConfig, logger?: Logger): Promise<{
|
|
7
8
|
client: opensearch.Client;
|
|
8
9
|
log: () => {
|
|
9
10
|
error: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../../../src/elasticsearch-client/create-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../../../src/elasticsearch-client/create-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACyB,MAAM,EACrC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,cAAc,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,cAAc,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,cAAc,MAAM,gBAAgB,CAAC;AAGjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA0D5C,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,SAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EpG"}
|
|
@@ -32,7 +32,7 @@ const elasticsearch8 = __importStar(require("elasticsearch8"));
|
|
|
32
32
|
const types_1 = require("@terascope/types");
|
|
33
33
|
const log_wrapper_1 = require("./log-wrapper");
|
|
34
34
|
const clientList = [opensearch, elasticsearch8, elasticsearch7, elasticsearch6];
|
|
35
|
-
async function findDistribution(config) {
|
|
35
|
+
async function findDistribution(config, logger) {
|
|
36
36
|
for (let i = 0; i < clientList.length - 1; i++) {
|
|
37
37
|
try {
|
|
38
38
|
const client = new clientList[i].Client(config);
|
|
@@ -43,6 +43,9 @@ async function findDistribution(config) {
|
|
|
43
43
|
const version = (0, utils_1.get)(info, 'version.number');
|
|
44
44
|
const responseDistribution = (0, utils_1.get)(info, 'version.distribution', 'elasticsearch');
|
|
45
45
|
let distribution;
|
|
46
|
+
if (logger.level() === 10) {
|
|
47
|
+
logger.trace(info);
|
|
48
|
+
}
|
|
46
49
|
if (version == null || responseDistribution == null) {
|
|
47
50
|
throw new Error(`Got invalid response from api: ${JSON.stringify(info)}`);
|
|
48
51
|
}
|
|
@@ -52,13 +55,19 @@ async function findDistribution(config) {
|
|
|
52
55
|
else {
|
|
53
56
|
distribution = types_1.ElasticsearchDistribution.opensearch;
|
|
54
57
|
}
|
|
58
|
+
const [majorVersion, minorVersion] = version.split('.').map(utils_1.toNumber);
|
|
55
59
|
return {
|
|
56
60
|
version,
|
|
57
|
-
distribution
|
|
61
|
+
distribution,
|
|
62
|
+
majorVersion,
|
|
63
|
+
minorVersion
|
|
58
64
|
};
|
|
59
65
|
}
|
|
60
66
|
}
|
|
61
|
-
catch (
|
|
67
|
+
catch (err) {
|
|
68
|
+
if (logger.level() === 10) {
|
|
69
|
+
logger.error(err);
|
|
70
|
+
}
|
|
62
71
|
continue;
|
|
63
72
|
}
|
|
64
73
|
}
|
|
@@ -66,7 +75,7 @@ async function findDistribution(config) {
|
|
|
66
75
|
}
|
|
67
76
|
async function createClient(config, logger = (0, utils_1.debugLogger)('elasticsearch-client')) {
|
|
68
77
|
try {
|
|
69
|
-
const serverMetadata = await findDistribution(config);
|
|
78
|
+
const { minorVersion, majorVersion, ...serverMetadata } = await findDistribution(config, logger);
|
|
70
79
|
if (serverMetadata.distribution === types_1.ElasticsearchDistribution.opensearch) {
|
|
71
80
|
// TODO: clean this up
|
|
72
81
|
const openConfig = {
|
|
@@ -75,25 +84,40 @@ async function createClient(config, logger = (0, utils_1.debugLogger)('elasticse
|
|
|
75
84
|
const client = new opensearch.Client(openConfig);
|
|
76
85
|
// @ts-expect-error
|
|
77
86
|
client.__meta = serverMetadata;
|
|
87
|
+
logger.debug('Creating an opensearch client');
|
|
78
88
|
return {
|
|
79
89
|
client,
|
|
80
90
|
log: (0, log_wrapper_1.logWrapper)(logger),
|
|
81
91
|
};
|
|
82
92
|
}
|
|
83
|
-
const majorVersion = (0, utils_1.toNumber)(serverMetadata.version.split('.', 1)[0]);
|
|
84
93
|
if (majorVersion === 8) {
|
|
85
94
|
const client = new elasticsearch8.Client(config);
|
|
86
95
|
// @ts-expect-error
|
|
87
96
|
client.__meta = serverMetadata;
|
|
97
|
+
logger.debug('Creating an elasticsearch v8 client');
|
|
88
98
|
return {
|
|
89
99
|
client,
|
|
90
100
|
log: (0, log_wrapper_1.logWrapper)(logger),
|
|
91
101
|
};
|
|
92
102
|
}
|
|
93
103
|
if (majorVersion === 7) {
|
|
104
|
+
// 7.13 and lower needs to use opensearch for now as its backwards
|
|
105
|
+
// compatible, anything past this version the newer client will
|
|
106
|
+
// throw if not their proprietary client
|
|
107
|
+
if (minorVersion <= 13) {
|
|
108
|
+
const client = new opensearch.Client(config);
|
|
109
|
+
// @ts-expect-error
|
|
110
|
+
client.__meta = serverMetadata;
|
|
111
|
+
logger.debug('Creating an opensearch client for elasticsearch v7 for backwards compatibility');
|
|
112
|
+
return {
|
|
113
|
+
client,
|
|
114
|
+
log: (0, log_wrapper_1.logWrapper)(logger),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
94
117
|
const client = new elasticsearch7.Client(config);
|
|
95
118
|
// @ts-expect-error
|
|
96
119
|
client.__meta = serverMetadata;
|
|
120
|
+
logger.debug('Creating an elasticsearch v7 client');
|
|
97
121
|
return {
|
|
98
122
|
client,
|
|
99
123
|
log: (0, log_wrapper_1.logWrapper)(logger),
|
|
@@ -103,6 +127,7 @@ async function createClient(config, logger = (0, utils_1.debugLogger)('elasticse
|
|
|
103
127
|
const client = new elasticsearch6.Client(config);
|
|
104
128
|
// @ts-expect-error
|
|
105
129
|
client.__meta = serverMetadata;
|
|
130
|
+
logger.debug('Creating an elasticsearch v6 client');
|
|
106
131
|
return {
|
|
107
132
|
client,
|
|
108
133
|
log: (0, log_wrapper_1.logWrapper)(logger),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-client.js","sourceRoot":"","sources":["../../../src/elasticsearch-client/create-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"create-client.js","sourceRoot":"","sources":["../../../src/elasticsearch-client/create-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elasticsearch-store",
|
|
3
3
|
"displayName": "Elasticsearch Store",
|
|
4
|
-
"version": "0.61.
|
|
4
|
+
"version": "0.61.2",
|
|
5
5
|
"description": "An API for managing an elasticsearch index, with versioning and migration support.",
|
|
6
6
|
"homepage": "https://github.com/terascope/teraslice/tree/master/packages/elasticsearch-store#readme",
|
|
7
7
|
"bugs": {
|