• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 24879687761

24 Apr 2026 08:19AM UTC coverage: 87.696% (+0.02%) from 87.672%
24879687761

push

github

sergepetrenko
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>

70717 of 118958 branches covered (59.45%)

6 of 6 new or added lines in 1 file covered. (100.0%)

22 existing lines in 12 files now uncovered.

106353 of 121275 relevant lines covered (87.7%)

1352373.48 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.95
/src/lib/msgpuck/msgpuck.h


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc