Tarantool development patches archive
 help / color / mirror / Atom feed
From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
To: Aleksandr Lyapunov <alyapunov@tarantool.org>,
	tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH v3 09/13] tmx: introduce prepare sequence number
Date: Thu, 16 Jul 2020 02:11:40 +0200	[thread overview]
Message-ID: <d1850979-bc70-5088-07ec-a21955133fc2@tarantool.org> (raw)
In-Reply-To: <1594821336-14468-10-git-send-email-alyapunov@tarantool.org>

Thanks for the patch!

On 15.07.2020 15:55, Aleksandr Lyapunov wrote:
> Prepare sequence number is a monotonically increasing ID that is
> assigned to any prepared transaction. This ID is suitable for
> serialization order resolution: the bigger is ID - the latter the

1. Latter -> later.

> transaction exist in the serialization order of transactions.

2. What it means 'later in the order'? It can mean both older and
newer depending on from where to count. Would be better to call it
explicitly 'newer' or 'older'.

> Note that id of transactions has quite different order in case
> when transaction could yield - an younger (bigger id) transaction
> can prepare/commit first (lower psn) while older tx sleeps in vain.
> 
> Also it should be mentioned that LSN has the same order as PSN,
> but it has two general differences:
> 1. The LSN sequence has no holes, i.e. it is a natural number
> sequence. This property is useless for transaction engine.
> 2. The LSN sequence is provided by WAL writer and thus LSN is not
> available for TX thas was prepared and haven't been committed yet.
> That feature makes psn more suitable sequence for transactions as
> it allows to order prepared but not committed transaction and
> allows, for example, to create a read view between prepared
> transactions.

  parent reply	other threads:[~2020-07-16  0:11 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-15 13:55 [Tarantool-patches] [PATCH v3 00/13] Transaction engine for memtx engine Aleksandr Lyapunov
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 01/13] Update license file (2020) Aleksandr Lyapunov
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 02/13] Check data_offset overflow in struct tuple Aleksandr Lyapunov
2020-07-16 14:27   ` Nikita Pettik
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 03/13] vinyl: rename tx_manager -> vy_tx_manager Aleksandr Lyapunov
2020-07-15 16:04   ` Nikita Pettik
2020-07-16  8:17     ` Aleksandr Lyapunov
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 04/13] txm: introduce dirty tuples Aleksandr Lyapunov
2020-07-15 16:22   ` Nikita Pettik
2020-07-16  0:05   ` Vladislav Shpilevoy
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 05/13] txm: save txn in txn_stmt Aleksandr Lyapunov
2020-07-15 16:23   ` Nikita Pettik
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 06/13] txm: add TX status Aleksandr Lyapunov
2020-07-15 16:42   ` Nikita Pettik
2020-07-16  0:08   ` Vladislav Shpilevoy
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 07/13] txm: save does_require_old_tuple flag in txn_stmt Aleksandr Lyapunov
2020-07-15 16:49   ` Nikita Pettik
2020-07-16  0:09   ` Vladislav Shpilevoy
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 08/13] txm: introduce tx manager Aleksandr Lyapunov
2020-07-15 16:51   ` Nikita Pettik
2020-07-15 22:01   ` Vladislav Shpilevoy
2020-07-16  0:10   ` Vladislav Shpilevoy
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 09/13] tmx: introduce prepare sequence number Aleksandr Lyapunov
2020-07-15 17:13   ` Nikita Pettik
2020-07-16  0:11   ` Vladislav Shpilevoy [this message]
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 10/13] tmx: introduce conflict tracker Aleksandr Lyapunov
2020-07-16  0:16   ` Vladislav Shpilevoy
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 11/13] txm: introduce txm_story Aleksandr Lyapunov
2020-07-16  0:20   ` Vladislav Shpilevoy
2020-07-17  6:16     ` Aleksandr Lyapunov
2020-07-16 22:25   ` Vladislav Shpilevoy
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 12/13] txm: clarify all fetched tuples Aleksandr Lyapunov
2020-07-15 13:55 ` [Tarantool-patches] [PATCH v3 13/13] tmx: use new tx manager in memtx Aleksandr Lyapunov
2020-07-16 22:26   ` Vladislav Shpilevoy
2020-07-17  5:08     ` Aleksandr Lyapunov
2020-07-23 20:58       ` Vladislav Shpilevoy
2020-07-15 15:47 ` [Tarantool-patches] [PATCH v3 00/13] Transaction engine for memtx engine Aleksandr Lyapunov
2020-07-15 16:38 ` Aleksandr Lyapunov
2020-07-15 16:39 ` Aleksandr Lyapunov
2020-07-15 16:40 ` Aleksandr Lyapunov
2020-07-16  0:05 ` Vladislav Shpilevoy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d1850979-bc70-5088-07ec-a21955133fc2@tarantool.org \
    --to=v.shpilevoy@tarantool.org \
    --cc=alyapunov@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v3 09/13] tmx: introduce prepare sequence number' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox