mirror of
https://gitee.com/milvus-io/milvus.git
synced 2024-12-04 12:59:23 +08:00
d997dd20af
To satisfy QueryNode's request, GetRecoveryInfo interface should return unflushed segments with start position. Because of using the same code for getting seek position in QueryNode and DataNode before, we add a flag to differentiate. Signed-off-by: sunby <bingyi.sun@zilliz.com>
54 lines
1.7 KiB
Go
54 lines
1.7 KiB
Go
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
|
// with the License. You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
|
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
|
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
|
|
|
package dataservice
|
|
|
|
import (
|
|
"github.com/milvus-io/milvus/internal/proto/datapb"
|
|
)
|
|
|
|
type vchannel struct {
|
|
CollectionID UniqueID
|
|
DmlChannel string
|
|
}
|
|
|
|
// positionProvider provides vchannel pair related position pairs
|
|
type positionProvider interface {
|
|
GetVChanPositions(vchans []vchannel, isAccurate bool) ([]*datapb.VchannelInfo, error)
|
|
GetDdlChannel() string
|
|
}
|
|
|
|
type dummyPosProvider struct{}
|
|
|
|
//GetVChanPositions implements positionProvider
|
|
func (dp dummyPosProvider) GetVChanPositions(vchans []vchannel, isAccurate bool) ([]*datapb.VchannelInfo, error) {
|
|
pairs := make([]*datapb.VchannelInfo, len(vchans))
|
|
for _, vchan := range vchans {
|
|
pairs = append(pairs, &datapb.VchannelInfo{
|
|
CollectionID: vchan.CollectionID,
|
|
ChannelName: vchan.DmlChannel,
|
|
FlushedSegments: []int64{},
|
|
UnflushedSegments: []*datapb.SegmentInfo{},
|
|
})
|
|
}
|
|
return pairs, nil
|
|
}
|
|
|
|
//GetDdlChannel implements positionProvider
|
|
func (dp dummyPosProvider) GetDdlChannel() string {
|
|
return "dummy_ddl"
|
|
}
|
|
|
|
//GetDdlChannel implements positionProvider
|
|
func (s *Server) GetDdlChannel() string {
|
|
return s.ddChannelName
|
|
}
|