Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transaction lifetime verbiage, "running" #408

Closed
evanstade opened this issue Jul 28, 2023 · 0 comments · Fixed by #409
Closed

Transaction lifetime verbiage, "running" #408

evanstade opened this issue Jul 28, 2023 · 0 comments · Fixed by #409
Assignees

Comments

@evanstade
Copy link

evanstade commented Jul 28, 2023

The spec refers to times when a transaction is running or a running transaction in several places e.g. [1][2][3][4][5]. It's not clear to me what it means to be in a running state or if it's possible to have a transaction that is not running. Nothing in the "transaction lifecycle" portion mentions when a transaction is "running". I'm not sure if we need a definition of running or if we need to replace the term with other ones that already carry definitions.

"Running" is also used in the name of an algorithm, namely "Running an upgrade transaction". But some of the times the doc uses "running" refer to non-upgrade transactions, so I don't think the definition is "while the steps to run an upgrade transaction are being executed" is the correct definition.

Does "running" simply mean that the transaction exists and is associated with a database? Does it mean any state in the transaction lifecycle prior to "finished"? In some cases, such as "limits on the number of running transactions", I think it might mean after "started" (which is not itself a state) but before the state is set to finished.

I would also suggest changing "Running an upgrade transaction" so we don't get phrases like "run the steps to run a transaction". Maybe it could be "Upgrading a database"?

@inexorabletash inexorabletash self-assigned this Jul 28, 2023
inexorabletash added a commit that referenced this issue Jul 28, 2023
The phrase "a transaction is running" was not normatively defined and
confusing given the complex lifecycle of transactions. Introduce a new
definition for "live" which covers from a transactions creation until
it is finished.

Also, rename "running an upgrade transaction" since steps are often
invoked with "run" and that could get awkward. Simplify to "upgrade a
database".

No behavior changes, just normative terminology definitions.

Resolves #408. Thanks to @evanstade the issue and suggestions.
inexorabletash added a commit that referenced this issue Aug 3, 2023
The phrase "a transaction is running" was not normatively defined and
confusing given the complex lifecycle of transactions. Introduce a new
definition for "live" which covers from a transactions creation until
it is finished.

Also, rename "running an upgrade transaction" since steps are often
invoked with "run" and that could get awkward. Simplify to "upgrade a
database".

No behavior changes, just normative terminology definitions.

Resolves #408. Thanks to @evanstade the issue and suggestions.

Co-authored-by: Austin Sullivan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants