@spine-event-engine/storage-datastore 2.0.0-snapshot.23 → 2.0.0-snapshot.24

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.
@@ -16,10 +16,9 @@ import {} from "@bufbuild/protobuf/wkt";
16
16
  import { EventSchema } from "@spine-event-engine/proto";
17
17
  import { EntityRecordSchema, } from "@spine-event-engine/proto/generated/spine/server/entity/entity_pb.js";
18
18
  import { eventStoreRecordSpec } from "@spine-event-engine/storage/provider";
19
- import { disabledEventHistoryPort, disabledStateHistoryPort, eventHistorySpec, stateHistorySpec, } from "@spine-event-engine/storage/provider";
19
+ import { disabledEventHistoryPort, disabledStateHistoryPort, eventHistorySpec, stateHistorySpec, EntityCommitSnapshots, } from "@spine-event-engine/storage/provider";
20
20
  import { RecordSpec } from "@spine-event-engine/storage";
21
21
  import { TenantBoundary } from "@spine-event-engine/storage/provider";
22
- import { Datastore } from "@google-cloud/datastore";
23
22
  import { DatastoreRecordStorage } from "./record-storage.js";
24
23
  /**
25
24
  * Groups Entity current and optional history record families.
@@ -84,177 +83,107 @@ export class DatastoreEntityStorage {
84
83
  }
85
84
  }
86
85
  /**
87
- * Coordinates an Entity mutation through one Datastore transaction.
86
+ * Writes one Datastore Entity mutation in independent record order.
88
87
  */
