Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ca435cf

Browse files
authored
fix: Batching for mixedbatchwriter (#1374)
<!-- Explain what problem this PR addresses --> ---
1 parent 63fc4bb commit ca435cf

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

writers/mixedbatchwriter/mixedbatchwriter.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ func (w *MixedBatchWriter) Write(ctx context.Context, msgChan <-chan message.Wri
9393
batch: make([]*message.WriteInsert, 0, w.batchSize),
9494
writeFunc: w.client.InsertBatch,
9595
maxBatchSizeBytes: int64(w.batchSizeBytes),
96+
logger: w.logger,
9697
}
9798
deleteStale := &batchManager[message.WriteDeleteStales, *message.WriteDeleteStale]{
9899
batch: make([]*message.WriteDeleteStale, 0, w.batchSize),
@@ -201,6 +202,7 @@ type insertBatchManager struct {
201202
writeFunc func(ctx context.Context, messages message.WriteInserts) error
202203
curBatchSizeBytes int64
203204
maxBatchSizeBytes int64
205+
logger zerolog.Logger
204206
}
205207

206208
func (m *insertBatchManager) append(ctx context.Context, msg *message.WriteInsert) error {
@@ -218,11 +220,16 @@ func (m *insertBatchManager) flush(ctx context.Context) error {
218220
if len(m.batch) == 0 {
219221
return nil
220222
}
221-
223+
start := time.Now()
224+
batchSize := len(m.batch)
222225
err := m.writeFunc(ctx, m.batch)
223226
if err != nil {
227+
m.logger.Err(err).Int("len", batchSize).Dur("duration", time.Since(start)).Msg("failed to write batch")
224228
return err
225229
}
230+
m.logger.Debug().Int("len", batchSize).Dur("duration", time.Since(start)).Msg("batch written successfully")
231+
226232
m.batch = m.batch[:0]
233+
m.curBatchSizeBytes = 0
227234
return nil
228235
}

0 commit comments

Comments
 (0)