|
Ran
|
Files
520
|
Run time
28s
|
Badge
README BADGES
|
push
github
txn: forbid waiting for acks on fully local transactions We recommend making all spaces synchronous (including the system ones) whenever the user has at least one of them. However, once `_truncate` becomes synchronous, it is impossible to truncate any local space, either on the master or on a replica. It fails with the error: `An attempt to commit a fully local transaction synchronously`. The `_truncate` space itself is unusual: it marks rows related to local spaces as GROUP_LOCAL (they are not replicated), while all other rows remain GROUP_GLOBAL. As a result, when we truncate a local space all rows in the transaction are local, so the error is thrown. We should not mark such transactions as synchronous. Instead, it should follow the asynchronous transaction path: add them to limbo iff it's not empty. Let's filter such case. The commit also fixes the incorrect comment below, which says that we don't check for fully local transaction, when we clearly do. Closes #12585 NO_DOC=bugfix Co-authored-by: Serge Petrenko <sergepetrenko@tarantool.org> (cherry picked from commit 6adf3f407)
68820 of 116401 branches covered (59.12%)
103574 of 118272 relevant lines covered (87.57%)
1629942.61 hits per line
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|