89
88
  export class DatastoreEntityCommitStorage {
90
89
  input;
91
90
  openRecords;
92
91
  #open = true;
93
92
  /**
94
- * Creates transactional commit storage for one Entity persistence contract.
93
+ * Creates commit storage for one Entity persistence contract.
95
94
  *
96
- * @param input The Entity persistence contract served by this instance.
97
- * @param openRecords The function that opens generated record families.
95
+ * @param input Defines the Entity source and tenant boundary.
96
+ * @param openRecords Opens each generated record family.
98
97
  */
99
98
  constructor(input, openRecords) {
100
99
  this.input = input;
101
100
  this.openRecords = openRecords;
102
101
  }
103
102
  /**
104
- * Commits one Entity state transition and its generated history records.
103
+ * Writes histories and delivery Events before the current Entity record.
104
+ *
105
+ * A failed save may leave a completed prefix. One transient retry replays
106
+ * captured records with the same versions and Event IDs.
105
107
  *
106
108
  * @typeParam I Entity identifier type.
107
109
  * @typeParam S Entity state message type.
108
- * @param input The Entity mutation to commit.
109
- * @returns Completion after Datastore commits the mutation.
110
+ * @param input Supplies the prepared Entity mutation.
111
+ * @returns Completion after every requested record write.
110
112
  */
111
113
  async commit(input) {
112
114
  this.validate(input);
113
- const current = this.openRecords(input.entity.recordSpec);
114
- const stateLayout = stateHistorySpec(input.entity.stateSchema);
115
- const diagnosticLayout = eventHistorySpec(input.entity.stateSchema);
116
- const states = input.entity.stateHistory
115
+ const prepared = EntityCommitSnapshots.capture(input);
116
+ const current = this.openRecords(prepared.entity.recordSpec);
117
+ const stateLayout = stateHistorySpec(prepared.entity.stateSchema);
118
+ const diagnosticLayout = eventHistorySpec(prepared.entity.stateSchema);
119
+ const states = prepared.states?.length
117
120
  ? this.openRecords(stateLayout.spec, stateLayout.group)
118
121
  : undefined;
119
- const diagnostics = input.entity.eventHistory
122
+ const diagnostics = prepared.diagnostics?.length
120
123
  ? this.openRecords(diagnosticLayout.spec, diagnosticLayout.group)
121
124
  : undefined;
122
- const events = this.openRecords(eventStoreRecordSpec);
125
+ const events = prepared.events?.length ? this.openRecords(eventStoreRecordSpec) : undefined;
123
126
  try {
124
- await this.run(input, current, states, diagnostics, events);
125
- }
126
- finally {
127
- this.closeRecords(current, states, diagnostics, events);
128
- }
129
- }
130
- /**
131
- * Retries the prepared Datastore transaction after bounded aborts.
132
- *
133
- * @typeParam I Entity identifier type.
134
- * @typeParam S Entity state type.
135
- * @param input Supplies current and immutable records.
136
- * @param current Provides current Entity storage.
137
- * @param states Provides state history when enabled.
138
- * @param diagnostics Provides diagnostic history when enabled.
139
- * @param events Provides delivery Event storage.
140
- * @returns Completion after a successful transaction.
141
- */
142
- async run(input, current, states, diagnostics, events) {
143
- const prepared = this.prepare(input, current, states, diagnostics, events);
144
- validateCommitSize(prepared.map((row) => row.entity));
145
- for (let attempt = 0; attempt < 3; attempt += 1) {
146
127
  try {
147
- await this.tryCommit(current, prepared);
148
- return;
128
+ await this.apply(prepared, current, states, diagnostics, events);
149
129
  }
150
130
  catch (error) {
151
- if (isAborted(error) && attempt < 2) {
152
- await abortBackoff(attempt);
153
- continue;
154
- }
155
- throw entityTransactionError(error);
131
+ if (!this.retryable(error))
132
+ throw error;
133
+ await this.apply(prepared, current, states, diagnostics, events);
156
134
  }
157
135
  }
158
- throw new Error("Datastore transaction did not complete.");
159
- }
160
- /**
161
- * Builds affected rows before opening a transaction.
162
- *
163
- * @typeParam I Entity identifier type.
164
- * @param input Supplies records to materialize.
165
- * @param current Provides current Entity storage.
166
- * @param states Provides state history when enabled.
167
- * @param diagnostics Provides diagnostic history when enabled.
168
- * @param events Provides delivery Event storage.
169
- * @returns Deduplicated rows for the transaction.
170
- */
171
- prepare(input, current, states, diagnostics, events) {
172
- return coalesceImmutableRows([
173
- ...preparedRows(current, [input.next], false),
174
- ...preparedRows(states, input.states ?? [], true),
175
- ...preparedRows(diagnostics, input.diagnostics ?? [], true),
176
- ...preparedRows(events, input.events ?? [], true),
177
- ]);
178
- }
179
- /**
180
- * Applies one prepared transaction attempt and rolls back on failure.
181
- *
182
- * @typeParam I Entity identifier type.
183
- * @param current Opens a transaction for the Entity scope.
184
- * @param prepared Supplies current and immutable rows.
185
- * @returns Completion after the transaction commits.
186
- */
187
- async tryCommit(current, prepared) {
188
- const transaction = current.transaction();
189
- try {
190
- await transaction.run();
191
- const values = await this.load(transaction, prepared);
192
- this.validateImmutable(prepared, values);
193
- this.apply(transaction, prepared, values);
194
- await transaction.commit();
195
- }
196
- catch (error) {
197
- await rollback(transaction);
198
- throw error;
136
+ finally {
137
+ current.close();
138
+ states?.close();
139
+ diagnostics?.close();
140
+ events?.close();
199
141
  }
200
142
  }
201
143
  /**
202
- * Loads affected keys in stable order within one transaction.
144
+ * Writes independent record families in Entity commit order.
203
145
  *
204
- * @param transaction Supplies the active Datastore transaction.
205
- * @param prepared Supplies affected rows.
206
- * @returns Existing data indexed by key.
207
- */
208
- async load(transaction, prepared) {
209
- const keys = [...uniqueKeys(prepared.map((row) => row.entity.key))].sort((left, right) => keyId(left).localeCompare(keyId(right)));
210
- const values = [];
211
- for (const key of keys)
212
- values.push([
213
- keyId(key),
214
- first(await transaction.get(key)),
215
- ]);
216
- return new Map(values);
217
- }
218
- /**
219
- * Rejects divergent data already stored under immutable keys.
220
- *
221
- * @param prepared Supplies proposed immutable rows.
222
- * @param values Supplies existing data for affected keys.
223
- */
224
- validateImmutable(prepared, values) {
225
- for (const row of prepared.filter((item) => item.immutable)) {
226
- const previous = values.get(keyId(row.entity.key));
227
- if (previous !== undefined && !sameData(previous, row.entity.data))
228
- throw new Error("Immutable history record has divergent content.");
229
- }
230
- }
231
- /**
232
- * Writes missing immutable rows and changed current state in the transaction.
146
+ * @typeParam I Entity identifier type.
147
+ * @typeParam S Entity state message type.
148
+ * @param input Supplies immutable prepared records.
149
+ * @param current Stores current Entity state.
150
+ * @param states Stores state history when requested.
151
+ * @param diagnostics Stores diagnostic Events when requested.
152
+ * @param events Stores delivery Events when requested.
153
+ * @returns Completion after every requested record write.
154
+ */
155
+ async apply(input, current, states, diagnostics, events) {
156
+ if (states !== undefined)
157
+ for (const record of input.states ?? [])
158
+ await immutable(states, record);
159
+ if (diagnostics !== undefined)
160
+ for (const event of input.diagnostics ?? [])
161
+ await immutable(diagnostics, event);
162
+ if (events !== undefined)
163
+ for (const event of input.events ?? [])
164
+ await immutable(events, event);
165
+ const previous = await current.read(input.entityId);
166
+ if (previous === undefined ||
167
+ !same(toBinary(EntityRecordSchema, previous), toBinary(EntityRecordSchema, input.next)))
168
+ await current.write(input.next);
169
+ }
170
+ /**
171
+ * Determines whether a Datastore abort occurred through provider error causes.
233
172
  *
234
- * @param transaction Supplies the active Datastore transaction.
235
- * @param prepared Supplies current and immutable rows.
236
- * @param values Supplies existing data for affected keys.
237
- */
238
- apply(transaction, prepared, values) {
239
- for (const row of prepared) {
240
- const previous = values.get(keyId(row.entity.key));
241
- if (previous === undefined || (!row.immutable && !sameData(previous, row.entity.data)))
242
- transaction.save(row.entity);
173
+ * @param error Supplies the operation failure.
174
+ * @returns Whether one captured-input replay is safe.
175
+ */
176
+ retryable(error) {
177
+ let current = error;
178
+ for (let depth = 0; depth < 4; depth += 1) {
179
+ if (typeof current !== "object" || current === null)
180
+ return false;
181
+ const failure = current;
182
+ if (failure.code === 10)
183
+ return true;
184
+ current = failure.cause;
243
185
  }
244
- }
245
- /**
246
- * Closes temporary record-family handles after the commit attempt.
247
- *
248
- * @param current Supplies current Entity storage.
249
- * @param states Supplies state history when enabled.
250
- * @param diagnostics Supplies diagnostic history when enabled.
251
- * @param events Supplies delivery Event storage.
252
- */
253
- closeRecords(current, states, diagnostics, events) {
254
- current.close();
255
- states?.close();
256
- diagnostics?.close();
257
- events.close();
186
+ return false;
258
187
  }
259
188
  /**
260
189
  * Closes this commit storage to further commits.
@@ -273,12 +202,15 @@ export class DatastoreEntityCommitStorage {
273
202
  if (!this.#open)
274
203
  throw new Error("Entity commit storage is closed.");
275
204
  if (input.entity.sourceType.typeName !== this.input.sourceType.typeName ||
276
- TenantBoundary.of(input.context).key !== TenantBoundary.of(this.input.context).key)
205
+ input.entity.stateSchema.typeName !== this.input.stateSchema.typeName ||
206
+ TenantBoundary.of(input.context).key !== TenantBoundary.of(this.input.context).key ||
207
+ TenantBoundary.of(input.entity.context).key !== TenantBoundary.of(this.input.context).key)
277
208
  throw new Error("Entity commit handle cannot commit another Entity source or tenant.");
278
209
  validateCommitEntityId(input);
279
- if ((input.states?.length ?? 0) > 0 && !input.entity.stateHistory)
210
+ if ((input.states?.length ?? 0) > 0 && (!this.input.stateHistory || !input.entity.stateHistory))
280
211
  throw new Error("Entity commit cannot append state history when it is disabled.");
281
- if ((input.diagnostics?.length ?? 0) > 0 && !input.entity.eventHistory)
212
+ if ((input.diagnostics?.length ?? 0) > 0 &&
213
+ (!this.input.eventHistory || !input.entity.eventHistory))
282
214
  throw new Error("Entity commit cannot append event history when it is disabled.");
283
215
  validateEvents(input.events ?? []);
284
216
  }
@@ -617,58 +549,17 @@ class EventHistory {
617
549
  */
618
550
  async function immutable(records, record) {
619
551
  const id = records.recordSpec.idValueIn(record);
620
- if (await records.compareAndSet(id, undefined, record))
621
- return;
622
- const existing = await records.read(id);
623
- if (existing === undefined)
624
- throw new Error("Immutable history record was not retained.");
625
- if (!same(toBinary(records.recordSpec.recordType, existing), toBinary(records.recordSpec.recordType, record)))
626
- throw new Error("Immutable history record has divergent content.");
627
- }
628
- /**
629
- * Prepares Datastore rows for one record family.
630
- *
631
- * @typeParam I Record identifier type.
632
- * @typeParam R Stored Protobuf message type.
633
- * @param storage Provides the record-family handle when enabled.
634
- * @param records Supplies records to prepare.
635
- * @param immutable Marks whether existing rows must remain unchanged.
636
- * @returns The prepared rows for the transaction.
637
- */
638
- function preparedRows(storage, records, immutable) {
639
- if (storage === undefined) {
640
- if (records.length > 0)
641
- throw new Error("Entity commit history is disabled.");
642
- return [];
643
- }
644
- return records.map((record) => ({
645
- storage,
646
- record,
647
- immutable,
648
- entity: storage.transactionEntity(record),
649
- }));
650
- }
651
- /**
652
- * Removes duplicate immutable rows and rejects conflicting content.
653
- *
654
- * @typeParam R Prepared row type.
655
- * @param rows Supplies prepared current and history rows.
656
- * @returns Rows with duplicate immutable keys removed.
657
- */
658
- function coalesceImmutableRows(rows) {
659
- const seen = new Map();
660
- return rows.filter((row) => {
661
- if (!row.immutable)
662
- return true;
663
- const previous = seen.get(keyId(row.entity.key));
664
- if (previous === undefined) {
665
- seen.set(keyId(row.entity.key), row);
666
- return true;
667
- }
668
- if (!sameData(previous.entity.data, row.entity.data))
552
+ for (let attempt = 0; attempt < 3; attempt += 1) {
553
+ if (await records.compareAndSet(id, undefined, record))
554
+ return;
555
+ const existing = await records.read(id);
556
+ if (existing === undefined)
557
+ continue;
558
+ if (!same(toBinary(records.recordSpec.recordType, existing), toBinary(records.recordSpec.recordType, record)))
669
559
  throw new Error("Immutable history record has divergent content.");
670
- return false;
671
- });
560
+ return;
561
+ }
562
+ throw new Error("Immutable history record was not retained.");
672
563
  }
673
564
  function same(left, right) {
674
565
  return left.length === right.length && left.every((value, index) => value === right[index]);
@@ -699,61 +590,6 @@ function numberFilter(property, operator, value) {
699
590
  function timestampFilter(property, operator, value) {
700
591
  return { property, operator, value };
701
592
  }
702
- function first(value) {
703
- return Array.isArray(value) ? value[0] : undefined;
704
- }
705
- function keyId(key) {
706
- return JSON.stringify(key);
707
- }
708
- function uniqueKeys(keys) {
709
- return [...new Map(keys.map((key) => [keyId(key), key])).values()];
710
- }
711
- function sameData(left, right) {
712
- if (left === undefined || right === undefined)
713
- return left === right;
714
- const bytes = left.bytes;
715
- return (bytes instanceof Uint8Array && right.bytes instanceof Uint8Array && same(bytes, right.bytes));
716
- }
717
- function isAborted(error) {
718
- return typeof error === "object" && error !== null && Reflect.get(error, "code") === 10;
719
- }
720
- function entityTransactionError(error) {
721
- if (error instanceof Error && error.message.startsWith("Immutable history record"))
722
- return error;
723
- return new Error("Datastore Entity transaction failed.");
724
- }
725
- function abortBackoff(attempt) {
726
- const delayMs = 20 * (attempt + 1) + Math.floor(Math.random() * 40);
727
- return new Promise((resolve) => setTimeout(resolve, delayMs));
728
- }
729
- /**
730
- * Rolls back a failed Datastore transaction when possible.
731
- *
732
- * @param transaction Supplies the transaction to roll back.
733
- * @returns Completion after rollback finishes or fails.
734
- */
735
- async function rollback(transaction) {
736
- try {
737
- await transaction.rollback();
738
- }
739
- catch {
740
- /* original provider error remains authoritative */
741
- }
742
- }
743
- function validateCommitSize(rows) {
744
- if (rows.length > 500)
745
- throw new Error("Entity commit exceeds the 500-mutation limit.");
746
- if (uniqueKeys(rows.map((row) => row.key)).length > 25)
747
- throw new Error("Entity commit exceeds the 25 entity-group limit.");
748
- const bytes = rows.reduce((total, row) => total +
749
- Buffer.byteLength(JSON.stringify(row.data, (_key, value) => value instanceof Uint8Array
750
- ? Buffer.from(value).toString("base64")
751
- : typeof value === "bigint"
752
- ? value.toString()
753
- : value), "utf8"), 0);
754
- if (bytes > 9 * 1024 * 1024)
755
- throw new Error("Entity commit exceeds the transaction payload limit.");
756
- }
757
593
  function validateEvents(events) {
758
594
  const ids = events.map((event) => event.id?.value);
759
595
  if (ids.some((id) => id === undefined || id.trim().length === 0) ||
@@ -1 +1 @@
1
- {"version":3,"file":"entity-history.js","sourceRoot":"","sources":["../../src/datastore/entity-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-history.js","sourceRoot":"","sources":["../../src/datastore/entity-history.ts"],"names":[],"mappings":"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"}
@@ -701,8 +701,8 @@ export class DatastoreRecordStorage extends RecordStorage {
701
701
  try {
702
702
  return await operation();
703
703
  }
704
- catch {
705
- throw new Error("Datastore provider operation failed.");
704
+ catch (error) {
705
+ throw new Error("Datastore provider operation failed.", { cause: error });
706
706
  }
707
707
  }
708
708
  /**
@@ -1116,8 +1116,7 @@ class DatastoreTransactionsHelper {
1116
1116
  * @returns New error without provider details.
1117
1117
  */
1118
1118
  redact(error) {
1119
- void error;
1120
- return new Error("Datastore transaction failed.");
1119
+ return new Error("Datastore transaction failed.", { cause: error });
1121
1120
  }
1122
1121
  /**
1123
1122
  * Checks for a safe-to-retry Datastore transaction conflict.