@certik/skynet 0.10.42 → 0.10.44
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/CHANGELOG.md +9 -0
- package/dynamodb.js +16 -1
- package/indexer.js +20 -16
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.10.44
|
|
4
|
+
|
|
5
|
+
- Fixed modeIndexer delta bug
|
|
6
|
+
|
|
7
|
+
## 0.10.43
|
|
8
|
+
|
|
9
|
+
- Fixed modeIndexer one and range mode
|
|
10
|
+
- Fixed `dynamodb`.`getRecordsByKey` pagination handling bug
|
|
11
|
+
|
|
3
12
|
## 0.10.42
|
|
4
13
|
|
|
5
14
|
- Added "contentType" option for `s3`.`writeFile`
|
package/dynamodb.js
CHANGED
|
@@ -168,8 +168,23 @@ async function getRecordsByKey(tableName, keys, indexName) {
|
|
|
168
168
|
|
|
169
169
|
try {
|
|
170
170
|
data = await docClient.query(params).promise();
|
|
171
|
-
|
|
171
|
+
|
|
172
|
+
let items = data.Items;
|
|
173
|
+
|
|
174
|
+
while (data.LastEvaluatedKey) {
|
|
175
|
+
data = await docClient
|
|
176
|
+
.query({
|
|
177
|
+
ExclusiveStartKey: data.LastEvaluatedKey,
|
|
178
|
+
...params,
|
|
179
|
+
})
|
|
180
|
+
.promise();
|
|
181
|
+
|
|
182
|
+
items = items.concat(data.Items);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
return items;
|
|
172
186
|
} catch (err) {
|
|
187
|
+
console.log(err);
|
|
173
188
|
if (err.statusCode && err.statusCode === 400) {
|
|
174
189
|
return null;
|
|
175
190
|
}
|
package/indexer.js
CHANGED
|
@@ -103,6 +103,10 @@ function createModeIndexerApp({
|
|
|
103
103
|
return fillNumberRange(from, to);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
function offsetRange(from, to) {
|
|
107
|
+
return fillRange(from, to).length;
|
|
108
|
+
}
|
|
109
|
+
|
|
106
110
|
async function runMode({ mode, from, to, status, verbose, ...selectorFlags }) {
|
|
107
111
|
if (status) {
|
|
108
112
|
const stateItem = await getRecordByKey(STATE_TABLE_NAME, {
|
|
@@ -122,13 +126,13 @@ function createModeIndexerApp({
|
|
|
122
126
|
process.exit(0);
|
|
123
127
|
}
|
|
124
128
|
|
|
125
|
-
if (from
|
|
129
|
+
if (!from) {
|
|
126
130
|
from = await finalState.getMinId(selectorFlags);
|
|
127
131
|
}
|
|
128
132
|
|
|
129
133
|
inline.log(
|
|
130
134
|
`[MODE INDEXER] mode=${mode}, from=${from}, to=${
|
|
131
|
-
to
|
|
135
|
+
to ? to : "undefined"
|
|
132
136
|
}, env=${getEnvironment()}, ${toSelectorString(selectorFlags, ", ")}`
|
|
133
137
|
);
|
|
134
138
|
|
|
@@ -136,14 +140,14 @@ function createModeIndexerApp({
|
|
|
136
140
|
await runReset(selectorFlags);
|
|
137
141
|
} else if (mode === "rebuild") {
|
|
138
142
|
await runReset(selectorFlags);
|
|
139
|
-
await runRebuild(selectorFlags, from, to
|
|
143
|
+
await runRebuild(selectorFlags, from, to ? to : await finalState.getMaxId(selectorFlags), verbose);
|
|
140
144
|
} else if (mode === "resume-rebuild") {
|
|
141
145
|
const previousRebuildEnds = await getIndexerLatestId(name, selectorFlags);
|
|
142
146
|
|
|
143
147
|
await runRebuild(
|
|
144
148
|
selectorFlags,
|
|
145
149
|
previousRebuildEnds ? increaseId(finalState.type, previousRebuildEnds, 1) : from,
|
|
146
|
-
to
|
|
150
|
+
to ? to : await finalState.getMaxId(selectorFlags),
|
|
147
151
|
verbose
|
|
148
152
|
);
|
|
149
153
|
} else if (mode === "validate" || mode === "validation") {
|
|
@@ -151,17 +155,17 @@ function createModeIndexerApp({
|
|
|
151
155
|
|
|
152
156
|
const previousValidatedTo = await getIndexerValidatedId(name, selectorFlags);
|
|
153
157
|
|
|
154
|
-
const shouldSaveState = to
|
|
158
|
+
const shouldSaveState = !to;
|
|
155
159
|
|
|
156
160
|
await runValidate(
|
|
157
161
|
selectorFlags,
|
|
158
|
-
from
|
|
159
|
-
to
|
|
162
|
+
from ? from : previousValidatedTo,
|
|
163
|
+
to ? to : previousRebuildEnds,
|
|
160
164
|
shouldSaveState,
|
|
161
165
|
verbose
|
|
162
166
|
);
|
|
163
167
|
} else if (mode === "one") {
|
|
164
|
-
if (to
|
|
168
|
+
if (to) {
|
|
165
169
|
inline.log("[MODE INDEXER] one mode ignores --to option. you may want to use range mode instead");
|
|
166
170
|
}
|
|
167
171
|
await runRange(selectorFlags, from, from, verbose);
|
|
@@ -265,7 +269,7 @@ function createModeIndexerApp({
|
|
|
265
269
|
}
|
|
266
270
|
|
|
267
271
|
inline.log(
|
|
268
|
-
`[MODE INDEXER] validated ${
|
|
272
|
+
`[MODE INDEXER] validated ${offsetRange(from, to)} ${finalState.type} successfully in ${Date.now() - startTime}ms`
|
|
269
273
|
);
|
|
270
274
|
}
|
|
271
275
|
|
|
@@ -367,13 +371,15 @@ function createModeIndexerApp({
|
|
|
367
371
|
|
|
368
372
|
if (failedIds.length > 0) {
|
|
369
373
|
inline.log(
|
|
370
|
-
`[MODE INDEXER] built ${
|
|
374
|
+
`[MODE INDEXER] built ${offsetRange(from, to)} ${finalState.type}(s) with some failed ${finalState.type}`,
|
|
371
375
|
failedIds
|
|
372
376
|
);
|
|
373
377
|
process.exit(1);
|
|
374
378
|
} else {
|
|
375
379
|
inline.log(
|
|
376
|
-
`[MODE INDEXER] built ${
|
|
380
|
+
`[MODE INDEXER] built ${offsetRange(from, to)} ${finalState.type}(s) successfully in ${
|
|
381
|
+
Date.now() - startTime
|
|
382
|
+
}ms`
|
|
377
383
|
);
|
|
378
384
|
process.exit(0);
|
|
379
385
|
}
|
|
@@ -386,7 +392,7 @@ function createModeIndexerApp({
|
|
|
386
392
|
|
|
387
393
|
// only build when rebuild succeed
|
|
388
394
|
if (stateItem && stateItem.value === "succeed") {
|
|
389
|
-
const from = (await getIndexerLatestId(name, selectorFlags)
|
|
395
|
+
const from = increaseId(finalState.type, await getIndexerLatestId(name, selectorFlags), 1);
|
|
390
396
|
|
|
391
397
|
const startTime = Date.now();
|
|
392
398
|
const to = await state.getMaxId(selectorFlags);
|
|
@@ -504,13 +510,11 @@ ${getSelectorDesc(selector)}
|
|
|
504
510
|
},
|
|
505
511
|
from: {
|
|
506
512
|
alias: "since",
|
|
507
|
-
type: "
|
|
508
|
-
default: 0,
|
|
513
|
+
type: "string",
|
|
509
514
|
},
|
|
510
515
|
to: {
|
|
511
516
|
alias: "until",
|
|
512
|
-
type: "
|
|
513
|
-
default: 0,
|
|
517
|
+
type: "string",
|
|
514
518
|
},
|
|
515
519
|
status: {
|
|
516
520
|
type: "boolean",
|