@squiz/db-lib 1.72.0 → 1.73.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractDynamoDbRepository.spec.js","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractDynamoDbRepository.spec.js","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@squiz/db-lib",
3
- "version": "1.72.0",
3
+ "version": "1.73.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -16,6 +16,8 @@ import {
16
16
  TransactWriteCommandInput,
17
17
  BatchGetCommand,
18
18
  BatchGetCommandInput,
19
+ BatchWriteCommand,
20
+ BatchWriteCommandInput,
19
21
  } from '@aws-sdk/lib-dynamodb';
20
22
  import { ConditionalCheckFailedException } from '@aws-sdk/client-dynamodb';
21
23
  import { DynamoDbManager, Transaction } from './DynamoDbManager';
@@ -557,6 +559,156 @@ describe('AbstractRepository', () => {
557
559
  ]);
558
560
  });
559
561
 
562
+ it('should retry if unprocessed keys returned', async () => {
563
+ const input1: BatchGetCommandInput = {
564
+ RequestItems: {
565
+ [TABLE_NAME]: {
566
+ Keys: [
567
+ { pk: 'test_item#foo', sk: '#meta' },
568
+ { pk: 'test_item#foo2', sk: '#meta' },
569
+ ],
570
+ },
571
+ },
572
+ };
573
+ const input2: BatchGetCommandInput = {
574
+ RequestItems: {
575
+ [TABLE_NAME]: {
576
+ Keys: [{ pk: 'test_item#foo2', sk: '#meta' }],
577
+ },
578
+ },
579
+ };
580
+
581
+ ddbClientMock.on(BatchGetCommand, input1).resolves({
582
+ $metadata: {
583
+ httpStatusCode: 200,
584
+ },
585
+ Responses: {
586
+ [TABLE_NAME]: [
587
+ {
588
+ name: 'foo',
589
+ age: 99,
590
+ country: 'au',
591
+ data: {},
592
+ data2: '{"foo":"bar","num":123}',
593
+ },
594
+ ],
595
+ },
596
+ UnprocessedKeys: {
597
+ [TABLE_NAME]: {
598
+ Keys: [{ pk: 'test_item#foo2', sk: '#meta' }],
599
+ },
600
+ },
601
+ });
602
+
603
+ ddbClientMock.on(BatchGetCommand, input2).resolves({
604
+ $metadata: {
605
+ httpStatusCode: 200,
606
+ },
607
+ Responses: {
608
+ [TABLE_NAME]: [
609
+ {
610
+ name: 'foo2',
611
+ age: 999,
612
+ country: 'au',
613
+ data: {},
614
+ data2: '{"foo":"bar","num":123}',
615
+ },
616
+ ],
617
+ },
618
+ UnprocessedKeys: {},
619
+ });
620
+
621
+ const requestItems = [{ name: 'foo' }, { name: 'foo2' }];
622
+ const result = await repository.getItems(requestItems);
623
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(1, BatchGetCommand, input1);
624
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(2, BatchGetCommand, input2);
625
+ expect(result).toEqual([
626
+ new TestItem({
627
+ name: 'foo',
628
+ age: 99,
629
+ country: 'au',
630
+ data: {},
631
+ data2: {
632
+ foo: 'bar',
633
+ num: 123,
634
+ },
635
+ }),
636
+ new TestItem({
637
+ name: 'foo2',
638
+ age: 999,
639
+ country: 'au',
640
+ data: {},
641
+ data2: {
642
+ foo: 'bar',
643
+ num: 123,
644
+ },
645
+ }),
646
+ ]);
647
+ });
648
+
649
+ it('should fail after max retries for unprocessed keys', async () => {
650
+ const input1: BatchGetCommandInput = {
651
+ RequestItems: {
652
+ [TABLE_NAME]: {
653
+ Keys: [
654
+ { pk: 'test_item#foo', sk: '#meta' },
655
+ { pk: 'test_item#foo2', sk: '#meta' },
656
+ ],
657
+ },
658
+ },
659
+ };
660
+ const input2: BatchGetCommandInput = {
661
+ RequestItems: {
662
+ [TABLE_NAME]: {
663
+ Keys: [{ pk: 'test_item#foo2', sk: '#meta' }],
664
+ },
665
+ },
666
+ };
667
+
668
+ ddbClientMock.on(BatchGetCommand, input1).resolves({
669
+ $metadata: {
670
+ httpStatusCode: 200,
671
+ },
672
+ Responses: {
673
+ [TABLE_NAME]: [
674
+ {
675
+ name: 'foo',
676
+ age: 99,
677
+ country: 'au',
678
+ data: {},
679
+ data2: '{"foo":"bar","num":123}',
680
+ },
681
+ ],
682
+ },
683
+ UnprocessedKeys: {
684
+ [TABLE_NAME]: {
685
+ Keys: [{ pk: 'test_item#foo2', sk: '#meta' }],
686
+ },
687
+ },
688
+ });
689
+
690
+ ddbClientMock.on(BatchGetCommand, input2).resolves({
691
+ $metadata: {
692
+ httpStatusCode: 200,
693
+ },
694
+ Responses: {},
695
+ UnprocessedKeys: {
696
+ [TABLE_NAME]: {
697
+ Keys: [{ pk: 'test_item#foo2', sk: '#meta' }],
698
+ },
699
+ },
700
+ });
701
+
702
+ const requestItems = [{ name: 'foo' }, { name: 'foo2' }];
703
+ await expect(repository.getItems(requestItems)).rejects.toEqual(
704
+ new Error('Maximum allowed retries exceeded for unprocessed items'),
705
+ );
706
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(1, BatchGetCommand, input1);
707
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(2, BatchGetCommand, input2);
708
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(3, BatchGetCommand, input2);
709
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(4, BatchGetCommand, input2);
710
+ });
711
+
560
712
  it('should request BatchGetItem in batch of 100 items to get result', async () => {
561
713
  ddbClientMock.on(BatchGetCommand).resolves({
562
714
  $metadata: {
@@ -608,6 +760,207 @@ describe('AbstractRepository', () => {
608
760
  });
609
761
  });
610
762
 
763
+ describe('deleteItems()', () => {
764
+ it('should use batchWrite() to get result', async () => {
765
+ ddbClientMock.on(BatchWriteCommand).resolves({
766
+ $metadata: {
767
+ httpStatusCode: 200,
768
+ },
769
+ ItemCollectionMetrics: {
770
+ [TABLE_NAME]: [{}],
771
+ },
772
+ });
773
+ const input: BatchWriteCommandInput = {
774
+ RequestItems: {
775
+ [TABLE_NAME]: [
776
+ {
777
+ DeleteRequest: {
778
+ Key: { pk: 'test_item#foo', sk: '#meta' },
779
+ },
780
+ },
781
+ {
782
+ DeleteRequest: {
783
+ Key: { pk: 'test_item#foo2', sk: '#meta' },
784
+ },
785
+ },
786
+ ],
787
+ },
788
+ };
789
+
790
+ const requestItems = [{ name: 'foo' }, { name: 'foo2' }];
791
+ await repository.deleteItems(requestItems);
792
+ expect(ddbClientMock).toHaveReceivedCommandWith(BatchWriteCommand, input);
793
+ });
794
+
795
+ it('should use re-try if unprocessed items returned', async () => {
796
+ const input1: BatchWriteCommandInput = {
797
+ RequestItems: {
798
+ [TABLE_NAME]: [
799
+ {
800
+ DeleteRequest: {
801
+ Key: { pk: 'test_item#foo', sk: '#meta' },
802
+ },
803
+ },
804
+ {
805
+ DeleteRequest: {
806
+ Key: { pk: 'test_item#foo2', sk: '#meta' },
807
+ },
808
+ },
809
+ ],
810
+ },
811
+ };
812
+ const input2: BatchWriteCommandInput = {
813
+ RequestItems: {
814
+ [TABLE_NAME]: [
815
+ {
816
+ DeleteRequest: {
817
+ Key: { pk: 'test_item#foo2', sk: '#meta' },
818
+ },
819
+ },
820
+ ],
821
+ },
822
+ };
823
+
824
+ ddbClientMock.on(BatchWriteCommand, input1).resolves({
825
+ $metadata: {
826
+ httpStatusCode: 200,
827
+ },
828
+ UnprocessedItems: {
829
+ [TABLE_NAME]: [
830
+ {
831
+ DeleteRequest: {
832
+ Key: { pk: 'test_item#foo2', sk: '#meta' },
833
+ },
834
+ },
835
+ ],
836
+ },
837
+ });
838
+ ddbClientMock.on(BatchWriteCommand, input2).resolves({
839
+ $metadata: {
840
+ httpStatusCode: 200,
841
+ },
842
+ UnprocessedItems: {},
843
+ });
844
+
845
+ const requestItems = [{ name: 'foo' }, { name: 'foo2' }];
846
+ await repository.deleteItems(requestItems);
847
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(1, BatchWriteCommand, input1);
848
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(2, BatchWriteCommand, input2);
849
+ });
850
+
851
+ it('should fail after max number of retries', async () => {
852
+ const input1: BatchWriteCommandInput = {
853
+ RequestItems: {
854
+ [TABLE_NAME]: [
855
+ {
856
+ DeleteRequest: {
857
+ Key: { pk: 'test_item#foo', sk: '#meta' },
858
+ },
859
+ },
860
+ {
861
+ DeleteRequest: {
862
+ Key: { pk: 'test_item#foo2', sk: '#meta' },
863
+ },
864
+ },
865
+ ],
866
+ },
867
+ };
868
+ const input2: BatchWriteCommandInput = {
869
+ RequestItems: {
870
+ [TABLE_NAME]: [
871
+ {
872
+ DeleteRequest: {
873
+ Key: { pk: 'test_item#foo2', sk: '#meta' },
874
+ },
875
+ },
876
+ ],
877
+ },
878
+ };
879
+
880
+ ddbClientMock.on(BatchWriteCommand).resolves({
881
+ $metadata: {
882
+ httpStatusCode: 200,
883
+ },
884
+ UnprocessedItems: {
885
+ [TABLE_NAME]: [
886
+ {
887
+ DeleteRequest: {
888
+ Key: { pk: 'test_item#foo2', sk: '#meta' },
889
+ },
890
+ },
891
+ ],
892
+ },
893
+ });
894
+
895
+ const requestItems = [{ name: 'foo' }, { name: 'foo2' }];
896
+ await expect(repository.deleteItems(requestItems)).rejects.toEqual(
897
+ new Error('Maximum allowed retries exceeded for unprocessed items'),
898
+ );
899
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(1, BatchWriteCommand, input1);
900
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(2, BatchWriteCommand, input2);
901
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(3, BatchWriteCommand, input2);
902
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(4, BatchWriteCommand, input2);
903
+ });
904
+
905
+ it('should request batchWrite in batch of 25 items to get result', async () => {
906
+ ddbClientMock.on(BatchWriteCommand).resolves({
907
+ $metadata: {
908
+ httpStatusCode: 200,
909
+ },
910
+ });
911
+
912
+ const requestItems = [];
913
+ for (let i = 0; i < 30; i++) {
914
+ requestItems.push({ name: `foo${i}` });
915
+ }
916
+ // keys for first batch request
917
+ const keys1 = [];
918
+ for (let i = 0; i < 25; i++) {
919
+ keys1.push({ pk: `test_item#foo${i}`, sk: '#meta' });
920
+ }
921
+ // keys for second batch request
922
+ const keys2 = [];
923
+ for (let i = 25; i < 30; i++) {
924
+ keys2.push({ pk: `test_item#foo${i}`, sk: '#meta' });
925
+ }
926
+
927
+ const input1: BatchWriteCommandInput = {
928
+ RequestItems: {
929
+ [TABLE_NAME]: keys1.map((key) => {
930
+ return {
931
+ DeleteRequest: {
932
+ Key: key,
933
+ },
934
+ };
935
+ }),
936
+ },
937
+ };
938
+ const input2: BatchWriteCommandInput = {
939
+ RequestItems: {
940
+ [TABLE_NAME]: keys2.map((key) => {
941
+ return {
942
+ DeleteRequest: {
943
+ Key: key,
944
+ },
945
+ };
946
+ }),
947
+ },
948
+ };
949
+
950
+ await repository.deleteItems(requestItems);
951
+ expect(ddbClientMock).toHaveReceivedCommandTimes(BatchWriteCommand, 2);
952
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(1, BatchWriteCommand, input1);
953
+ expect(ddbClientMock).toHaveReceivedNthCommandWith(2, BatchWriteCommand, input2);
954
+ });
955
+
956
+ it('should throw error if any input item does not includes key field(s)', async () => {
957
+ const requestItems = [{ name: 'foo' }, { age: 22 }];
958
+ await expect(repository.deleteItems(requestItems)).rejects.toEqual(
959
+ new MissingKeyValuesError('Key field "name" must be specified in the input item in entity test-item-entity'),
960
+ );
961
+ });
962
+ });
963
+
611
964
  describe('queryItems()', () => {
612
965
  it('should return the items if found', async () => {
613
966
  ddbClientMock.on(QueryCommand).resolves({
@@ -4,6 +4,10 @@ import {
4
4
  UpdateCommandOutput,
5
5
  PutCommandInput,
6
6
  DeleteCommandInput,
7
+ BatchWriteCommandInput,
8
+ BatchWriteCommandOutput,
9
+ BatchGetCommandInput,
10
+ BatchGetCommandOutput,
7
11
  } from '@aws-sdk/lib-dynamodb';
8
12
 
9
13
  import { Transaction, DynamoDbManager, MissingKeyValuesError, InvalidDbSchemaError } from '..';
@@ -30,14 +34,15 @@ export type QueryOptions = {
30
34
 
31
35
  interface Reader<T> {
32
36
  queryItems(partialItem: Partial<T>, options?: QueryOptions): Promise<T[]>;
33
-
34
37
  getItem(id: string | Partial<T>): Promise<T | undefined>;
38
+ getItems(partialItem: Partial<T>[]): Promise<T[]>;
35
39
  }
36
40
 
37
41
  interface Writer<T> {
38
42
  createItem(item: Partial<T>): Promise<T>;
39
43
  updateItem(partialItem: Partial<T>): Promise<T | undefined>;
40
44
  deleteItem(partialItem: Partial<T>): Promise<number>;
45
+ deleteItems(partialItem: Partial<T>[]): Promise<void>;
41
46
  }
42
47
 
43
48
  type Repository<T> = Reader<T> & Writer<T>;
@@ -65,6 +70,8 @@ export type EntityDefinition = {
65
70
  fieldsAsJsonString: string[];
66
71
  };
67
72
 
73
+ const MAX_REATTEMPTS = 3;
74
+
68
75
  export abstract class AbstractDynamoDbRepository<SHAPE extends object, DATA_CLASS extends SHAPE>
69
76
  implements Reader<SHAPE>, Writer<SHAPE>
70
77
  {
@@ -153,25 +160,84 @@ export abstract class AbstractDynamoDbRepository<SHAPE extends object, DATA_CLAS
153
160
  * @returns
154
161
  */
155
162
  private async getBatchItems(items: Partial<SHAPE>[]): Promise<DATA_CLASS[]> {
156
- const keys: Record<string, string>[] = [];
163
+ let resultItems: DATA_CLASS[] = [];
164
+
165
+ let requestKeys: BatchGetCommandInput['RequestItems'] = {
166
+ [this.tableName]: {
167
+ Keys: this.getBatchKeys(items),
168
+ },
169
+ };
170
+ let reattemptsCount = 0;
171
+ while (requestKeys && Object.keys(requestKeys).length) {
172
+ if (reattemptsCount++ > MAX_REATTEMPTS) {
173
+ throw Error('Maximum allowed retries exceeded for unprocessed items');
174
+ }
175
+ const output: BatchGetCommandOutput = await this.client.batchGet({
176
+ RequestItems: requestKeys,
177
+ });
178
+ requestKeys = output.UnprocessedKeys;
179
+ if (output.Responses && output.Responses[this.tableName] && output.Responses[this.tableName].length) {
180
+ resultItems = resultItems.concat(output.Responses[this.tableName].map((i) => this.hydrateItem(i)));
181
+ }
182
+ }
183
+
184
+ return resultItems;
185
+ }
186
+
187
+ /**
188
+ * Delete items in a batch
189
+ * Uses batchWrite() with 25 items
190
+ *
191
+ * @param item
192
+ *
193
+ * @throws MissingKeyValuesError
194
+ */
195
+ public async deleteItems(items: Partial<SHAPE>[]): Promise<void> {
196
+ // this is the maximum items allowed by BatchWriteItem()
197
+ const batchSize = 25;
198
+
199
+ for (let i = 0; i < items.length; i += batchSize) {
200
+ const keys = this.getBatchKeys(items.slice(i, i + batchSize));
201
+ await this.deleteBatchItems(keys);
202
+ }
203
+ }
204
+
205
+ private async deleteBatchItems(keys: { [key: string]: string }[]): Promise<void> {
206
+ let requestItems: BatchWriteCommandInput['RequestItems'] = {
207
+ [this.tableName]: Object.values(keys).map((key) => {
208
+ return {
209
+ DeleteRequest: {
210
+ Key: key,
211
+ },
212
+ };
213
+ }),
214
+ };
215
+ let reattemptsCount = 0;
216
+ while (requestItems && Object.keys(requestItems).length) {
217
+ if (reattemptsCount++ > MAX_REATTEMPTS) {
218
+ throw Error('Maximum allowed retries exceeded for unprocessed items');
219
+ }
220
+ const response: BatchWriteCommandOutput = await this.client.batchWrite({
221
+ RequestItems: requestItems,
222
+ });
223
+ requestItems = response.UnprocessedItems;
224
+ }
225
+ }
226
+
227
+ private getBatchKeys(items: Partial<SHAPE>[]) {
228
+ const keys: { [key: string]: string }[] = [];
157
229
  for (const item of items) {
158
230
  keys.push({
159
231
  [this.keys.pk.attributeName]: this.getPk(item),
160
232
  [this.keys.sk.attributeName]: this.getSk(item),
161
233
  });
162
234
  }
163
- const output = await this.client.batchGet({
164
- RequestItems: {
165
- [this.tableName]: {
166
- Keys: keys,
167
- },
168
- },
169
- });
235
+ // keys.push({
236
+ // [this.keys.pk.attributeName]: 'foo1',
237
+ // [this.keys.sk.attributeName]: 'foo2',
238
+ // });
170
239
 
171
- if (output.Responses && output.Responses[this.tableName].length) {
172
- return output.Responses[this.tableName].map((i) => this.hydrateItem(i));
173
- }
174
- return [];
240
+ return keys;
175
241
  }
176
242
 
177
243
  /**