@enbox/dwn-sdk-js 0.3.6 → 0.3.7

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.
@@ -44,6 +44,23 @@ export class RecordsWriteHandler {
44
44
  recordId: message.recordId
45
45
  };
46
46
  const { messages: existingMessages } = await this.deps.messageStore.query(tenant, [query]);
47
+ // If the exact same message already exists, return 409 immediately.
48
+ // This prevents duplicate delivery races from re-processing large data
49
+ // streams and hitting unique constraints in SQL-backed data stores.
50
+ //
51
+ // Exception: an initial write may have been stored earlier without data
52
+ // (204). A later delivery of the same message with data must be allowed
53
+ // to complete the record.
54
+ const incomingCid = await Message.getCid(message);
55
+ for (const existingMessage of existingMessages) {
56
+ if (await Message.getCid(existingMessage) !== incomingCid) {
57
+ continue;
58
+ }
59
+ const canCompleteMissingData = await this.existingInitialWriteLacksData(tenant, existingMessage, message, dataStream !== undefined);
60
+ if (!canCompleteMissingData) {
61
+ return { status: { code: 409, detail: 'Conflict' } };
62
+ }
63
+ }
47
64
  // if the incoming write is not the initial write, then it must not modify any immutable properties defined by the initial write
48
65
  const newMessageIsInitialWrite = await recordsWrite.isInitialWrite();
49
66
  let initialWrite;
@@ -86,15 +103,8 @@ export class RecordsWriteHandler {
86
103
  // message is an initial write that lacks both inline encodedData and
87
104
  // DataStore data — indicating it was stored without data.
88
105
  let existingLacksData = false;
89
- if (newestExistingMessage !== undefined && dataStream !== undefined) {
90
- const isInitial = await RecordsWrite.isInitialWrite(newestExistingMessage);
91
- if (isInitial) {
92
- const hasInlineData = !!newestExistingMessage.encodedData;
93
- const hasStoredData = this.deps.dataStore
94
- ? !!(await this.deps.dataStore.get(tenant, recordsWrite.message.recordId, message.descriptor.dataCid))
95
- : false;
96
- existingLacksData = !hasInlineData && !hasStoredData;
97
- }
106
+ if (newestExistingMessage) {
107
+ existingLacksData = await this.existingInitialWriteLacksData(tenant, newestExistingMessage, message, dataStream !== undefined);
98
108
  }
99
109
  if (!existingLacksData) {
100
110
  return {
@@ -244,6 +254,20 @@ export class RecordsWriteHandler {
244
254
  }
245
255
  return messageWithOptionalEncodedData;
246
256
  }
257
+ async existingInitialWriteLacksData(tenant, existingMessage, incomingMessage, incomingHasData) {
258
+ if (!incomingHasData) {
259
+ return false;
260
+ }
261
+ const isInitial = await RecordsWrite.isInitialWrite(existingMessage);
262
+ if (!isInitial) {
263
+ return false;
264
+ }
265
+ const hasInlineData = !!existingMessage.encodedData;
266
+ const hasStoredData = this.deps.dataStore
267
+ ? !!(await this.deps.dataStore.get(tenant, existingMessage.recordId, incomingMessage.descriptor.dataCid))
268
+ : false;
269
+ return !hasInlineData && !hasStoredData;
270
+ }
247
271
  async processMessageWithoutDataStream(tenant, message, newestExistingWrite) {
248
272
  const messageWithOptionalEncodedData = { ...message }; // clone
249
273
  const { dataCid, dataSize } = message.descriptor;
@@ -1 +1 @@
1
- {"version":3,"file":"records-write.js","sourceRoot":"","sources":["../../../../src/handlers/records-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records-write.js","sourceRoot":"","sources":["../../../../src/handlers/records-write.ts"],"names":[],"mappings":"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"}
@@ -147,6 +147,21 @@ export function testRecordsWriteHandler() {
147
147
  expect(thirdRecordsQueryReply.entries?.length).toBe(1);
148
148
  expect(thirdRecordsQueryReply.entries[0].encodedData).toBe(newDataEncoded);
149
149
  });
150
+ it('should return 409 for an exact duplicate initial RecordsWrite with large data', async () => {
151
+ const alice = await TestDataGenerator.generateDidKeyPersona();
152
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
153
+ const dataBytes = TestDataGenerator.randomBytes(DwnConstant.maxDataSizeAllowedToBeEncoded + 1);
154
+ const { message, dataStream } = await TestDataGenerator.generateRecordsWrite({
155
+ author: alice,
156
+ data: dataBytes,
157
+ });
158
+ const firstReply = await dwn.processMessage(alice.did, message, { dataStream });
159
+ expect(firstReply.status.code).toBe(202);
160
+ const duplicateReply = await dwn.processMessage(alice.did, message, {
161
+ dataStream: DataStream.fromBytes(dataBytes),
162
+ });
163
+ expect(duplicateReply.status.code).toBe(409);
164
+ });
150
165
  it('should only be able to overwrite existing record if new message CID is larger when `messageTimestamp` value is the same', async () => {
151
166
  // start by writing an originating message
152
167
  const author = await TestDataGenerator.generatePersona();