From: Aleksandr Lyapunov <alyapunov@tarantool.org> To: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>, tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH v3 11/13] txm: introduce txm_story Date: Fri, 17 Jul 2020 09:16:27 +0300 [thread overview] Message-ID: <aea9b4ed-f4ee-a752-687e-b277e6be83b7@tarantool.org> (raw) In-Reply-To: <8257766c-ad0e-e572-9cc2-8b970ba8cb4e@tarantool.org> Hello, thank for the review! On 7/16/20 3:20 AM, Vladislav Shpilevoy wrote: > 1. Why is the hash called 'history', but the objects are 'story'? > Or as 'history' you mean a list of stories of the same key in one > index? I mean history is a set of all stories. Like a big book with a lot of paragraphs and stories about things in time. > 2. difference -> different. thanks > > 3. The iterator is initialized and assigned to something, but is > never used for anything meaningful. The same for all_stories list. > At least on top of this commit. Implemented garbage collector. > + cord_slab_cache(), item_size); > 4. Is it correct you also create a pool for 0 index count? > Why? > > Probably would be much simpler to just create one mempool with > objects having BOX_INDEX_MAX records in them. It would also solve > the DDL problem. At least partially. > > Can the story objects be allocated on txn's region? AFAIU, > stories are created by transactions, and can't outlive their > creator. Discussed in call, that would be too much memory wasted. > > 5. Diag OOM takes size, allocator, and variable name. Here the > allocator is "mempool_alloc", and the variable name is "story". > Lets be consistent with other diag_sets. The same for all the > other new places. OK > > 6. I know story is NULL, but why not to return NULL explicitly? > This looks confusing. OK > > 7. Nit: would be better to call tuple_ref() right near this assignment. > For the sake of OOM handler below, worth moving this line down to the > tuple_ref() call below. The hash table requires tuple to be set. > > 8. Comments for functions should use imperative mood. The same > in other similar places. OK > > +static struct tuple * > +txm_story_older_tuple(struct txm_story_link *link) > +{ > + return link->older.is_story ? link->older.story->tuple > + : link->older.tuple; > 9. Why so? If older.is_story, it means it stores a story, > not a tuple. But you return vice versa. I don't see any mistake. I return tuple in any case. > > 10. Why do you need all the new structs in txn.h if they aren't > used out of txn.c anyway. At least some of them. OK, I'll try to. I have to make a pause, will return later.
next prev parent reply other threads:[~2020-07-17 6:16 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 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 [this message] 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=aea9b4ed-f4ee-a752-687e-b277e6be83b7@tarantool.org \ --to=alyapunov@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v3 11/13] txm: introduce txm_story' \ /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