Patent ID: 11874822
Assignee: AMAZON TECHNOLOGIES, INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 13:
14. A system comprising:
a first one or more electronic devices comprising a processor and a memory, the first one or more electronic devices to implement shards to store events of streams as part of a log-based append-only distributed data store in a transactional eventing service in a multi-tenant provider network; and
a second one or more electronic devices to implement a transaction coordinator of the transactional eventing service in the multi-tenant provider network, the transaction coordinator including instructions that upon execution cause the transaction coordinator to:
obtain, from one or more clients, a first event to be inserted into a first data stream and a second event to be inserted into a second data stream, wherein the first event and the second event are part of a single transaction, wherein events of the first data stream are stored in a first shard and events of the second data stream are stored in a second shard;
write the first event and the second event to a transaction buffer, wherein the transaction buffer is backed by a non-volatile storage, wherein: the transaction buffer is implemented as a third shard, wherein at least one entry in the transaction buffer comprises a pointer to a corresponding entry in the first shard or the second shard; or the transaction buffer is implemented as part of the first shard, wherein entries in the first shard that are part of the transaction buffer include at least an additional field or value indicating membership of the entry in the transaction buffer;
provide visibility, via use of the transaction buffer, of the first and second events to the one or more clients within the transaction, while purposefully not providing visibility of the first and second events to other clients performing other transactions involving the first or second data streams;
determine that the first event cannot be written to the first shard due to a write conflict; and
abort the transaction, comprising a removal of the first event and the second event from the transaction buffer.