未验证 提交 a0a3a889 编写于 作者: G godchen 提交者: GitHub

Add common endian for global use (#11092)

Signed-off-by: Ngodchen <qingxiang.chen@zilliz.com>
上级 82e5d213
......@@ -16,6 +16,8 @@
package common
import "encoding/binary"
// system filed id:
// 0: unique row id
// 1: timestamp
......@@ -48,3 +50,6 @@ const (
// InvalidFieldID indicates that the field does not exist . It will be set when the field is not found.
InvalidFieldID = int64(-1)
)
// Common implementation of ByteOrder for whole milvus
var Endian = binary.LittleEndian
......@@ -27,6 +27,7 @@ import (
"github.com/stretchr/testify/assert"
"go.uber.org/zap"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/log"
"github.com/milvus-io/milvus/internal/msgstream"
"github.com/milvus-io/milvus/internal/proto/commonpb"
......@@ -302,7 +303,7 @@ func genBytes() (rawData []byte) {
var fvector = [DIM]float32{1, 2}
for _, ele := range fvector {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
......@@ -315,7 +316,7 @@ func genBytes() (rawData []byte) {
// Bool
var fieldBool = true
buf := new(bytes.Buffer)
if err := binary.Write(buf, binary.LittleEndian, fieldBool); err != nil {
if err := binary.Write(buf, common.Endian, fieldBool); err != nil {
panic(err)
}
......@@ -324,7 +325,7 @@ func genBytes() (rawData []byte) {
// int8
var dataInt8 int8 = 100
bint8 := new(bytes.Buffer)
if err := binary.Write(bint8, binary.LittleEndian, dataInt8); err != nil {
if err := binary.Write(bint8, common.Endian, dataInt8); err != nil {
panic(err)
}
rawData = append(rawData, bint8.Bytes()...)
......@@ -339,22 +340,22 @@ func TestBytesReader(t *testing.T) {
rawDataReader := bytes.NewReader(rawData)
var fvector []float32 = make([]float32, 2)
err := binary.Read(rawDataReader, binary.LittleEndian, &fvector)
err := binary.Read(rawDataReader, common.Endian, &fvector)
assert.Nil(t, err)
assert.ElementsMatch(t, fvector, []float32{1, 2})
var bvector []byte = make([]byte, 4)
err = binary.Read(rawDataReader, binary.LittleEndian, &bvector)
err = binary.Read(rawDataReader, common.Endian, &bvector)
assert.Nil(t, err)
assert.ElementsMatch(t, bvector, []byte{255, 255, 255, 0})
var fieldBool bool
err = binary.Read(rawDataReader, binary.LittleEndian, &fieldBool)
err = binary.Read(rawDataReader, common.Endian, &fieldBool)
assert.Nil(t, err)
assert.Equal(t, true, fieldBool)
var dataInt8 int8
err = binary.Read(rawDataReader, binary.LittleEndian, &dataInt8)
err = binary.Read(rawDataReader, common.Endian, &dataInt8)
assert.Nil(t, err)
assert.Equal(t, int8(100), dataInt8)
}
......@@ -18,7 +18,6 @@ package datanode
import (
"context"
"encoding/binary"
"math"
"sync"
......@@ -223,7 +222,7 @@ func (dn *deleteNode) filterSegmentByPK(partID UniqueID, pks []int64) map[int64]
segments := dn.replica.filterSegments(dn.channelName, partID)
for _, pk := range pks {
for _, segment := range segments {
binary.BigEndian.PutUint64(buf, uint64(pk))
common.Endian.PutUint64(buf, uint64(pk))
exist := segment.pkFilter.Test(buf)
if exist {
result[pk] = append(result[pk], segment.segmentID)
......
......@@ -18,12 +18,12 @@ package datanode
import (
"context"
"encoding/binary"
"errors"
"testing"
"time"
"github.com/bits-and-blooms/bloom/v3"
"github.com/milvus-io/milvus/internal/common"
memkv "github.com/milvus-io/milvus/internal/kv/mem"
"github.com/milvus-io/milvus/internal/msgstream"
"github.com/milvus-io/milvus/internal/proto/schemapb"
......@@ -121,13 +121,13 @@ func genMockReplica(segIDs []int64, pks []int64, chanName string) *mockReplica {
buf := make([]byte, 8)
filter0 := bloom.NewWithEstimates(1000000, 0.01)
for i := 0; i < 3; i++ {
binary.BigEndian.PutUint64(buf, uint64(pks[i]))
common.Endian.PutUint64(buf, uint64(pks[i]))
filter0.Add(buf)
}
filter1 := bloom.NewWithEstimates(1000000, 0.01)
for i := 3; i < 5; i++ {
binary.BigEndian.PutUint64(buf, uint64(pks[i]))
common.Endian.PutUint64(buf, uint64(pks[i]))
filter1.Add(buf)
}
......
......@@ -35,6 +35,7 @@ import (
"github.com/milvus-io/milvus/internal/storage"
"github.com/milvus-io/milvus/internal/util/trace"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/commonpb"
"github.com/milvus-io/milvus/internal/proto/datapb"
"github.com/milvus-io/milvus/internal/proto/etcdpb"
......@@ -630,7 +631,7 @@ func (ibNode *insertBufferNode) bufferInsertMsg(msg *msgstream.InsertMsg, endPos
// The receiver can be any type in int8, int16, int32, int64, float32, float64 and bool
// readBinary uses LittleEndian ByteOrder.
func readBinary(reader io.Reader, receiver interface{}, dataType schemapb.DataType) {
err := binary.Read(reader, binary.LittleEndian, receiver)
err := binary.Read(reader, common.Endian, receiver)
if err != nil {
log.Error("binary.Read failed", zap.Any("data type", dataType), zap.Error(err))
}
......
......@@ -36,6 +36,7 @@ import (
s "github.com/milvus-io/milvus/internal/storage"
"github.com/milvus-io/milvus/internal/types"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/commonpb"
"github.com/milvus-io/milvus/internal/proto/datapb"
"github.com/milvus-io/milvus/internal/proto/etcdpb"
......@@ -313,7 +314,7 @@ func GenRowData() (rawData []byte) {
var fvector = [DIM]float32{1, 2}
for _, ele := range fvector {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
......@@ -326,7 +327,7 @@ func GenRowData() (rawData []byte) {
// Bool
var fieldBool = true
buf := new(bytes.Buffer)
if err := binary.Write(buf, binary.LittleEndian, fieldBool); err != nil {
if err := binary.Write(buf, common.Endian, fieldBool); err != nil {
panic(err)
}
......@@ -335,7 +336,7 @@ func GenRowData() (rawData []byte) {
// int8
var dataInt8 int8 = 100
bint8 := new(bytes.Buffer)
if err := binary.Write(bint8, binary.LittleEndian, dataInt8); err != nil {
if err := binary.Write(bint8, common.Endian, dataInt8); err != nil {
panic(err)
}
rawData = append(rawData, bint8.Bytes()...)
......@@ -343,7 +344,7 @@ func GenRowData() (rawData []byte) {
// int16
var dataInt16 int16 = 200
bint16 := new(bytes.Buffer)
if err := binary.Write(bint16, binary.LittleEndian, dataInt16); err != nil {
if err := binary.Write(bint16, common.Endian, dataInt16); err != nil {
panic(err)
}
rawData = append(rawData, bint16.Bytes()...)
......@@ -351,7 +352,7 @@ func GenRowData() (rawData []byte) {
// int32
var dataInt32 int32 = 300
bint32 := new(bytes.Buffer)
if err := binary.Write(bint32, binary.LittleEndian, dataInt32); err != nil {
if err := binary.Write(bint32, common.Endian, dataInt32); err != nil {
panic(err)
}
rawData = append(rawData, bint32.Bytes()...)
......@@ -359,7 +360,7 @@ func GenRowData() (rawData []byte) {
// int64
var dataInt64 int64 = 400
bint64 := new(bytes.Buffer)
if err := binary.Write(bint64, binary.LittleEndian, dataInt64); err != nil {
if err := binary.Write(bint64, common.Endian, dataInt64); err != nil {
panic(err)
}
rawData = append(rawData, bint64.Bytes()...)
......@@ -367,7 +368,7 @@ func GenRowData() (rawData []byte) {
// float32
var datafloat float32 = 1.1
bfloat32 := new(bytes.Buffer)
if err := binary.Write(bfloat32, binary.LittleEndian, datafloat); err != nil {
if err := binary.Write(bfloat32, common.Endian, datafloat); err != nil {
panic(err)
}
rawData = append(rawData, bfloat32.Bytes()...)
......@@ -375,7 +376,7 @@ func GenRowData() (rawData []byte) {
// float64
var datafloat64 = 2.2
bfloat64 := new(bytes.Buffer)
if err := binary.Write(bfloat64, binary.LittleEndian, datafloat64); err != nil {
if err := binary.Write(bfloat64, common.Endian, datafloat64); err != nil {
panic(err)
}
rawData = append(rawData, bfloat64.Bytes()...)
......
......@@ -18,7 +18,6 @@ package datanode
import (
"context"
"encoding/binary"
"fmt"
"math"
"sync"
......@@ -108,7 +107,7 @@ type SegmentReplica struct {
func (s *Segment) updatePKRange(pks []int64) {
buf := make([]byte, 8)
for _, pk := range pks {
binary.BigEndian.PutUint64(buf, uint64(pk))
common.Endian.PutUint64(buf, uint64(pk))
s.pkFilter.Add(buf)
if pk > s.maxPK {
s.maxPK = pk
......
......@@ -18,7 +18,6 @@ package datanode
import (
"context"
"encoding/binary"
"encoding/json"
"fmt"
"math"
......@@ -725,7 +724,7 @@ func TestSegmentReplica_UpdatePKRange(t *testing.T) {
assert.LessOrEqual(t, seg.minPK, c)
assert.GreaterOrEqual(t, seg.maxPK, c)
binary.BigEndian.PutUint64(buf, uint64(c))
common.Endian.PutUint64(buf, uint64(c))
assert.True(t, seg.pkFilter.Test(buf))
}
}
......@@ -767,7 +766,7 @@ func TestReplica_UpdatePKRange(t *testing.T) {
assert.LessOrEqual(t, segNormal.minPK, c)
assert.GreaterOrEqual(t, segNormal.maxPK, c)
binary.BigEndian.PutUint64(buf, uint64(c))
common.Endian.PutUint64(buf, uint64(c))
assert.True(t, segNew.pkFilter.Test(buf))
assert.True(t, segNormal.pkFilter.Test(buf))
......
......@@ -15,6 +15,8 @@ import (
"go.uber.org/zap"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/util/metricsinfo"
"github.com/milvus-io/milvus/internal/util/distance"
......@@ -591,7 +593,7 @@ func TestProxy(t *testing.T) {
for j := 0; j < dim; j++ {
var buffer bytes.Buffer
f := rand.Float32()
err := binary.Write(&buffer, binary.LittleEndian, f)
err := binary.Write(&buffer, common.Endian, f)
assert.NoError(t, err)
bs = append(bs, buffer.Bytes()...)
}
......
......@@ -496,7 +496,7 @@ func (it *insertTask) transferColumnBasedRequestToRowBasedData() error {
it.RowData = make([]*commonpb.Blob, 0, rowNum)
l := len(dTypes)
// TODO(dragondriver): big endian or little endian?
endian := binary.LittleEndian
endian := common.Endian
printed := false
for i := 0; i < rowNum; i++ {
blob := &commonpb.Blob{
......
......@@ -187,7 +187,7 @@ func constructPlaceholderGroup(
for j := 0; j < dim; j++ {
var buffer bytes.Buffer
f := rand.Float32()
err := binary.Write(&buffer, binary.LittleEndian, f)
err := binary.Write(&buffer, common.Endian, f)
if err != nil {
panic(err)
}
......
......@@ -13,12 +13,12 @@ package querynode
import (
"context"
"encoding/binary"
"math"
"testing"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/msgstream"
"github.com/milvus-io/milvus/internal/proto/commonpb"
"github.com/milvus-io/milvus/internal/proto/internalpb"
......@@ -39,11 +39,11 @@ func TestDataSyncService_Start(t *testing.T) {
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, 1)
common.Endian.PutUint32(bs, 1)
rawData = append(rawData, bs...)
var records []*commonpb.Blob
for i := 0; i < N; i++ {
......
......@@ -22,6 +22,7 @@ import (
"github.com/opentracing/opentracing-go"
"go.uber.org/zap"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/log"
"github.com/milvus-io/milvus/internal/msgstream"
"github.com/milvus-io/milvus/internal/proto/commonpb"
......@@ -229,7 +230,7 @@ func filterSegmentsByPKs(pks []int64, segment *Segment) ([]int64, error) {
buf := make([]byte, 8)
res := make([]int64, 0)
for _, pk := range pks {
binary.BigEndian.PutUint64(buf, uint64(pk))
common.Endian.PutUint64(buf, uint64(pk))
exist := segment.pkFilter.Test(buf)
if exist {
res = append(res, pk)
......@@ -393,7 +394,7 @@ func (iNode *insertNode) getPrimaryKeys(msg *msgstream.InsertMsg) []int64 {
pks := make([]int64, len(blobReaders))
for i, reader := range blobReaders {
err := binary.Read(reader, binary.LittleEndian, &pks[i])
err := binary.Read(reader, common.Endian, &pks[i])
if err != nil {
log.Warn("binary read blob value failed", zap.Error(err))
}
......
......@@ -12,7 +12,6 @@
package querynode
import (
"encoding/binary"
"sync"
"testing"
......@@ -267,7 +266,7 @@ func TestFlowGraphInsertNode_operate(t *testing.T) {
assert.Nil(t, err)
buf := make([]byte, 8)
for i := 0; i < defaultMsgLength; i++ {
binary.BigEndian.PutUint64(buf, uint64(i))
common.Endian.PutUint64(buf, uint64(i))
assert.True(t, s.pkFilter.Test(buf))
}
......@@ -392,7 +391,7 @@ func TestGetSegmentsByPKs(t *testing.T) {
buf := make([]byte, 8)
filter := bloom.NewWithEstimates(1000000, 0.01)
for i := 0; i < 3; i++ {
binary.BigEndian.PutUint64(buf, uint64(i))
common.Endian.PutUint64(buf, uint64(i))
filter.Add(buf)
}
segment := &Segment{
......
......@@ -13,13 +13,13 @@ package querynode
import (
"context"
"encoding/binary"
"fmt"
"math"
"math/rand"
"path"
"strconv"
"github.com/milvus-io/milvus/internal/common"
minioKV "github.com/milvus-io/milvus/internal/kv/minio"
"github.com/milvus-io/milvus/internal/msgstream"
"github.com/milvus-io/milvus/internal/proto/commonpb"
......@@ -66,11 +66,11 @@ import (
// rowData := make([]byte, 0)
// for i := 0; i < DIM; i++ {
// vec := make([]byte, 4)
// binary.LittleEndian.PutUint32(vec, math.Float32bits(float32(n*i)))
// common.Endian.PutUint32(vec, math.Float32bits(float32(n*i)))
// rowData = append(rowData, vec...)
// }
// age := make([]byte, 4)
// binary.LittleEndian.PutUint32(age, 1)
// common.Endian.PutUint32(age, 1)
// rowData = append(rowData, age...)
// blob := &commonpb.Blob{
// Value: rowData,
......@@ -161,7 +161,7 @@ import (
// var searchRowByteData []byte
// for i := range searchRowData {
// vec := make([]byte, 4)
// binary.LittleEndian.PutUint32(vec, math.Float32bits(searchRowData[i]))
// common.Endian.PutUint32(vec, math.Float32bits(searchRowData[i]))
// searchRowByteData = append(searchRowByteData, vec...)
// }
// placeholderValue := milvuspb.PlaceholderValue{
......@@ -404,7 +404,7 @@ import (
// rowData = append(rowData, indexRowData[offset:offset+(DIM/8)]...)
// offset += DIM / 8
// age := make([]byte, 4)
// binary.LittleEndian.PutUint32(age, 1)
// common.Endian.PutUint32(age, 1)
// rowData = append(rowData, age...)
// blob := &commonpb.Blob{
// Value: rowData,
......@@ -859,11 +859,11 @@ func doInsert(ctx context.Context, collectionID UniqueID, partitionID UniqueID,
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, 1)
common.Endian.PutUint32(bs, 1)
rawData = append(rawData, bs...)
// messages generate
......@@ -990,7 +990,7 @@ func doInsert(ctx context.Context, collectionID UniqueID, partitionID UniqueID,
// var vec = [DIM]float32{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}
// for _, ele := range vec {
// buf := make([]byte, 4)
// binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
// common.Endian.PutUint32(buf, math.Float32bits(ele))
// searchRawData = append(searchRawData, buf...)
// }
// placeholderValue := milvuspb.PlaceholderValue{
......
......@@ -13,7 +13,6 @@ package querynode
import (
"context"
"encoding/binary"
"errors"
"math"
"math/rand"
......@@ -23,6 +22,7 @@ import (
"github.com/golang/protobuf/proto"
"go.uber.org/zap"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/indexnode"
etcdkv "github.com/milvus-io/milvus/internal/kv/etcd"
minioKV "github.com/milvus-io/milvus/internal/kv/minio"
......@@ -597,11 +597,11 @@ func genCommonBlob(msgLength int, schema *schemapb.CollectionSchema) ([]*commonp
switch f.DataType {
case schemapb.DataType_Int32:
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, uint32(i))
common.Endian.PutUint32(bs, uint32(i))
rawData = append(rawData, bs...)
case schemapb.DataType_Int64:
bs := make([]byte, 8)
binary.LittleEndian.PutUint32(bs, uint32(i))
common.Endian.PutUint32(bs, uint32(i))
rawData = append(rawData, bs...)
case schemapb.DataType_FloatVector:
dim := simpleVecField.dim // if no dim specified, use simpleVecField's dim
......@@ -617,7 +617,7 @@ func genCommonBlob(msgLength int, schema *schemapb.CollectionSchema) ([]*commonp
for j := 0; j < dim; j++ {
f := float32(i*j) * 0.1
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(f))
common.Endian.PutUint32(buf, math.Float32bits(f))
rawData = append(rawData, buf...)
}
default:
......@@ -1002,7 +1002,7 @@ func genSimplePlaceHolderGroup() ([]byte, error) {
var rawData []byte
for k, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele+float32(k*2)))
common.Endian.PutUint32(buf, math.Float32bits(ele+float32(k*2)))
rawData = append(rawData, buf...)
}
placeholderValue.Values = append(placeholderValue.Values, rawData)
......
......@@ -13,13 +13,13 @@ package querynode
import (
"context"
"encoding/binary"
"math"
"testing"
"github.com/golang/protobuf/proto"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/milvuspb"
"github.com/milvus-io/milvus/internal/proto/planpb"
)
......@@ -92,12 +92,12 @@ func TestPlan_PlaceholderGroup(t *testing.T) {
var vec = [DIM]float32{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}
for i, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele+float32(i*2)))
common.Endian.PutUint32(buf, math.Float32bits(ele+float32(i*2)))
searchRawData1 = append(searchRawData1, buf...)
}
for i, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele+float32(i*4)))
common.Endian.PutUint32(buf, math.Float32bits(ele+float32(i*4)))
searchRawData2 = append(searchRawData2, buf...)
}
placeholderValue := milvuspb.PlaceholderValue{
......
......@@ -13,7 +13,6 @@ package querynode
import (
"context"
"encoding/binary"
"errors"
"fmt"
"math"
......@@ -24,6 +23,7 @@ import (
oplog "github.com/opentracing/opentracing-go/log"
"go.uber.org/zap"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/log"
"github.com/milvus-io/milvus/internal/msgstream"
"github.com/milvus-io/milvus/internal/proto/commonpb"
......@@ -677,7 +677,7 @@ func translateHits(schema *typeutil.SchemaHelper, fieldIDs []int64, rawHits [][]
for _, hit := range hits {
for _, row := range hit.RowData {
dataBlob := row[blobOffset : blobOffset+blobLen]
data := int32(int16(binary.LittleEndian.Uint16(dataBlob)))
data := int32(int16(common.Endian.Uint16(dataBlob)))
colData = append(colData, data)
}
}
......@@ -700,7 +700,7 @@ func translateHits(schema *typeutil.SchemaHelper, fieldIDs []int64, rawHits [][]
for _, hit := range hits {
for _, row := range hit.RowData {
dataBlob := row[blobOffset : blobOffset+blobLen]
data := int32(binary.LittleEndian.Uint32(dataBlob))
data := int32(common.Endian.Uint32(dataBlob))
colData = append(colData, data)
}
}
......@@ -723,7 +723,7 @@ func translateHits(schema *typeutil.SchemaHelper, fieldIDs []int64, rawHits [][]
for _, hit := range hits {
for _, row := range hit.RowData {
dataBlob := row[blobOffset : blobOffset+blobLen]
data := int64(binary.LittleEndian.Uint64(dataBlob))
data := int64(common.Endian.Uint64(dataBlob))
colData = append(colData, data)
}
}
......@@ -746,7 +746,7 @@ func translateHits(schema *typeutil.SchemaHelper, fieldIDs []int64, rawHits [][]
for _, hit := range hits {
for _, row := range hit.RowData {
dataBlob := row[blobOffset : blobOffset+blobLen]
data := math.Float32frombits(binary.LittleEndian.Uint32(dataBlob))
data := math.Float32frombits(common.Endian.Uint32(dataBlob))
colData = append(colData, data)
}
}
......@@ -769,7 +769,7 @@ func translateHits(schema *typeutil.SchemaHelper, fieldIDs []int64, rawHits [][]
for _, hit := range hits {
for _, row := range hit.RowData {
dataBlob := row[blobOffset : blobOffset+blobLen]
data := math.Float64frombits(binary.LittleEndian.Uint64(dataBlob))
data := math.Float64frombits(common.Endian.Uint64(dataBlob))
colData = append(colData, data)
}
}
......
......@@ -174,12 +174,12 @@ func TestQueryCollection_withoutVChannel(t *testing.T) {
var searchRawData2 []byte
for i, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele+float32(i*2)))
common.Endian.PutUint32(buf, math.Float32bits(ele+float32(i*2)))
searchRawData1 = append(searchRawData1, buf...)
}
for i, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele+float32(i*4)))
common.Endian.PutUint32(buf, math.Float32bits(ele+float32(i*4)))
searchRawData2 = append(searchRawData2, buf...)
}
......@@ -331,49 +331,49 @@ func TestQueryCollection_TranslateHits(t *testing.T) {
case schemapb.DataType_Bool:
var buf bytes.Buffer
for i := 0; i < defaultMsgLength; i++ {
err := binary.Write(&buf, binary.LittleEndian, true)
err := binary.Write(&buf, common.Endian, true)
assert.NoError(t, err)
}
rawData = append(rawData, buf.Bytes())
case schemapb.DataType_Int8:
var buf bytes.Buffer
for i := 0; i < defaultMsgLength; i++ {
err := binary.Write(&buf, binary.LittleEndian, int8(i))
err := binary.Write(&buf, common.Endian, int8(i))
assert.NoError(t, err)
}
rawData = append(rawData, buf.Bytes())
case schemapb.DataType_Int16:
var buf bytes.Buffer
for i := 0; i < defaultMsgLength; i++ {
err := binary.Write(&buf, binary.LittleEndian, int16(i))
err := binary.Write(&buf, common.Endian, int16(i))
assert.NoError(t, err)
}
rawData = append(rawData, buf.Bytes())
case schemapb.DataType_Int32:
var buf bytes.Buffer
for i := 0; i < defaultMsgLength; i++ {
err := binary.Write(&buf, binary.LittleEndian, int32(i))
err := binary.Write(&buf, common.Endian, int32(i))
assert.NoError(t, err)
}
rawData = append(rawData, buf.Bytes())
case schemapb.DataType_Int64:
var buf bytes.Buffer
for i := 0; i < defaultMsgLength; i++ {
err := binary.Write(&buf, binary.LittleEndian, int64(i))
err := binary.Write(&buf, common.Endian, int64(i))
assert.NoError(t, err)
}
rawData = append(rawData, buf.Bytes())
case schemapb.DataType_Float:
var buf bytes.Buffer
for i := 0; i < defaultMsgLength; i++ {
err := binary.Write(&buf, binary.LittleEndian, float32(i))
err := binary.Write(&buf, common.Endian, float32(i))
assert.NoError(t, err)
}
rawData = append(rawData, buf.Bytes())
case schemapb.DataType_Double:
var buf bytes.Buffer
for i := 0; i < defaultMsgLength; i++ {
err := binary.Write(&buf, binary.LittleEndian, float64(i))
err := binary.Write(&buf, common.Endian, float64(i))
assert.NoError(t, err)
}
rawData = append(rawData, buf.Bytes())
......
......@@ -13,7 +13,6 @@ package querynode
import (
"context"
"encoding/binary"
"math"
"math/rand"
"testing"
......@@ -22,6 +21,7 @@ import (
"github.com/golang/protobuf/proto"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/msgstream"
"github.com/milvus-io/milvus/internal/proto/commonpb"
"github.com/milvus-io/milvus/internal/proto/internalpb"
......@@ -78,12 +78,12 @@ func sendSearchRequest(ctx context.Context, DIM int) error {
var searchRawData2 []byte
for i, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele+float32(i*2)))
common.Endian.PutUint32(buf, math.Float32bits(ele+float32(i*2)))
searchRawData1 = append(searchRawData1, buf...)
}
for i, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele+float32(i*4)))
common.Endian.PutUint32(buf, math.Float32bits(ele+float32(i*4)))
searchRawData2 = append(searchRawData2, buf...)
}
......
......@@ -12,7 +12,6 @@
package querynode
import (
"encoding/binary"
"log"
"math"
"testing"
......@@ -20,6 +19,7 @@ import (
"github.com/golang/protobuf/proto"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/milvuspb"
)
......@@ -40,12 +40,12 @@ func TestReduce_AllFunc(t *testing.T) {
var searchRawData2 []byte
for i, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele+float32(i*2)))
common.Endian.PutUint32(buf, math.Float32bits(ele+float32(i*2)))
searchRawData1 = append(searchRawData1, buf...)
}
for i, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele+float32(i*4)))
common.Endian.PutUint32(buf, math.Float32bits(ele+float32(i*4)))
searchRawData2 = append(searchRawData2, buf...)
}
placeholderValue := milvuspb.PlaceholderValue{
......
......@@ -33,6 +33,7 @@ import (
"github.com/stretchr/testify/assert"
"go.uber.org/zap"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/log"
"github.com/milvus-io/milvus/internal/proto/commonpb"
"github.com/milvus-io/milvus/internal/proto/datapb"
......@@ -384,7 +385,7 @@ func (s *Segment) fillVectorFieldsData(collectionID UniqueID,
}
floatResult := make([]float32, dim)
buf := bytes.NewReader(content)
err = binary.Read(buf, binary.LittleEndian, &floatResult)
err = binary.Read(buf, common.Endian, &floatResult)
if err != nil {
return err
}
......@@ -542,9 +543,10 @@ func (s *Segment) checkIndexReady(fieldID int64) bool {
}
func (s *Segment) updateBloomFilter(pks []int64) {
log.Debug("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx updateBloom Filter", zap.Any("pks", pks))
buf := make([]byte, 8)
for _, pk := range pks {
binary.BigEndian.PutUint64(buf, uint64(pk))
common.Endian.PutUint64(buf, uint64(pk))
s.pkFilter.Add(buf)
}
}
......
......@@ -13,7 +13,6 @@ package querynode
import (
"context"
"encoding/binary"
"log"
"math"
"sync"
......@@ -22,6 +21,7 @@ import (
"github.com/golang/protobuf/proto"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/commonpb"
"github.com/milvus-io/milvus/internal/proto/datapb"
"github.com/milvus-io/milvus/internal/proto/milvuspb"
......@@ -101,11 +101,11 @@ func TestSegment_getRowCount(t *testing.T) {
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, 1)
common.Endian.PutUint32(bs, 1)
rawData = append(rawData, bs...)
var records []*commonpb.Blob
for i := 0; i < N; i++ {
......@@ -160,11 +160,11 @@ func TestSegment_retrieve(t *testing.T) {
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele+float32(i)*float32(N)))
common.Endian.PutUint32(buf, math.Float32bits(ele+float32(i)*float32(N)))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, uint32(i+1))
common.Endian.PutUint32(bs, uint32(i+1))
rawData = append(rawData, bs...)
blob := &commonpb.Blob{
Value: rawData,
......@@ -251,11 +251,11 @@ func TestSegment_getDeletedCount(t *testing.T) {
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, 1)
common.Endian.PutUint32(bs, 1)
rawData = append(rawData, bs...)
var records []*commonpb.Blob
for i := 0; i < N; i++ {
......@@ -313,11 +313,11 @@ func TestSegment_getMemSize(t *testing.T) {
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, 1)
common.Endian.PutUint32(bs, 1)
rawData = append(rawData, bs...)
var records []*commonpb.Blob
for i := 0; i < N; i++ {
......@@ -361,11 +361,11 @@ func TestSegment_segmentInsert(t *testing.T) {
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, 1)
common.Endian.PutUint32(bs, 1)
rawData = append(rawData, bs...)
var records []*commonpb.Blob
for i := 0; i < N; i++ {
......@@ -421,11 +421,11 @@ func TestSegment_segmentDelete(t *testing.T) {
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, 1)
common.Endian.PutUint32(bs, 1)
rawData = append(rawData, bs...)
var records []*commonpb.Blob
for i := 0; i < N; i++ {
......@@ -471,11 +471,11 @@ func TestSegment_segmentSearch(t *testing.T) {
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, 1)
common.Endian.PutUint32(bs, 1)
rawData = append(rawData, bs...)
var records []*commonpb.Blob
for i := 0; i < N; i++ {
......@@ -495,7 +495,7 @@ func TestSegment_segmentSearch(t *testing.T) {
var searchRawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
searchRawData = append(searchRawData, buf...)
}
placeholderValue := milvuspb.PlaceholderValue{
......@@ -574,11 +574,11 @@ func TestSegment_segmentPreInsert(t *testing.T) {
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, 1)
common.Endian.PutUint32(bs, 1)
rawData = append(rawData, bs...)
var records []*commonpb.Blob
for i := 0; i < N; i++ {
......@@ -616,11 +616,11 @@ func TestSegment_segmentPreDelete(t *testing.T) {
var rawData []byte
for _, ele := range vec {
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, math.Float32bits(ele))
common.Endian.PutUint32(buf, math.Float32bits(ele))
rawData = append(rawData, buf...)
}
bs := make([]byte, 4)
binary.LittleEndian.PutUint32(bs, 1)
common.Endian.PutUint32(bs, 1)
rawData = append(rawData, bs...)
var records []*commonpb.Blob
for i := 0; i < N; i++ {
......
......@@ -24,6 +24,7 @@ import (
"github.com/milvus-io/milvus/internal/util/uniquegenerator"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/schemapb"
"github.com/milvus-io/milvus/internal/util/tsoutil"
"github.com/stretchr/testify/assert"
......@@ -1156,7 +1157,7 @@ func TestNewBinlogReaderError(t *testing.T) {
assert.NotNil(t, err)
buffer := new(bytes.Buffer)
err = binary.Write(buffer, binary.LittleEndian, int32(MagicNumber))
err = binary.Write(buffer, common.Endian, int32(MagicNumber))
assert.Nil(t, err)
data = buffer.Bytes()
......@@ -1164,7 +1165,7 @@ func TestNewBinlogReaderError(t *testing.T) {
assert.Nil(t, reader)
assert.NotNil(t, err)
err = binary.Write(buffer, binary.LittleEndian, int32(555))
err = binary.Write(buffer, common.Endian, int32(555))
assert.Nil(t, err)
data = buffer.Bytes()
......
......@@ -16,6 +16,7 @@ import (
"encoding/binary"
"fmt"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/schemapb"
)
......@@ -94,7 +95,7 @@ func (writer *baseBinlogWriter) Close() error {
var offset int32 = 0
writer.buffer = new(bytes.Buffer)
if err := binary.Write(writer.buffer, binary.LittleEndian, int32(MagicNumber)); err != nil {
if err := binary.Write(writer.buffer, common.Endian, int32(MagicNumber)); err != nil {
return err
}
offset += int32(binary.Size(MagicNumber))
......
......@@ -19,6 +19,7 @@ import (
"io"
"strconv"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/schemapb"
"github.com/milvus-io/milvus/internal/util/typeutil"
)
......@@ -97,16 +98,16 @@ func (data *descriptorEventData) FinishExtra() error {
// Write transfer DescriptorEventDataFixPart to binary buffer.
func (data *descriptorEventData) Write(buffer io.Writer) error {
if err := binary.Write(buffer, binary.LittleEndian, data.DescriptorEventDataFixPart); err != nil {
if err := binary.Write(buffer, common.Endian, data.DescriptorEventDataFixPart); err != nil {
return err
}
if err := binary.Write(buffer, binary.LittleEndian, data.PostHeaderLengths); err != nil {
if err := binary.Write(buffer, common.Endian, data.PostHeaderLengths); err != nil {
return err
}
if err := binary.Write(buffer, binary.LittleEndian, data.ExtraLength); err != nil {
if err := binary.Write(buffer, common.Endian, data.ExtraLength); err != nil {
return err
}
if err := binary.Write(buffer, binary.LittleEndian, data.ExtraBytes); err != nil {
if err := binary.Write(buffer, common.Endian, data.ExtraBytes); err != nil {
return err
}
......@@ -115,18 +116,18 @@ func (data *descriptorEventData) Write(buffer io.Writer) error {
func readDescriptorEventData(buffer io.Reader) (*descriptorEventData, error) {
event := newDescriptorEventData()
if err := binary.Read(buffer, binary.LittleEndian, &event.DescriptorEventDataFixPart); err != nil {
if err := binary.Read(buffer, common.Endian, &event.DescriptorEventDataFixPart); err != nil {
return nil, err
}
if err := binary.Read(buffer, binary.LittleEndian, &event.PostHeaderLengths); err != nil {
if err := binary.Read(buffer, common.Endian, &event.PostHeaderLengths); err != nil {
return nil, err
}
if err := binary.Read(buffer, binary.LittleEndian, &event.ExtraLength); err != nil {
if err := binary.Read(buffer, common.Endian, &event.ExtraLength); err != nil {
return nil, err
}
event.ExtraBytes = make([]byte, event.ExtraLength)
if err := binary.Read(buffer, binary.LittleEndian, &event.ExtraBytes); err != nil {
if err := binary.Read(buffer, common.Endian, &event.ExtraBytes); err != nil {
return nil, err
}
if err := json.Unmarshal(event.ExtraBytes, &event.Extras); err != nil {
......@@ -164,7 +165,7 @@ func (data *insertEventData) WriteEventData(buffer io.Writer) error {
if data.EndTimestamp == 0 {
return errors.New("hasn't set end time stamp")
}
return binary.Write(buffer, binary.LittleEndian, data)
return binary.Write(buffer, common.Endian, data)
}
type deleteEventData struct {
......@@ -188,7 +189,7 @@ func (data *deleteEventData) WriteEventData(buffer io.Writer) error {
if data.EndTimestamp == 0 {
return errors.New("hasn't set end time stamp")
}
return binary.Write(buffer, binary.LittleEndian, data)
return binary.Write(buffer, common.Endian, data)
}
type createCollectionEventData struct {
......@@ -212,7 +213,7 @@ func (data *createCollectionEventData) WriteEventData(buffer io.Writer) error {
if data.EndTimestamp == 0 {
return errors.New("hasn't set end time stamp")
}
return binary.Write(buffer, binary.LittleEndian, data)
return binary.Write(buffer, common.Endian, data)
}
type dropCollectionEventData struct {
......@@ -236,7 +237,7 @@ func (data *dropCollectionEventData) WriteEventData(buffer io.Writer) error {
if data.EndTimestamp == 0 {
return errors.New("hasn't set end time stamp")
}
return binary.Write(buffer, binary.LittleEndian, data)
return binary.Write(buffer, common.Endian, data)
}
type createPartitionEventData struct {
......@@ -260,7 +261,7 @@ func (data *createPartitionEventData) WriteEventData(buffer io.Writer) error {
if data.EndTimestamp == 0 {
return errors.New("hasn't set end time stamp")
}
return binary.Write(buffer, binary.LittleEndian, data)
return binary.Write(buffer, common.Endian, data)
}
type dropPartitionEventData struct {
......@@ -284,7 +285,7 @@ func (data *dropPartitionEventData) WriteEventData(buffer io.Writer) error {
if data.EndTimestamp == 0 {
return errors.New("hasn't set end time stamp")
}
return binary.Write(buffer, binary.LittleEndian, data)
return binary.Write(buffer, common.Endian, data)
}
type indexFileEventData struct {
......@@ -308,7 +309,7 @@ func (data *indexFileEventData) WriteEventData(buffer io.Writer) error {
if data.EndTimestamp == 0 {
return errors.New("hasn't set end time stamp")
}
return binary.Write(buffer, binary.LittleEndian, data)
return binary.Write(buffer, common.Endian, data)
}
func getEventFixPartSize(code EventTypeCode) int32 {
......@@ -400,7 +401,7 @@ func newIndexFileEventData() *indexFileEventData {
func readInsertEventDataFixPart(buffer io.Reader) (*insertEventData, error) {
data := &insertEventData{}
if err := binary.Read(buffer, binary.LittleEndian, data); err != nil {
if err := binary.Read(buffer, common.Endian, data); err != nil {
return nil, err
}
return data, nil
......@@ -408,7 +409,7 @@ func readInsertEventDataFixPart(buffer io.Reader) (*insertEventData, error) {
func readDeleteEventDataFixPart(buffer io.Reader) (*deleteEventData, error) {
data := &deleteEventData{}
if err := binary.Read(buffer, binary.LittleEndian, data); err != nil {
if err := binary.Read(buffer, common.Endian, data); err != nil {
return nil, err
}
return data, nil
......@@ -416,7 +417,7 @@ func readDeleteEventDataFixPart(buffer io.Reader) (*deleteEventData, error) {
func readCreateCollectionEventDataFixPart(buffer io.Reader) (*createCollectionEventData, error) {
data := &createCollectionEventData{}
if err := binary.Read(buffer, binary.LittleEndian, data); err != nil {
if err := binary.Read(buffer, common.Endian, data); err != nil {
return nil, err
}
return data, nil
......@@ -424,7 +425,7 @@ func readCreateCollectionEventDataFixPart(buffer io.Reader) (*createCollectionEv
func readDropCollectionEventDataFixPart(buffer io.Reader) (*dropCollectionEventData, error) {
data := &dropCollectionEventData{}
if err := binary.Read(buffer, binary.LittleEndian, data); err != nil {
if err := binary.Read(buffer, common.Endian, data); err != nil {
return nil, err
}
return data, nil
......@@ -432,7 +433,7 @@ func readDropCollectionEventDataFixPart(buffer io.Reader) (*dropCollectionEventD
func readCreatePartitionEventDataFixPart(buffer io.Reader) (*createPartitionEventData, error) {
data := &createPartitionEventData{}
if err := binary.Read(buffer, binary.LittleEndian, data); err != nil {
if err := binary.Read(buffer, common.Endian, data); err != nil {
return nil, err
}
return data, nil
......@@ -440,7 +441,7 @@ func readCreatePartitionEventDataFixPart(buffer io.Reader) (*createPartitionEven
func readDropPartitionEventDataFixPart(buffer io.Reader) (*dropPartitionEventData, error) {
data := &dropPartitionEventData{}
if err := binary.Read(buffer, binary.LittleEndian, data); err != nil {
if err := binary.Read(buffer, common.Endian, data); err != nil {
return nil, err
}
return data, nil
......@@ -448,7 +449,7 @@ func readDropPartitionEventDataFixPart(buffer io.Reader) (*dropPartitionEventDat
func readIndexFileEventDataFixPart(buffer io.Reader) (*indexFileEventData, error) {
data := &indexFileEventData{}
if err := binary.Read(buffer, binary.LittleEndian, data); err != nil {
if err := binary.Read(buffer, common.Endian, data); err != nil {
return nil, err
}
return data, nil
......
......@@ -16,6 +16,7 @@ import (
"io"
"time"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/util/tsoutil"
"github.com/milvus-io/milvus/internal/util/typeutil"
)
......@@ -32,7 +33,7 @@ func (header *baseEventHeader) GetMemoryUsageInBytes() int32 {
}
func (header *baseEventHeader) Write(buffer io.Writer) error {
return binary.Write(buffer, binary.LittleEndian, header)
return binary.Write(buffer, common.Endian, header)
}
type descriptorEventHeader = baseEventHeader
......@@ -43,7 +44,7 @@ type eventHeader struct {
func readEventHeader(buffer io.Reader) (*eventHeader, error) {
header := &eventHeader{}
if err := binary.Read(buffer, binary.LittleEndian, header); err != nil {
if err := binary.Read(buffer, common.Endian, header); err != nil {
return nil, err
}
......@@ -52,7 +53,7 @@ func readEventHeader(buffer io.Reader) (*eventHeader, error) {
func readDescriptorEventHeader(buffer io.Reader) (*descriptorEventHeader, error) {
header := &descriptorEventHeader{}
if err := binary.Read(buffer, binary.LittleEndian, header); err != nil {
if err := binary.Read(buffer, common.Endian, header); err != nil {
return nil, err
}
return header, nil
......
......@@ -19,6 +19,7 @@ import (
"time"
"unsafe"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/schemapb"
"github.com/milvus-io/milvus/internal/util/tsoutil"
"github.com/stretchr/testify/assert"
......@@ -1242,7 +1243,7 @@ func TestReadFixPartError(t *testing.T) {
assert.NotNil(t, err)
event := newDescriptorEventData()
err = binary.Write(buf, binary.LittleEndian, event.DescriptorEventDataFixPart)
err = binary.Write(buf, common.Endian, event.DescriptorEventDataFixPart)
assert.Nil(t, err)
_, err = readDescriptorEventData(buf)
assert.NotNil(t, err)
......@@ -1284,7 +1285,7 @@ func TestEventReaderError(t *testing.T) {
StartTimestamp: 1000,
EndTimestamp: 2000,
}
err = binary.Write(buf, binary.LittleEndian, insertData)
err = binary.Write(buf, common.Endian, insertData)
assert.Nil(t, err)
r, err = newEventReader(schemapb.DataType_Int64, buf)
......
......@@ -19,6 +19,7 @@ import (
"io"
"strconv"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/schemapb"
)
......@@ -81,7 +82,7 @@ func (event *descriptorEvent) Write(buffer io.Writer) error {
func readMagicNumber(buffer io.Reader) (int32, error) {
var magicNumber int32
if err := binary.Read(buffer, binary.LittleEndian, &magicNumber); err != nil {
if err := binary.Read(buffer, common.Endian, &magicNumber); err != nil {
return -1, err
}
if magicNumber != MagicNumber {
......@@ -148,7 +149,7 @@ func (writer *baseEventWriter) Write(buffer *bytes.Buffer) error {
if err != nil {
return err
}
if err := binary.Write(buffer, binary.LittleEndian, data); err != nil {
if err := binary.Write(buffer, common.Endian, data); err != nil {
return err
}
return nil
......
......@@ -16,6 +16,7 @@ import (
"encoding/binary"
"testing"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/schemapb"
"github.com/stretchr/testify/assert"
)
......@@ -32,7 +33,7 @@ func TestEventTypeCode_String(t *testing.T) {
func TestSizeofStruct(t *testing.T) {
var buf bytes.Buffer
err := binary.Write(&buf, binary.LittleEndian, baseEventHeader{})
err := binary.Write(&buf, common.Endian, baseEventHeader{})
assert.Nil(t, err)
s1 := binary.Size(baseEventHeader{})
s2 := binary.Size(&baseEventHeader{})
......@@ -95,12 +96,12 @@ func TestReadMagicNumber(t *testing.T) {
assert.Error(t, err)
// not a magic number
_ = binary.Write(&buf, binary.LittleEndian, MagicNumber+1)
_ = binary.Write(&buf, common.Endian, MagicNumber+1)
_, err = readMagicNumber(&buf)
assert.Error(t, err)
// normal case
_ = binary.Write(&buf, binary.LittleEndian, MagicNumber)
_ = binary.Write(&buf, common.Endian, MagicNumber)
num, err := readMagicNumber(&buf)
assert.NoError(t, err)
assert.Equal(t, MagicNumber, num)
......
......@@ -12,10 +12,10 @@
package storage
import (
"encoding/binary"
"encoding/json"
"github.com/bits-and-blooms/bloom/v3"
"github.com/milvus-io/milvus/internal/common"
)
const (
......@@ -57,7 +57,7 @@ func (sw *StatsWriter) StatsInt64(fieldID int64, isPrimaryKey bool, msgs []int64
stats.BF = bloom.NewWithEstimates(bloomFilterSize, maxBloomFalsePositive)
b := make([]byte, 8)
for _, msg := range msgs {
binary.LittleEndian.PutUint64(b, uint64(msg))
common.Endian.PutUint64(b, uint64(msg))
stats.BF.Add(b)
}
}
......
......@@ -12,7 +12,6 @@
package storage
import (
"encoding/binary"
"testing"
"github.com/milvus-io/milvus/internal/common"
......@@ -35,7 +34,7 @@ func TestStatsWriter_StatsInt64(t *testing.T) {
assert.Equal(t, stats.Min, int64(1))
buffer := make([]byte, 8)
for _, id := range data {
binary.LittleEndian.PutUint64(buffer, uint64(id))
common.Endian.PutUint64(buffer, uint64(id))
assert.True(t, stats.BF.Test(buffer))
}
......
......@@ -20,6 +20,7 @@ import (
"fmt"
"testing"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/util/funcutil"
"github.com/milvus-io/milvus/internal/util/uniquegenerator"
......@@ -64,7 +65,7 @@ func (kv *mockWrongHeaderDataKV) LoadPartial(key string, start, end int64) ([]by
header.NextPosition = -1
buffer := bytes.Buffer{}
_ = binary.Write(&buffer, binary.LittleEndian, header)
_ = binary.Write(&buffer, common.Endian, header)
return buffer.Bytes(), nil
}
......@@ -247,7 +248,7 @@ func (kv *mockFailedToGetDescDataKV) LoadPartial(key string, start, end int64) (
}
buf := bytes.Buffer{}
_ = binary.Write(&buf, binary.LittleEndian, header)
_ = binary.Write(&buf, common.Endian, header)
return buf.Bytes(), nil
}
......@@ -278,7 +279,7 @@ func (kv *mockLessDescDataKV) LoadPartial(key string, start, end int64) ([]byte,
header.EventLength = 20
buffer := bytes.Buffer{}
_ = binary.Write(&buffer, binary.LittleEndian, header)
_ = binary.Write(&buffer, common.Endian, header)
// no event data
return buffer.Bytes(), nil
......@@ -288,7 +289,7 @@ func (kv *mockLessDescDataKV) LoadPartial(key string, start, end int64) ([]byte,
desc.ExtraLength = 2
desc.ExtraBytes = []byte{1, 2}
buffer := bytes.Buffer{}
_ = binary.Write(&buffer, binary.LittleEndian, desc)
_ = binary.Write(&buffer, common.Endian, desc)
// extra not in json format
return buffer.Bytes(), nil
*/
......
......@@ -17,6 +17,7 @@ import (
"errors"
"io"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/proto/etcdpb"
)
......@@ -73,7 +74,7 @@ func (vcm *VectorChunkManager) downloadVectorFile(key string) ([]byte, error) {
floatVector, ok := singleData.(*FloatVectorFieldData)
if ok {
buf := new(bytes.Buffer)
err := binary.Write(buf, binary.LittleEndian, floatVector.Data)
err := binary.Write(buf, common.Endian, floatVector.Data)
if err != nil {
return nil, err
}
......
......@@ -23,6 +23,7 @@ import (
"go.uber.org/zap"
"github.com/apache/pulsar-client-go/pulsar"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/log"
"github.com/stretchr/testify/assert"
)
......@@ -30,14 +31,14 @@ import (
func IntToBytes(n int) []byte {
tmp := int32(n)
bytesBuffer := bytes.NewBuffer([]byte{})
binary.Write(bytesBuffer, binary.BigEndian, tmp)
binary.Write(bytesBuffer, common.Endian, tmp)
return bytesBuffer.Bytes()
}
func BytesToInt(b []byte) int {
bytesBuffer := bytes.NewBuffer(b)
var tmp int32
binary.Read(bytesBuffer, binary.BigEndian, &tmp)
binary.Read(bytesBuffer, common.Endian, &tmp)
return int(tmp)
}
......
......@@ -12,8 +12,7 @@
package mqclient
import (
"encoding/binary"
"github.com/milvus-io/milvus/internal/common"
"github.com/milvus-io/milvus/internal/util/rocksmq/server/rocksmq"
)
......@@ -52,11 +51,11 @@ func (rid *rmqID) PartitionIdx() int32 {
// SerializeRmqID is used to serialize a message ID to byte array
func SerializeRmqID(messageID int64) []byte {
b := make([]byte, 8)
binary.LittleEndian.PutUint64(b, uint64(messageID))
common.Endian.PutUint64(b, uint64(messageID))
return b
}
// DeserializeRmqID is used to deserialize a message ID from byte array
func DeserializeRmqID(messageID []byte) (int64, error) {
return int64(binary.LittleEndian.Uint64(messageID)), nil
return int64(common.Endian.Uint64(messageID)), nil
}
......@@ -12,24 +12,25 @@
package typeutil
import (
"encoding/binary"
"fmt"
"math"
"reflect"
"github.com/milvus-io/milvus/internal/common"
)
// Float32ToBytes converts a float to byte slice.
func Float32ToBytes(float float32) []byte {
bits := math.Float32bits(float)
bytes := make([]byte, 4)
binary.LittleEndian.PutUint32(bytes, bits)
common.Endian.PutUint32(bytes, bits)
return bytes
}
// BytesToFloat32 converts a byte slice to float32.
func BytesToFloat32(bytes []byte) float32 {
bits := binary.LittleEndian.Uint32(bytes)
bits := common.Endian.Uint32(bytes)
return math.Float32frombits(bits)
}
......@@ -40,13 +41,13 @@ func BytesToInt64(b []byte) (int64, error) {
return 0, fmt.Errorf("Failed to convert []byte to int64: invalid data, must 8 bytes, but %d", len(b))
}
return int64(binary.BigEndian.Uint64(b)), nil
return int64(common.Endian.Uint64(b)), nil
}
// Int64ToBytes converts uint64 to a byte slice.
func Int64ToBytes(v int64) []byte {
b := make([]byte, 8)
binary.BigEndian.PutUint64(b, uint64(v))
common.Endian.PutUint64(b, uint64(v))
return b
}
......@@ -56,13 +57,13 @@ func BytesToUint64(b []byte) (uint64, error) {
return 0, fmt.Errorf("Failed to convert []byte to uint64: invalid data, must 8 bytes, but %d", len(b))
}
return binary.BigEndian.Uint64(b), nil
return common.Endian.Uint64(b), nil
}
// Uint64ToBytes converts uint64 to a byte slice.
func Uint64ToBytes(v uint64) []byte {
b := make([]byte, 8)
binary.BigEndian.PutUint64(b, v)
common.Endian.PutUint64(b, v)
return b
}
......
......@@ -12,9 +12,9 @@
package typeutil
import (
"encoding/binary"
"unsafe"
"github.com/milvus-io/milvus/internal/common"
"github.com/spaolacci/murmur3"
)
......@@ -32,7 +32,7 @@ func Hash32Uint64(v uint64) (uint32, error) {
// need unsafe package to get element byte size
/* #nosec G103 */
b := make([]byte, unsafe.Sizeof(v))
binary.LittleEndian.PutUint64(b, v)
common.Endian.PutUint64(b, v)
return Hash32Bytes(b)
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册