提交 e3956ad1 编写于 作者: C congqixia 提交者: zhenshan.cao

Change SaveBinLogPaths field2Path to repeated (#8)

Signed-off-by: NCongqi Xia <congqi.xia@zilliz.com>
上级 ef563fda
...@@ -313,12 +313,12 @@ func (node *DataNode) FlushSegments(ctx context.Context, req *datapb.FlushSegmen ...@@ -313,12 +313,12 @@ func (node *DataNode) FlushSegments(ctx context.Context, req *datapb.FlushSegmen
waitReceive := func(wg *sync.WaitGroup, flushedCh interface{}, req *datapb.SaveBinlogPathsRequest) { waitReceive := func(wg *sync.WaitGroup, flushedCh interface{}, req *datapb.SaveBinlogPathsRequest) {
defer wg.Done() defer wg.Done()
switch flushedCh.(type) { switch Ch := flushedCh.(type) {
case chan []*datapb.ID2PathList: case chan []*datapb.ID2PathList:
select { select {
case <-time.After(300 * time.Second): case <-time.After(300 * time.Second):
return return
case meta := <-flushedCh.(chan []*datapb.ID2PathList): case meta := <-Ch:
if meta == nil { if meta == nil {
log.Info("Dml messages flush failed!") log.Info("Dml messages flush failed!")
// Modify req to confirm failure // Modify req to confirm failure
...@@ -333,7 +333,7 @@ func (node *DataNode) FlushSegments(ctx context.Context, req *datapb.FlushSegmen ...@@ -333,7 +333,7 @@ func (node *DataNode) FlushSegments(ctx context.Context, req *datapb.FlushSegmen
select { select {
case <-time.After(300 * time.Second): case <-time.After(300 * time.Second):
return return
case meta := <-flushedCh.(chan []*datapb.DDLBinlogMeta): case meta := <-Ch:
if meta == nil { if meta == nil {
log.Info("Ddl messages flush failed!") log.Info("Ddl messages flush failed!")
// Modify req to confirm failure // Modify req to confirm failure
......
...@@ -538,13 +538,16 @@ func (s *Server) prepareBinlogAndPos(req *datapb.SaveBinlogPathsRequest) (map[st ...@@ -538,13 +538,16 @@ func (s *Server) prepareBinlogAndPos(req *datapb.SaveBinlogPathsRequest) (map[st
} }
log.Debug("segment", zap.Int64("segment", segInfo.CollectionID)) log.Debug("segment", zap.Int64("segment", segInfo.CollectionID))
fieldMeta, err := s.prepareField2PathMeta(req.SegmentID, req.Field2BinlogPaths) for _, fieldBlp := range req.Field2BinlogPaths {
if err != nil { fieldMeta, err := s.prepareField2PathMeta(req.SegmentID, fieldBlp)
return nil, err if err != nil {
} return nil, err
for k, v := range fieldMeta { }
meta[k] = v for k, v := range fieldMeta {
meta[k] = v
}
} }
ddlMeta, err := s.prepareDDLBinlogMeta(req.CollectionID, req.GetDdlBinlogPaths()) ddlMeta, err := s.prepareDDLBinlogMeta(req.CollectionID, req.GetDdlBinlogPaths())
if err != nil { if err != nil {
return nil, err return nil, err
......
...@@ -537,9 +537,11 @@ func TestSaveBinlogPaths(t *testing.T) { ...@@ -537,9 +537,11 @@ func TestSaveBinlogPaths(t *testing.T) {
}, },
SegmentID: 2, SegmentID: 2,
CollectionID: 0, CollectionID: 0,
Field2BinlogPaths: &datapb.ID2PathList{ Field2BinlogPaths: []*datapb.ID2PathList{
ID: 1, {
Paths: []string{"/by-dev/test/0/1/2/1/Allo1", "/by-dev/test/0/1/2/1/Allo2"}, ID: 1,
Paths: []string{"/by-dev/test/0/1/2/1/Allo1", "/by-dev/test/0/1/2/1/Allo2"},
},
}, },
DdlBinlogPaths: []*datapb.DDLBinlogMeta{ DdlBinlogPaths: []*datapb.DDLBinlogMeta{
{ {
...@@ -588,9 +590,11 @@ func TestSaveBinlogPaths(t *testing.T) { ...@@ -588,9 +590,11 @@ func TestSaveBinlogPaths(t *testing.T) {
resp, err := svr.SaveBinlogPaths(ctx, &datapb.SaveBinlogPathsRequest{ resp, err := svr.SaveBinlogPaths(ctx, &datapb.SaveBinlogPathsRequest{
SegmentID: 10, SegmentID: 10,
CollectionID: 5, CollectionID: 5,
Field2BinlogPaths: &datapb.ID2PathList{ Field2BinlogPaths: []*datapb.ID2PathList{
ID: 1, {
Paths: []string{"/by-dev/test/0/1/2/1/Allo1", "/by-dev/test/0/1/2/1/Allo2"}, ID: 1,
Paths: []string{"/by-dev/test/0/1/2/1/Allo1", "/by-dev/test/0/1/2/1/Allo2"},
},
}, },
DdlBinlogPaths: []*datapb.DDLBinlogMeta{ DdlBinlogPaths: []*datapb.DDLBinlogMeta{
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册