Relative Content

Tag Archive for transaction

Is there a theory for “transactional” sequences of failing and no-fail actions?

My question is about writing transaction-like functions that execute sequences of actions, some of which may fail. It is related to the general C++ principle “destructors can’t throw,” no-fail property, and maybe also with multi-phase transactions or exception safety. However, I’m thinking about it in language-neutral terms. My concern is with correctly designing error handling in C++ functions that must be reliable. I would like to know what the concepts below are called so that I can learn more about them.

Three-Phase Commit (3PC) question

I’ve been reading about 3PC in a text book, but there aren’t any diagrams or examples, so I found one on wikipedia that I posted below. My question is, what does it mean by “cohorts?” There is no mention of cohorts in the textbook and I don’t see anywhere in the wiki page explaining what it is. Is it simply another word for participants? Thanks for any help.

Three-Phase Commit (3PC) question

I’ve been reading about 3PC in a text book, but there aren’t any diagrams or examples, so I found one on wikipedia that I posted below. My question is, what does it mean by “cohorts?” There is no mention of cohorts in the textbook and I don’t see anywhere in the wiki page explaining what it is. Is it simply another word for participants? Thanks for any help.

Three-Phase Commit (3PC) question

I’ve been reading about 3PC in a text book, but there aren’t any diagrams or examples, so I found one on wikipedia that I posted below. My question is, what does it mean by “cohorts?” There is no mention of cohorts in the textbook and I don’t see anywhere in the wiki page explaining what it is. Is it simply another word for participants? Thanks for any help.

Inter-aggregate commands/transactions in an eventual consistency manner

I am trying to model a business transaction that operates on two aggregates. Let’s say we have a Bag aggregate type that contains Items (entities). I would like to have a command TransferItemToBag(itemName: String, fromBag: BagId, toBag: BagId) which extracts an item from the first Bag and puts it to the second one. When this command is received, I want to send a command AddItemToBag(…) to the second bag and when it responds with ItemAddedToBag(…) send RemoveItemFromBag(…).

Alternative locking strategies

I’m having a problem with the design of my application, that neither optimistic nor pessimistic locking tends to solve. Here is a simplified/altered version of the problem that describes the situation.