diff --git a/http/client.go b/http/client.go index 6b43c731f..91fd7b571 100644 --- a/http/client.go +++ b/http/client.go @@ -557,6 +557,7 @@ func (c *InternalClient) ImportRoaringBytes(ctx context.Context, node *pilosa.No if resp.StatusCode != http.StatusOK { return fmt.Errorf("invalid status: %d", resp.StatusCode) } + io.Copy(ioutil.Discard, resp.Body) return nil } diff --git a/roaring/roaring.go b/roaring/roaring.go index 834ff25c2..853fcade9 100644 --- a/roaring/roaring.go +++ b/roaring/roaring.go @@ -3409,8 +3409,14 @@ func readStandardHeader(buf []byte) (size uint32, containerTyper func(index uint } func UnmarshalStandardRoaring(data []byte) (*Bitmap, error) { - b := NewBitmap() + + fileMagic := uint32(binary.LittleEndian.Uint16(data[0:2])) + if fileMagic == magicNumber { //if pilosa roaring + err := b.UnmarshalBinary(data) + return b, err + } + keyN, containerTyper, header, pos, err, haveRuns := readStandardHeader(data) if err != nil { return nil, err