br1ghtyang / asterixdb

Automatically exported from code.google.com/p/asterixdb
0 stars 0 forks source link

Flushes are never scheduled when there are active readers #594

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
Whenever the in-memory component of the lsm index is full, and there are active 
searchers, a flush will never be scheduled. In other words, the flush will be 
triggered only when there is Zero active inserters *and* searchers. The issue 
is caused since the primary index op tracker does not differentiate between 
readers and writers. It only keeps one reference counter for both operations. 
This counter should be only used for writers but not readers. 
Note that once the flush has been scheduled, the mutable component can still 
serve searchers while being flushed.

Original issue reported on code.google.com by salsuba...@gmail.com on 31 Jul 2013 at 8:57

GoogleCodeExporter commented 8 years ago
The consequences of this issue are even worse. Flushes are not scheduled when 
there is an ongoing merge. Probably that's why the throughput was decreasing 
over time in the charts.

Original comment by salsuba...@gmail.com on 1 Aug 2013 at 2:18

GoogleCodeExporter commented 8 years ago

Original comment by salsuba...@gmail.com on 16 Aug 2013 at 4:02

GoogleCodeExporter commented 8 years ago

Original comment by salsuba...@gmail.com on 23 Aug 2013 at 5:34