From 17f89f1bf6b2b50fd62fc21171cc83b1c3f1d8a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Podg=C3=B3rski?= Date: Mon, 10 May 2021 19:20:34 +0200 Subject: [PATCH] flush bytes instead of roaring --- field.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/field.go b/field.go index 490b5ecff..ab3aad658 100644 --- a/field.go +++ b/field.go @@ -15,6 +15,7 @@ package pilosa import ( + "bytes" "context" "encoding/json" "fmt" @@ -609,9 +610,14 @@ func (f *Field) protectedRemoteAvailableShards() *roaring.Bitmap { func (f *Field) flushAvailableShards(ctx context.Context) { shards := f.protectedRemoteAvailableShards() - err := f.holder.sharder.SetShards(ctx, f.index, f.name, shards) - if err != nil { + var buf bytes.Buffer + if _, err := shards.WriteTo(&buf); err != nil { f.holder.Logger.Errorf("writting available shards: %v", err) + return + } + + if err := f.holder.sharder.SetShards(ctx, f.index, f.name, buf.Bytes()); err != nil { + f.holder.Logger.Errorf("setting available shards: %v", err) } }