tarantool / tarantool/tarantool
Ensure that `struct applier` is not deleted util its in-fly txns are finished
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 3.7k
- Forks
- 419
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 88
Description
Currently the applier txn processing doesn't seem to keep the applier object alive until all its txns are fnished. That could be the reason why in replica_txn_wal_write_cb() the trigger must go replica->applier->txn_last_tm instead of directly using the pointer at the applier owning this txn.
Need to investigate, whether appliers live as long as their txns. If they don't - make them. Then make applier directly assign its txn_last_tm without struct replica participation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with replica_txn_wal_write_cb() and trace ownership of struct applier, its in-flight transactions, and txn_last_tm. Determine whether an applier remains alive until all its transactions finish; done means the lifetime behavior is established and txn_last_tm no longer needs struct replica mediation if the investigation supports that change.
Written by the indexing model from the issue text.
Assessment
- Domain
- databases
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100