Skip to content
  • Eric Cano's avatar
    Fixed queuing strategy in MemArchiveQueue::sharedAddToArchiveQueue(). · 111a58d5
    Eric Cano authored
    We now only do one queue update at a time (per process). While one batch is being pushed to the objet store, the
    following one is being built up, and written as soon as the previous write completes. This can be see in the timings from
    the logs of the unit test OStoreSchedulerDatabaseTestVFS/SchedulerDatabaseTest.createManyArchiveJobs/0 here:
    [...] MSG="In MemArchiveQueue::sharedAddToArchiveQueue(): added batch of jobs to the queue." objectQueue="archiveQueue-[...]-68" sizeBefore="0" sizeAfter="1" addedJobs="1" waitTime="0.002403" enqueueTime="0.036594"
    [...] MSG="In MemArchiveQueue::sharedAddToArchiveQueue(): added batch of jobs to the queue." objectQueue="archiveQueue-[...]-68" sizeBefore="1" sizeAfter="100" addedJobs="99" waitTime="0.036547" enqueueTime="0.001629"
    [...] MSG="In MemArchiveQueue::sharedAddToArchiveQueue(): added batch of jobs to the queue." objectQueue="archiveQueue-[...]-174" sizeBefore="0" sizeAfter="1" addedJobs="1" waitTime="0.000058" enqueueTime="0.061447"
    [...] MSG="In MemArchiveQueue::sharedAddToArchiveQueue(): added batch of jobs to the queue." objectQueue="archiveQueue-[...]-174" sizeBefore="1" sizeAfter="198" addedJobs="197" waitTime="0.061434" enqueueTime="0.001431"
    [...] MSG="In MemArchiveQueue::sharedAddToArchiveQueue(): added batch of jobs to the queue." objectQueue="archiveQueue-[...]-174" sizeBefore="198" sizeAfter="200" addedJobs="2" waitTime="0.000840" enqueueTime="0.037259"
    111a58d5