Test that creates a 50k dirty tables causes a stall during the checkpoint for several minutes.
shell script that calls functions in test.js:
- From A to B is first iteration through the loop; this goes slower than subsequent iterations because it is creating 50k collections.
- From B to C is remaining 19 iterations of inserting one document into each of the 50k collections
- At C we begin trying to insert a bunch of data, but it stalls for several minutes until D.
- At D checkpoint ends and inserts become unblocked
- Based on "cursor prev" calls I think the single-document inserts into the 50k collections from B to C are stalling during checkpoints; I suspect the stalls are not as long because in this phase there are fewer dirty tables at each checkpoint because the tables are only being dirtied as fast as they can be created, whereas from B to C the tables are already created so are being dirtied much faster, so the checkpoint where the lengthy stall occurs sees a lot more dirty tables.
This is the active thread during the stall: