@zilliz/milvus2-sdk-node 2.2.10 → 2.2.12
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.
- package/README.md +3 -3
- package/dist/milvus/MilvusClient.d.ts +0 -4
- package/dist/milvus/MilvusClient.js +20 -48
- package/dist/milvus/MilvusClient.js.map +1 -1
- package/dist/milvus/OrmClient.d.ts +19 -0
- package/dist/milvus/OrmClient.js +77 -0
- package/dist/milvus/OrmClient.js.map +1 -0
- package/dist/milvus/const/ErrorReason.d.ts +36 -31
- package/dist/milvus/const/ErrorReason.js +39 -32
- package/dist/milvus/const/ErrorReason.js.map +1 -1
- package/dist/milvus/const/Milvus.d.ts +2 -9
- package/dist/milvus/const/Milvus.js +16 -33
- package/dist/milvus/const/Milvus.js.map +1 -1
- package/dist/milvus/const/client.d.ts +5 -0
- package/dist/milvus/const/client.js +10 -0
- package/dist/milvus/const/client.js.map +1 -0
- package/dist/milvus/const/defaults.d.ts +11 -0
- package/dist/milvus/const/defaults.js +16 -0
- package/dist/milvus/const/defaults.js.map +1 -0
- package/dist/milvus/const/highLevel.d.ts +23 -0
- package/dist/milvus/const/highLevel.js +26 -0
- package/dist/milvus/const/highLevel.js.map +1 -0
- package/dist/milvus/const/index.d.ts +4 -1
- package/dist/milvus/const/index.js +4 -1
- package/dist/milvus/const/index.js.map +1 -1
- package/dist/milvus/const/limits.d.ts +2 -0
- package/dist/milvus/const/limits.js +7 -0
- package/dist/milvus/const/limits.js.map +1 -0
- package/dist/milvus/grpc/BaseClient.d.ts +16 -7
- package/dist/milvus/grpc/BaseClient.js +37 -18
- package/dist/milvus/grpc/BaseClient.js.map +1 -1
- package/dist/milvus/grpc/Collection.d.ts +32 -3
- package/dist/milvus/grpc/Collection.js +242 -416
- package/dist/milvus/grpc/Collection.js.map +1 -1
- package/dist/milvus/grpc/Data.d.ts +68 -8
- package/dist/milvus/grpc/Data.js +539 -566
- package/dist/milvus/grpc/Data.js.map +1 -1
- package/dist/milvus/grpc/Database.d.ts +69 -0
- package/dist/milvus/grpc/Database.js +98 -0
- package/dist/milvus/grpc/Database.js.map +1 -0
- package/dist/milvus/grpc/GrpcClient.d.ts +18 -8
- package/dist/milvus/grpc/GrpcClient.js +87 -156
- package/dist/milvus/grpc/GrpcClient.js.map +1 -1
- package/dist/milvus/grpc/MilvusIndex.d.ts +1 -1
- package/dist/milvus/grpc/MilvusIndex.js +46 -142
- package/dist/milvus/grpc/MilvusIndex.js.map +1 -1
- package/dist/milvus/grpc/Partition.d.ts +1 -1
- package/dist/milvus/grpc/Partition.js +53 -157
- package/dist/milvus/grpc/Partition.js.map +1 -1
- package/dist/milvus/grpc/Resource.d.ts +2 -2
- package/dist/milvus/grpc/Resource.js +64 -170
- package/dist/milvus/grpc/Resource.js.map +1 -1
- package/dist/milvus/grpc/User.d.ts +1 -1
- package/dist/milvus/grpc/User.js +193 -381
- package/dist/milvus/grpc/User.js.map +1 -1
- package/dist/milvus/index.d.ts +1 -1
- package/dist/milvus/index.js +1 -1
- package/dist/milvus/index.js.map +1 -1
- package/dist/milvus/orm/Collection.d.ts +45 -0
- package/dist/milvus/orm/Collection.js +172 -0
- package/dist/milvus/orm/Collection.js.map +1 -0
- package/dist/milvus/orm/index.d.ts +2 -0
- package/dist/milvus/{types.js → orm/index.js} +3 -11
- package/dist/milvus/orm/index.js.map +1 -0
- package/dist/milvus/orm/utils.d.ts +27 -0
- package/dist/milvus/orm/utils.js +27 -0
- package/dist/milvus/orm/utils.js.map +1 -0
- package/dist/milvus/types/Client.d.ts +12 -1
- package/dist/milvus/types/Collection.d.ts +18 -4
- package/dist/milvus/types/Data.d.ts +41 -5
- package/dist/milvus/types/Database.d.ts +12 -0
- package/dist/milvus/types/Database.js +3 -0
- package/dist/milvus/types/Database.js.map +1 -0
- package/dist/milvus/types/HighLevel.d.ts +13 -0
- package/dist/milvus/types/HighLevel.js +3 -0
- package/dist/milvus/types/HighLevel.js.map +1 -0
- package/dist/milvus/types/MilvusIndex.d.ts +1 -1
- package/dist/milvus/types/Resource.d.ts +1 -1
- package/dist/milvus/types/{Index.d.ts → index.d.ts} +2 -0
- package/dist/milvus/types/{Index.js → index.js} +3 -1
- package/dist/milvus/types/index.js.map +1 -0
- package/dist/{utils → milvus/utils}/Blob.js +4 -4
- package/dist/milvus/utils/Blob.js.map +1 -0
- package/dist/{utils → milvus/utils}/Format.d.ts +66 -2
- package/dist/milvus/utils/Format.js +416 -0
- package/dist/milvus/utils/Format.js.map +1 -0
- package/dist/{utils → milvus/utils}/Function.d.ts +1 -1
- package/dist/{utils → milvus/utils}/Function.js +7 -7
- package/dist/milvus/utils/Function.js.map +1 -0
- package/dist/{utils → milvus/utils}/Grpc.d.ts +9 -8
- package/dist/milvus/utils/Grpc.js +190 -0
- package/dist/milvus/utils/Grpc.js.map +1 -0
- package/dist/{utils → milvus/utils}/Validate.d.ts +7 -1
- package/dist/milvus/utils/Validate.js +140 -0
- package/dist/milvus/utils/Validate.js.map +1 -0
- package/dist/{utils → milvus/utils}/index.d.ts +2 -0
- package/dist/{utils → milvus/utils}/index.js +2 -0
- package/dist/milvus/utils/index.js.map +1 -0
- package/dist/milvus/utils/logger.d.ts +1 -0
- package/dist/milvus/utils/logger.js +18 -0
- package/dist/milvus/utils/logger.js.map +1 -0
- package/dist/proto/proto/common.proto +38 -14
- package/dist/proto/proto/google/protobuf/descriptor.proto +8 -4
- package/dist/proto/proto/milvus.proto +86 -83
- package/dist/proto/proto/schema.proto +5 -0
- package/dist/sdk.json +1 -1
- package/package.json +14 -11
- package/dist/milvus/types/Index.js.map +0 -1
- package/dist/milvus/types.d.ts +0 -9
- package/dist/milvus/types.js.map +0 -1
- package/dist/proto/proto/feder.proto +0 -40
- package/dist/proto/proto/msg.proto +0 -107
- package/dist/utils/Blob.js.map +0 -1
- package/dist/utils/Format.js +0 -252
- package/dist/utils/Format.js.map +0 -1
- package/dist/utils/Function.js.map +0 -1
- package/dist/utils/Grpc.js +0 -170
- package/dist/utils/Grpc.js.map +0 -1
- package/dist/utils/Validate.js +0 -125
- package/dist/utils/Validate.js.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/test.d.ts +0 -29
- package/dist/utils/test.js +0 -112
- package/dist/utils/test.js.map +0 -1
- /package/dist/{utils → milvus/utils}/Blob.d.ts +0 -0
|
@@ -10,24 +10,25 @@ interface IServiceDetails {
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const getGRPCService: (proto: IServiceDetails) => ServiceClientConstructor;
|
|
12
12
|
/**
|
|
13
|
-
* Returns
|
|
14
|
-
*
|
|
15
|
-
* @param
|
|
16
|
-
* @
|
|
13
|
+
* Returns a gRPC interceptor function that adds metadata to outgoing requests.
|
|
14
|
+
*
|
|
15
|
+
* @param {Function} onInvoked - A function to be called with the modified metadata.
|
|
16
|
+
* @param {Object[]} initValues - An array of objects containing key-value pairs to add to the metadata.
|
|
17
|
+
* @returns {Function} The gRPC interceptor function.
|
|
17
18
|
*/
|
|
18
|
-
export declare const
|
|
19
|
+
export declare const getMetaInterceptor: (onInvoked: Function, initValues?: {
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}[]) => (options: any, nextCall: any) => InterceptingCall;
|
|
19
22
|
/**
|
|
20
23
|
* Returns a gRPC interceptor function that retries failed requests up to a maximum number of times.
|
|
21
24
|
*
|
|
22
25
|
* @param {Object} options - The options object.
|
|
23
26
|
* @param {number} options.maxRetries - The maximum number of times to retry a failed request.
|
|
24
27
|
* @param {number} options.retryDelay - The delay in milliseconds between retries.
|
|
25
|
-
* @param {boolean} options.debug - Whether to log debug information.
|
|
26
28
|
* @returns {Function} The gRPC interceptor function.
|
|
27
29
|
*/
|
|
28
|
-
export declare const getRetryInterceptor: ({ maxRetries, retryDelay,
|
|
30
|
+
export declare const getRetryInterceptor: ({ maxRetries, retryDelay, }: {
|
|
29
31
|
maxRetries: number;
|
|
30
32
|
retryDelay: number;
|
|
31
|
-
debug: boolean;
|
|
32
33
|
}) => (options: any, nextCall: any) => InterceptingCall;
|
|
33
34
|
export {};
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getRetryInterceptor = exports.getMetaInterceptor = exports.getGRPCService = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const proto_loader_1 = require("@grpc/proto-loader");
|
|
9
|
+
const grpc_js_1 = require("@grpc/grpc-js");
|
|
10
|
+
const _1 = require(".");
|
|
11
|
+
const const_1 = require("../const");
|
|
12
|
+
const PROTO_OPTIONS = {
|
|
13
|
+
keepCase: true,
|
|
14
|
+
longs: String,
|
|
15
|
+
enums: String,
|
|
16
|
+
defaults: true,
|
|
17
|
+
oneofs: true,
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Returns a gRPC service client constructor for the given proto file and service name.
|
|
21
|
+
* @param proto An object containing the proto file path and service name.
|
|
22
|
+
* @returns A gRPC service client constructor.
|
|
23
|
+
*/
|
|
24
|
+
const getGRPCService = (proto) => {
|
|
25
|
+
// Resolve the proto file path.
|
|
26
|
+
const PROTO_PATH = path_1.default.resolve(__dirname, proto.protoPath);
|
|
27
|
+
// Load the proto file.
|
|
28
|
+
const packageDefinition = (0, proto_loader_1.loadSync)(PROTO_PATH, PROTO_OPTIONS);
|
|
29
|
+
// Load the gRPC object.
|
|
30
|
+
const grpcObj = (0, grpc_js_1.loadPackageDefinition)(packageDefinition);
|
|
31
|
+
// Get the service object from the gRPC object.
|
|
32
|
+
const service = proto.serviceName
|
|
33
|
+
.split('.')
|
|
34
|
+
.reduce((a, b) => a[b], grpcObj);
|
|
35
|
+
// Check that the service object is valid.
|
|
36
|
+
if ((service === null || service === void 0 ? void 0 : service.name) !== 'ServiceClientImpl') {
|
|
37
|
+
throw new Error(`Unable to load service: ${proto.serviceName} from ${proto.protoPath}`);
|
|
38
|
+
}
|
|
39
|
+
// Return the service client constructor.
|
|
40
|
+
return service;
|
|
41
|
+
};
|
|
42
|
+
exports.getGRPCService = getGRPCService;
|
|
43
|
+
/**
|
|
44
|
+
* Returns a gRPC interceptor function that adds metadata to outgoing requests.
|
|
45
|
+
*
|
|
46
|
+
* @param {Function} onInvoked - A function to be called with the modified metadata.
|
|
47
|
+
* @param {Object[]} initValues - An array of objects containing key-value pairs to add to the metadata.
|
|
48
|
+
* @returns {Function} The gRPC interceptor function.
|
|
49
|
+
*/
|
|
50
|
+
const getMetaInterceptor = (onInvoked, initValues = []) => function (options, nextCall) {
|
|
51
|
+
// Create a new InterceptingCall object with nextCall(options) as its first parameter.
|
|
52
|
+
return new grpc_js_1.InterceptingCall(nextCall(options), {
|
|
53
|
+
// Define the start method of the InterceptingCall object.
|
|
54
|
+
start: function (metadata, listener, next) {
|
|
55
|
+
initValues.forEach(obj => {
|
|
56
|
+
Object.entries(obj).forEach(([key, value]) => {
|
|
57
|
+
metadata.add(key, value);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
if (onInvoked) {
|
|
61
|
+
onInvoked(metadata);
|
|
62
|
+
}
|
|
63
|
+
// Call next(metadata, listener) to continue the call with the modified metadata.
|
|
64
|
+
next(metadata, listener);
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
exports.getMetaInterceptor = getMetaInterceptor;
|
|
69
|
+
/**
|
|
70
|
+
* Returns a gRPC interceptor function that retries failed requests up to a maximum number of times.
|
|
71
|
+
*
|
|
72
|
+
* @param {Object} options - The options object.
|
|
73
|
+
* @param {number} options.maxRetries - The maximum number of times to retry a failed request.
|
|
74
|
+
* @param {number} options.retryDelay - The delay in milliseconds between retries.
|
|
75
|
+
* @returns {Function} The gRPC interceptor function.
|
|
76
|
+
*/
|
|
77
|
+
/* istanbul ignore next */
|
|
78
|
+
const getRetryInterceptor = ({ maxRetries = 3, retryDelay = 30, }) => function (options, nextCall) {
|
|
79
|
+
let savedMetadata;
|
|
80
|
+
let savedSendMessage;
|
|
81
|
+
let savedReceiveMessage;
|
|
82
|
+
let savedMessageNext;
|
|
83
|
+
// deadline
|
|
84
|
+
const deadline = options.deadline;
|
|
85
|
+
// get method name
|
|
86
|
+
// option example
|
|
87
|
+
// {
|
|
88
|
+
// deadline: 2023-05-04T09:04:16.231Z,
|
|
89
|
+
// method_definition: {
|
|
90
|
+
// path: '/milvus.proto.milvus.MilvusService/ListCredUsers',
|
|
91
|
+
// requestStream: false,
|
|
92
|
+
// responseStream: false,
|
|
93
|
+
// requestSerialize: [Function: serialize],
|
|
94
|
+
// responseDeserialize: [Function: deserialize]
|
|
95
|
+
// }
|
|
96
|
+
// }
|
|
97
|
+
const methodName = (0, _1.extractMethodName)(options.method_definition.path);
|
|
98
|
+
// start time
|
|
99
|
+
const startTime = new Date();
|
|
100
|
+
let dbname = '';
|
|
101
|
+
// requester, used to re-execute method
|
|
102
|
+
let requester = {
|
|
103
|
+
start: function (metadata, listener, next) {
|
|
104
|
+
savedMetadata = metadata;
|
|
105
|
+
// get db name
|
|
106
|
+
dbname = metadata.get('dbname') || const_1.DEFAULT_DB;
|
|
107
|
+
// logger.debug(`[DB:${dbname}:${methodName}] started.`);
|
|
108
|
+
const newListener = {
|
|
109
|
+
onReceiveMessage: function (message, next) {
|
|
110
|
+
savedReceiveMessage = message;
|
|
111
|
+
savedMessageNext = next;
|
|
112
|
+
},
|
|
113
|
+
onReceiveStatus: function (status, next) {
|
|
114
|
+
// retry count
|
|
115
|
+
let retries = 0;
|
|
116
|
+
// retry function
|
|
117
|
+
let retry = function (message, metadata) {
|
|
118
|
+
// retry count
|
|
119
|
+
retries++;
|
|
120
|
+
// retry delay
|
|
121
|
+
const _retryDelay = Math.pow(2, retries) * retryDelay;
|
|
122
|
+
// timeout
|
|
123
|
+
const _timeout = deadline.getTime() - startTime.getTime();
|
|
124
|
+
// log
|
|
125
|
+
_1.logger.debug(`[DB:${dbname}:${methodName}] executed failed, status: ${JSON.stringify(status)}, timeout set: ${_timeout}ms, retry after ${_retryDelay} ms.`);
|
|
126
|
+
// retry listener
|
|
127
|
+
const retryListener = {
|
|
128
|
+
onReceiveMessage: function (message) {
|
|
129
|
+
savedReceiveMessage = message;
|
|
130
|
+
},
|
|
131
|
+
onReceiveStatus: function (status) {
|
|
132
|
+
if ((0, _1.isStatusCodeMatched)(status.code)) {
|
|
133
|
+
if (retries < maxRetries) {
|
|
134
|
+
setTimeout(() => {
|
|
135
|
+
// need to update the deadline
|
|
136
|
+
retry(message, metadata);
|
|
137
|
+
// double increase delay every retry
|
|
138
|
+
}, _retryDelay);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
_1.logger.debug(`[DB:${dbname}:${methodName}] retry run out of ${retries} times. ${JSON.stringify(status)}`);
|
|
142
|
+
// we still pop up server information to client
|
|
143
|
+
savedMessageNext(savedReceiveMessage);
|
|
144
|
+
// and do the next call if there is
|
|
145
|
+
next(status);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
_1.logger.debug(`[DB:${dbname}:${methodName}] retried successfully in ${Date.now() - startTime.getTime()}ms.`);
|
|
150
|
+
savedMessageNext(savedReceiveMessage);
|
|
151
|
+
next({ code: grpc_js_1.status.OK });
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
// retry, update deadline
|
|
156
|
+
options.deadline = new Date(Date.now() + _timeout);
|
|
157
|
+
let newCall = nextCall(options);
|
|
158
|
+
newCall.start(metadata, retryListener);
|
|
159
|
+
};
|
|
160
|
+
// check grpc status
|
|
161
|
+
switch (status.code) {
|
|
162
|
+
case grpc_js_1.status.DEADLINE_EXCEEDED:
|
|
163
|
+
case grpc_js_1.status.UNAVAILABLE:
|
|
164
|
+
case grpc_js_1.status.INTERNAL:
|
|
165
|
+
retry(savedSendMessage, savedMetadata);
|
|
166
|
+
break;
|
|
167
|
+
case grpc_js_1.status.UNIMPLEMENTED:
|
|
168
|
+
// const returnMsg = { error_code: 'Success', reason: '' };
|
|
169
|
+
_1.logger.debug(`[DB:${dbname}:${methodName}] returns ${JSON.stringify(status)}`);
|
|
170
|
+
throw new Error('This version of sdk is incompatible with the server, please downgrade your sdk or upgrade your server.');
|
|
171
|
+
default:
|
|
172
|
+
// OK
|
|
173
|
+
_1.logger.debug(`[DB:${dbname}:${methodName}] executed in ${Date.now() - startTime.getTime()}ms, returns ${JSON.stringify(savedReceiveMessage)}`);
|
|
174
|
+
savedMessageNext(savedReceiveMessage);
|
|
175
|
+
next(status);
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
next(metadata, newListener);
|
|
180
|
+
},
|
|
181
|
+
sendMessage: function (message, next) {
|
|
182
|
+
_1.logger.debug(`[DB:${dbname}:${methodName}] sending ${JSON.stringify(message)}`);
|
|
183
|
+
savedSendMessage = message;
|
|
184
|
+
next(message);
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
return new grpc_js_1.InterceptingCall(nextCall(options), requester);
|
|
188
|
+
};
|
|
189
|
+
exports.getRetryInterceptor = getRetryInterceptor;
|
|
190
|
+
//# sourceMappingURL=Grpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grpc.js","sourceRoot":"","sources":["../../../milvus/utils/Grpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FieldType } from '../
|
|
1
|
+
import { FieldType } from '../';
|
|
2
2
|
/**
|
|
3
3
|
* when create collection, field must contain 2 Fields.
|
|
4
4
|
* Type is int64 or varchar and primary_key = true
|
|
@@ -36,3 +36,9 @@ export declare const checkSearchParams: (data: any) => void;
|
|
|
36
36
|
* @returns {boolean} Whether the gRPC status code matches any of the given codes.
|
|
37
37
|
*/
|
|
38
38
|
export declare const isStatusCodeMatched: (code: number, codesToCheck?: number[]) => boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Validates the number of partitions.
|
|
41
|
+
* @param {number} num_partitions - The number of partitions to validate.
|
|
42
|
+
* @throws {Error} Throws an error if the number of partitions is invalid.
|
|
43
|
+
*/
|
|
44
|
+
export declare const validatePartitionNumbers: (num_partitions: number) => void;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validatePartitionNumbers = exports.isStatusCodeMatched = exports.checkSearchParams = exports.checkCollectionAndPartitionName = exports.checkCollectionName = exports.checkCollectionFields = void 0;
|
|
4
|
+
const __1 = require("../");
|
|
5
|
+
const grpc_js_1 = require("@grpc/grpc-js");
|
|
6
|
+
/**
|
|
7
|
+
* when create collection, field must contain 2 Fields.
|
|
8
|
+
* Type is int64 or varchar and primary_key = true
|
|
9
|
+
* Type is one of float_vector and binary_vector
|
|
10
|
+
* Will check fields
|
|
11
|
+
* @param fields
|
|
12
|
+
*/
|
|
13
|
+
const checkCollectionFields = (fields) => {
|
|
14
|
+
// Define arrays of data types that are allowed for vector fields and primary keys, respectively
|
|
15
|
+
const vectorDataTypes = [__1.DataType.BinaryVector, __1.DataType.FloatVector];
|
|
16
|
+
const int64VarCharTypes = [__1.DataType.Int64, __1.DataType.VarChar];
|
|
17
|
+
let hasPrimaryKey = false;
|
|
18
|
+
let hasVectorField = false;
|
|
19
|
+
let partitionKeyCount = 0;
|
|
20
|
+
fields.forEach(field => {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
if (!field.hasOwnProperty('data_type')) {
|
|
23
|
+
throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_MISS_DATA_TYPE);
|
|
24
|
+
}
|
|
25
|
+
// get data type
|
|
26
|
+
const dataType = (0, __1.convertToDataType)(field.data_type);
|
|
27
|
+
const isPrimaryKey = field.is_primary_key;
|
|
28
|
+
const isPartitionKey = field.is_partition_key;
|
|
29
|
+
if (isPrimaryKey && int64VarCharTypes.includes(dataType)) {
|
|
30
|
+
hasPrimaryKey = true;
|
|
31
|
+
}
|
|
32
|
+
// if partition key is set, it should be set on int64 or varchar and non-primary key field
|
|
33
|
+
if (isPartitionKey) {
|
|
34
|
+
if (!int64VarCharTypes.includes(dataType) || isPrimaryKey) {
|
|
35
|
+
throw new Error(__1.ERROR_REASONS.INVALID_PARTITION_KEY_FIELD_TYPE);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// if this is the partition key field, check the limit
|
|
39
|
+
if (isPartitionKey) {
|
|
40
|
+
partitionKeyCount++;
|
|
41
|
+
}
|
|
42
|
+
// if this is the vector field, check dimension
|
|
43
|
+
const isVectorField = vectorDataTypes.includes(dataType);
|
|
44
|
+
const typeParams = field.type_params;
|
|
45
|
+
if (isVectorField) {
|
|
46
|
+
const dim = Number((_a = typeParams === null || typeParams === void 0 ? void 0 : typeParams.dim) !== null && _a !== void 0 ? _a : field.dim);
|
|
47
|
+
if (!dim) {
|
|
48
|
+
throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_CHECK_MISS_DIM);
|
|
49
|
+
}
|
|
50
|
+
if (dataType === __1.DataType.BinaryVector && dim % 8 !== 0) {
|
|
51
|
+
throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_CHECK_BINARY_DIM);
|
|
52
|
+
}
|
|
53
|
+
hasVectorField = true;
|
|
54
|
+
}
|
|
55
|
+
// if this is a varchar field, check max_length
|
|
56
|
+
if (dataType === __1.DataType.VarChar) {
|
|
57
|
+
const maxLength = (_b = typeParams === null || typeParams === void 0 ? void 0 : typeParams.max_length) !== null && _b !== void 0 ? _b : field.max_length;
|
|
58
|
+
if (!maxLength) {
|
|
59
|
+
throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_CHECK_MISS_MAX_LENGTH);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
// if no primary key field is found, throw error
|
|
64
|
+
if (!hasPrimaryKey) {
|
|
65
|
+
throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_CHECK_PRIMARY_KEY);
|
|
66
|
+
}
|
|
67
|
+
// if no vector field is found, throw error
|
|
68
|
+
if (!hasVectorField) {
|
|
69
|
+
throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_CHECK_VECTOR_FIELD_EXIST);
|
|
70
|
+
}
|
|
71
|
+
if (partitionKeyCount > __1.MAX_PARTITION_KEY_FIELD_COUNT) {
|
|
72
|
+
throw new Error(__1.ERROR_REASONS.PARTITION_KEY_FIELD_MAXED_OUT);
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
};
|
|
76
|
+
exports.checkCollectionFields = checkCollectionFields;
|
|
77
|
+
/**
|
|
78
|
+
* check if the request contains collection_name
|
|
79
|
+
* otherwise throw an error
|
|
80
|
+
* @param data
|
|
81
|
+
*/
|
|
82
|
+
const checkCollectionName = (data) => {
|
|
83
|
+
if (!data || !data.collection_name) {
|
|
84
|
+
throw new Error(__1.ERROR_REASONS.COLLECTION_NAME_IS_REQUIRED);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
exports.checkCollectionName = checkCollectionName;
|
|
88
|
+
/**
|
|
89
|
+
* check if the request contains collection_name and partition_name
|
|
90
|
+
* otherwise throw an error
|
|
91
|
+
* @param data
|
|
92
|
+
*/
|
|
93
|
+
const checkCollectionAndPartitionName = (data) => {
|
|
94
|
+
if (!data || !data.collection_name || !data.partition_name) {
|
|
95
|
+
throw new Error(__1.ERROR_REASONS.COLLECTION_PARTITION_NAME_ARE_REQUIRED);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
exports.checkCollectionAndPartitionName = checkCollectionAndPartitionName;
|
|
99
|
+
/**
|
|
100
|
+
* Checks the validity of search parameters.
|
|
101
|
+
* @param {Object} data - The search parameters to be checked.
|
|
102
|
+
* @throws {Error} Throws an error if any of the search parameters are invalid.
|
|
103
|
+
*/
|
|
104
|
+
const checkSearchParams = (data) => {
|
|
105
|
+
(0, exports.checkCollectionName)(data);
|
|
106
|
+
if (!data.vectors && !data.vector && !data.data) {
|
|
107
|
+
throw new Error(__1.ERROR_REASONS.VECTORS_OR_VECTOR_IS_MISSING);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
exports.checkSearchParams = checkSearchParams;
|
|
111
|
+
/**
|
|
112
|
+
* Checks if a gRPC status code matches any of the given codes.
|
|
113
|
+
* DEADLINE_EXCEEDED means that the task wat not completed
|
|
114
|
+
* UNAVAILABLE means that the service is not reachable currently
|
|
115
|
+
* Reference: https://grpc.github.io/grpc/python/grpc.html#grpc-status-code
|
|
116
|
+
*
|
|
117
|
+
* @param {number} code - The gRPC status code to check.
|
|
118
|
+
* @param {number[]} [codesToCheck=[grpcStatus.DEADLINE_EXCEEDED, grpcStatus.UNAVAILABLE]] - An array of gRPC status codes to check against.
|
|
119
|
+
* @returns {boolean} Whether the gRPC status code matches any of the given codes.
|
|
120
|
+
*/
|
|
121
|
+
const isStatusCodeMatched = (code, codesToCheck = [
|
|
122
|
+
grpc_js_1.status.DEADLINE_EXCEEDED,
|
|
123
|
+
grpc_js_1.status.UNAVAILABLE,
|
|
124
|
+
grpc_js_1.status.INTERNAL,
|
|
125
|
+
]) => {
|
|
126
|
+
return codesToCheck.includes(code);
|
|
127
|
+
};
|
|
128
|
+
exports.isStatusCodeMatched = isStatusCodeMatched;
|
|
129
|
+
/**
|
|
130
|
+
* Validates the number of partitions.
|
|
131
|
+
* @param {number} num_partitions - The number of partitions to validate.
|
|
132
|
+
* @throws {Error} Throws an error if the number of partitions is invalid.
|
|
133
|
+
*/
|
|
134
|
+
const validatePartitionNumbers = (num_partitions) => {
|
|
135
|
+
if (num_partitions < 1 || num_partitions > __1.MAX_PARTITIONS_NUMBER) {
|
|
136
|
+
throw new Error(__1.ERROR_REASONS.INVALID_PARTITION_NUM);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
exports.validatePartitionNumbers = validatePartitionNumbers;
|
|
140
|
+
//# sourceMappingURL=Validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Validate.js","sourceRoot":"","sources":["../../../milvus/utils/Validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,4 +19,6 @@ __exportStar(require("./Blob"), exports);
|
|
|
19
19
|
__exportStar(require("./Format"), exports);
|
|
20
20
|
__exportStar(require("./Validate"), exports);
|
|
21
21
|
__exportStar(require("./Function"), exports);
|
|
22
|
+
__exportStar(require("./Function"), exports);
|
|
23
|
+
__exportStar(require("./logger"), exports);
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../milvus/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const logger: import("winston").Logger;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.logger = void 0;
|
|
4
|
+
const winston_1 = require("winston");
|
|
5
|
+
const level = process.env.NODE_ENV === 'test' || process.env.NODE_ENV === 'development'
|
|
6
|
+
? 'debug'
|
|
7
|
+
: 'info';
|
|
8
|
+
exports.logger = (0, winston_1.createLogger)({
|
|
9
|
+
transports: [new winston_1.transports.Console()],
|
|
10
|
+
format: winston_1.format.combine(winston_1.format.colorize(), winston_1.format.timestamp(), winston_1.format.printf(({ timestamp, level, message, service }) => {
|
|
11
|
+
return `[${timestamp}] ${service} ${level}: ${message}`;
|
|
12
|
+
})),
|
|
13
|
+
defaultMeta: {
|
|
14
|
+
service: 'Milvus-sdk-node',
|
|
15
|
+
},
|
|
16
|
+
level,
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../milvus/utils/logger.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAE3D,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;IACvE,CAAC,CAAC,OAAO;IACT,CAAC,CAAC,MAAM,CAAC;AAEA,QAAA,MAAM,GAAG,IAAA,sBAAY,EAAC;IACjC,UAAU,EAAE,CAAC,IAAI,oBAAU,CAAC,OAAO,EAAE,CAAC;IACtC,MAAM,EAAE,gBAAM,CAAC,OAAO,CACpB,gBAAM,CAAC,QAAQ,EAAE,EACjB,gBAAM,CAAC,SAAS,EAAE,EAClB,gBAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACvD,OAAO,IAAI,SAAS,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;IAC1D,CAAC,CAAC,CACH;IACD,WAAW,EAAE;QACX,OAAO,EAAE,iBAAiB;KAC3B;IACD,KAAK;CACN,CAAC,CAAC"}
|
|
@@ -12,7 +12,6 @@ option csharp_namespace = "IO.Milvus.Grpc";
|
|
|
12
12
|
|
|
13
13
|
import "google/protobuf/descriptor.proto";
|
|
14
14
|
|
|
15
|
-
// Deprecated
|
|
16
15
|
enum ErrorCode {
|
|
17
16
|
Success = 0;
|
|
18
17
|
UnexpectedError = 1;
|
|
@@ -72,6 +71,9 @@ enum ErrorCode {
|
|
|
72
71
|
NotReadyServe = 56;
|
|
73
72
|
// Coord is switching from standby mode to active mode
|
|
74
73
|
NotReadyCoordActivating = 57;
|
|
74
|
+
|
|
75
|
+
NotFoundTSafer = 58;
|
|
76
|
+
|
|
75
77
|
// Service availability.
|
|
76
78
|
// NA: Not Available.
|
|
77
79
|
DataCoordNA = 100;
|
|
@@ -103,7 +105,6 @@ enum SegmentState {
|
|
|
103
105
|
message Status {
|
|
104
106
|
ErrorCode error_code = 1;
|
|
105
107
|
string reason = 2;
|
|
106
|
-
int32 code = 3;
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
message KeyValuePair {
|
|
@@ -159,9 +160,7 @@ enum MsgType {
|
|
|
159
160
|
AlterAlias = 110;
|
|
160
161
|
AlterCollection = 111;
|
|
161
162
|
RenameCollection = 112;
|
|
162
|
-
|
|
163
|
-
ListAliases = 114;
|
|
164
|
-
|
|
163
|
+
|
|
165
164
|
/* DEFINITION REQUESTS: PARTITION */
|
|
166
165
|
CreatePartition = 200;
|
|
167
166
|
DropPartition = 201;
|
|
@@ -179,8 +178,6 @@ enum MsgType {
|
|
|
179
178
|
HandoffSegments = 254;
|
|
180
179
|
LoadBalanceSegments = 255;
|
|
181
180
|
DescribeSegments = 256;
|
|
182
|
-
FederListIndexedSegment = 257;
|
|
183
|
-
FederDescribeSegmentIndexData = 258;
|
|
184
181
|
|
|
185
182
|
/* DEFINITION REQUESTS: INDEX */
|
|
186
183
|
CreateIndex = 300;
|
|
@@ -193,7 +190,6 @@ enum MsgType {
|
|
|
193
190
|
Delete = 401;
|
|
194
191
|
Flush = 402;
|
|
195
192
|
ResendSegmentStats = 403;
|
|
196
|
-
Upsert = 404;
|
|
197
193
|
|
|
198
194
|
/* QUERY */
|
|
199
195
|
Search = 500;
|
|
@@ -233,6 +229,8 @@ enum MsgType {
|
|
|
233
229
|
SegmentFlushDone = 1207;
|
|
234
230
|
|
|
235
231
|
DataNodeTt = 1208;
|
|
232
|
+
Connect = 1209;
|
|
233
|
+
ListClientInfos = 1210;
|
|
236
234
|
|
|
237
235
|
/* Credential */
|
|
238
236
|
CreateCredential = 1500;
|
|
@@ -260,6 +258,11 @@ enum MsgType {
|
|
|
260
258
|
DescribeResourceGroup = 1703;
|
|
261
259
|
TransferNode = 1704;
|
|
262
260
|
TransferReplica = 1705;
|
|
261
|
+
|
|
262
|
+
/* Database group */
|
|
263
|
+
CreateDatabase = 1801;
|
|
264
|
+
DropDatabase = 1802;
|
|
265
|
+
ListDatabases = 1803;
|
|
263
266
|
}
|
|
264
267
|
|
|
265
268
|
message MsgBase {
|
|
@@ -304,8 +307,7 @@ enum ImportState {
|
|
|
304
307
|
ImportPending = 0; // the task in in pending list of rootCoord, waiting to be executed
|
|
305
308
|
ImportFailed = 1; // the task failed for some reason, get detail reason from GetImportStateResponse.infos
|
|
306
309
|
ImportStarted = 2; // the task has been sent to datanode to execute
|
|
307
|
-
ImportPersisted = 5; // all data files have been parsed and
|
|
308
|
-
ImportFlushed = 8; // all segments are successfully flushed.
|
|
310
|
+
ImportPersisted = 5; // all data files have been parsed and data already persisted
|
|
309
311
|
ImportCompleted = 6; // all indexes are successfully built and segments are able to be compacted as normal.
|
|
310
312
|
ImportFailedAndCleaned = 7; // the task failed and all segments it generated are cleaned up.
|
|
311
313
|
}
|
|
@@ -343,7 +345,7 @@ enum ObjectPrivilege {
|
|
|
343
345
|
PrivilegeSelectOwnership = 22;
|
|
344
346
|
PrivilegeManageOwnership = 23;
|
|
345
347
|
PrivilegeSelectUser = 24;
|
|
346
|
-
|
|
348
|
+
|
|
347
349
|
PrivilegeCreateResourceGroup = 26;
|
|
348
350
|
PrivilegeDropResourceGroup = 27;
|
|
349
351
|
PrivilegeDescribeResourceGroup = 28;
|
|
@@ -352,6 +354,11 @@ enum ObjectPrivilege {
|
|
|
352
354
|
PrivilegeTransferReplica = 31;
|
|
353
355
|
PrivilegeGetLoadingProgress = 32;
|
|
354
356
|
PrivilegeGetLoadState = 33;
|
|
357
|
+
|
|
358
|
+
PrivilegeRenameCollection = 34;
|
|
359
|
+
PrivilegeCreateDatabase = 35;
|
|
360
|
+
PrivilegeDropDatabase = 36;
|
|
361
|
+
PrivilegeListDatabases = 37;
|
|
355
362
|
}
|
|
356
363
|
|
|
357
364
|
message PrivilegeExt {
|
|
@@ -380,7 +387,24 @@ enum LoadState {
|
|
|
380
387
|
LoadStateLoaded = 3;
|
|
381
388
|
}
|
|
382
389
|
|
|
383
|
-
message
|
|
384
|
-
|
|
385
|
-
|
|
390
|
+
message ClientInfo {
|
|
391
|
+
// sdk_type can be `python`, `golang`, `nodejs` and etc. It's not proper to make `sdk_type` an
|
|
392
|
+
// enumerate type, since we cannot always update the enum value everytime when newly sdk is supported.
|
|
393
|
+
string sdk_type = 1;
|
|
394
|
+
string sdk_version = 2;
|
|
395
|
+
string local_time = 3;
|
|
396
|
+
string user = 4;
|
|
397
|
+
string host = 5;
|
|
398
|
+
// reserved for newly-added feature if necessary.
|
|
399
|
+
map<string, string> reserved = 6;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
message ServerInfo {
|
|
403
|
+
string build_tags = 1;
|
|
404
|
+
string build_time = 2;
|
|
405
|
+
string git_commit = 3;
|
|
406
|
+
string go_version = 4;
|
|
407
|
+
string deploy_mode = 5;
|
|
408
|
+
// reserved for newly-added feature if necessary.
|
|
409
|
+
map<string, string> reserved = 6;
|
|
386
410
|
}
|
|
@@ -159,10 +159,9 @@ message ExtensionRangeOptions {
|
|
|
159
159
|
optional bool repeated = 6;
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
//
|
|
163
|
-
//
|
|
164
|
-
//
|
|
165
|
-
// extension range into small ranges in generated binaries.
|
|
162
|
+
// For external users: DO NOT USE. We are in the process of open sourcing
|
|
163
|
+
// extension declaration and executing internal cleanups before it can be
|
|
164
|
+
// used externally.
|
|
166
165
|
repeated Declaration declaration = 2 [retention = RETENTION_SOURCE];
|
|
167
166
|
|
|
168
167
|
// The verification state of the extension range.
|
|
@@ -768,6 +767,11 @@ message EnumValueOptions {
|
|
|
768
767
|
// this is a formalization for deprecating enum values.
|
|
769
768
|
optional bool deprecated = 1 [default = false];
|
|
770
769
|
|
|
770
|
+
// Indicate that fields annotated with this enum value should not be printed
|
|
771
|
+
// out when using debug formats, e.g. when the field contains sensitive
|
|
772
|
+
// credentials.
|
|
773
|
+
optional bool debug_redact = 3 [default = false];
|
|
774
|
+
|
|
771
775
|
// The parser stores options it doesn't recognize here. See above.
|
|
772
776
|
repeated UninterpretedOption uninterpreted_option = 999;
|
|
773
777
|
|