[PATCH] vinyl: fix false-positive assertion at exit

Konstantin Osipov kostja at tarantool.org
Wed May 30 21:53:36 MSK 2018


* Vladimir Davydov <vdavydov.dev at gmail.com> [18/05/29 18:20]:
> latch_destroy() and fiber_cond_destroy() are basically no-op. All they
> do is check that latch/cond is not used. When a global latch or cond
> object is destroyed at exit, it may still have users and this is OK as
> we don't stop fibers at exit. In vinyl this results in the following
> false-positive assertion failures:
> 
>   src/latch.h:81: latch_destroy: Assertion `l->owner == NULL' failed.
> 
>   src/fiber_cond.c:49: fiber_cond_destroy: Assertion `rlist_empty(&c->waiters)' failed.
> 

I'm ok with the patch, but could you, please, once again, try
to reduce the test case execution time?

You could easily do that by increasing padding and reducing the
number of rows in the loop - each written row is a WAL write, and
WAL is the biggest bottleneck in a single-fiber write scenario.

Thanks!


-- 
Konstantin Osipov, Moscow, Russia, +7 903 626 22 32
http://tarantool.io - www.twitter.com/kostja_osipov



More information about the Tarantool-patches mailing list