in bulk_indexer.go [212:233]
func newBulkIndexer(cfg BulkIndexerConfig) *BulkIndexer {
b := &BulkIndexer{
config: cfg,
retryCounts: make(map[int]int),
requireDataStream: cfg.RequireDataStream,
}
// use a len check instead of a nil check because document level retries
// should be disabled using MaxDocumentRetries instead.
if len(b.config.RetryOnDocumentStatus) == 0 {
b.config.RetryOnDocumentStatus = []int{http.StatusTooManyRequests}
}
var writer io.Writer
if cfg.CompressionLevel != gzip.NoCompression {
b.gzipw, _ = gzip.NewWriterLevel(&b.buf, cfg.CompressionLevel)
writer = b.gzipw
} else {
writer = &b.buf
}
b.writer = &countWriter{0, writer}
return b
}