From memtx_tuple_new() we call smalloc(). In case it is calling mempool_alloc(), we are passing the pool from memtx->alloc, chosen depending on it's size. Later this tuple may be deleted. Then smfree() is called, which uses mempool_find() to acquire the pool we want to free. In case we are using some other specific pool, current mempool_find() won't be able to find it. This means we need to process this case explicitly and it seems to add noticeable unjustified complexity to the code.   >Четверг, 6 февраля 2020, 17:29 +03:00 от Konstantin Osipov : >  >* Ilya Kosarev < i.kosarev@tarantool.org > [20/02/06 13:51]: >> >> Well, the problem here is that garbage collection won't work properly >> in this case. > >I don't understand what GC has to do with it. Please clarify. > >> I guess it can be adjusted, however, there will be some >> kind of crutches and it doesn't seem to be a good idea. Just switching >> quota on and off seems to be more suitable and convenient for >> truncations and deletions. >>   > >-- >Konstantin Osipov, Moscow, Russia     -- Ilya Kosarev