|
Ran
|
Files
514
|
Run time
22s
|
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)
69850 of 117661 branches covered (59.37%)
104897 of 119670 relevant lines covered (87.66%)
1394665.83 hits per line
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|