Closed
Description
What I see on the 'jepsen-single-instance' job in tarantool (postprocessed logs):
2021-10-27T09:05:54.9580285Z
:workload :bank-lua,
clojure.lang.ExceptionInfo: throw+: {:type :empty-grudge, :grudge {"89.208.228.127" #{}}, :node "89.208.228.127"}
clojure.lang.ExceptionInfo: throw+: {:type :empty-grudge, :grudge {"89.208.228.127" #{}}, :node "89.208.228.127"}
Everything looks good! ヽ(‘ー`)ノ
2021-10-27T09:18:01.2961242Z
2021-10-27T09:18:01.4252200Z
:workload :bank-multitable-lua,
clojure.lang.ExceptionInfo: throw+: {:type :empty-grudge, :grudge {"89.208.228.127" #{}}, :node "89.208.228.127"}
clojure.lang.ExceptionInfo: throw+: {:type :empty-grudge, :grudge {"89.208.228.127" #{}}, :node "89.208.228.127"}
Everything looks good! ヽ(‘ー`)ノ
2021-10-27T09:20:11.8104307Z
2021-10-27T09:20:11.9301155Z
:workload :set,
java.sql.SQLException: Failed to execute SQL: INSERT INTO sets (value) VALUES (?), params: [0]
Caused by: org.tarantool.TarantoolException: The synchronous transaction queue doesn't belong to any instance
<..skipped repeated messages..>
clojure.lang.ExceptionInfo: throw+: {:type :empty-grudge, :grudge {"89.208.228.127" #{}}, :node "89.208.228.127"}
<..skipped repeated messages..>
Analysis invalid! (ノಥ益ಥ)ノ ┻━┻
2021-10-27T09:22:47.8019469Z
2021-10-27T09:22:48.7684703Z
:workload :register,
java.sql.SQLException: Failed to execute SQL: SELECT _UPSERT(0, 2, 'REGISTER'), params: []
Caused by: org.tarantool.TarantoolException: The synchronous transaction queue doesn't belong to any instance
<..skipped repeated messages..>
Analysis invalid! (ノಥ益ಥ)ノ ┻━┻
2021-10-27T09:26:21.5315705Z
Full logs: logs.txt.
My findings:
- The grudge exception fail a nemesis process and is considered as a warning. Not insterested for us here.
- 'bank-lua' and 'bank-multitable-lua' work, 'set' and 'register' fails.
- The failed tests uses synchronous spaces.
- After some tarantool's commit, we should call
box.ctl.promote()
on a new leader, when RAFT is not used for leader election. It seems, even when we have just one instance. See Implement memtx transaction isolation levels for Vinyl tarantool#5522 (comment) (from this comment and below).
It seems, we should add box.ctl.promote()
after box.cfg()
for single instance configuration.