如何防止可能的 RC
How to prevent possible RC
我正在使用 Tarantool 1.5 和 lua 程序。
文档说 lua 过程可以在 network/io 操作之后让出执行给另一个过程,例如 box.update 调用。
我的主要问题是:如果我从 box.update 得到 return 元组,它是否包含信息 "after update, before yield" 或 "after update, after yield" ?
此外,防止可能的竞争条件的最佳做法是什么?
如果你需要在 1.5 中做类似交易的事情,你可以做幂等操作或者做 re-select 并在任何 yield 操作后检查 (update/delete/replace)
我正在使用 Tarantool 1.5 和 lua 程序。
文档说 lua 过程可以在 network/io 操作之后让出执行给另一个过程,例如 box.update 调用。
我的主要问题是:如果我从 box.update 得到 return 元组,它是否包含信息 "after update, before yield" 或 "after update, after yield" ?
此外,防止可能的竞争条件的最佳做法是什么?
如果你需要在 1.5 中做类似交易的事情,你可以做幂等操作或者做 re-select 并在任何 yield 操作后检查 (update/delete/replace)