func (t *BleveDestPartition) applyBatchUnlocked() error { err := cbgt.Timer(func() error { return t.bindex.Batch(t.batch) }, t.bdest.stats.TimerBatchStore) if err != nil { return err } t.seqMaxBatch = t.seqMax for t.cwrQueue.Len() > 0 && t.cwrQueue[0].ConsistencySeq <= t.seqMaxBatch { cwr := heap.Pop(&t.cwrQueue).(*cbgt.ConsistencyWaitReq) if cwr != nil && cwr.DoneCh != nil { close(cwr.DoneCh) } } // TODO: Would be good to reuse batch's memory; but, would need // some public Reset() kind of method on bleve.Batch? t.batch = t.bindex.NewBatch() if t.buf != nil { t.buf = t.buf[0:0] // Reset t.buf via re-slice. } // NOTE: Leave t.seqSnapEnd unchanged in case we're applying the // batch because t.buf got too big. return nil }
func (t *BleveDestPartition) applyBatchUnlocked() error { err := cbgt.Timer(func() error { return t.bindex.Batch(t.batch) }, t.bdest.stats.TimerBatchStore) if err != nil { return err } t.seqMaxBatch = t.seqMax for t.cwrQueue.Len() > 0 && t.cwrQueue[0].ConsistencySeq <= t.seqMaxBatch { cwr := heap.Pop(&t.cwrQueue).(*cbgt.ConsistencyWaitReq) if cwr != nil && cwr.DoneCh != nil { close(cwr.DoneCh) } } // TODO: Would be good to reuse batch's memory; but, would need // some public Reset() kind of method on bleve.Batch? t.batch = t.bindex.NewBatch() return nil }