mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-07 01:28:27 +08:00
issue: #33285 - remove redundant goroutine by using insepctor. - remove the coutinous non-message timetick persistence - periodically push the time tick forward without persistent timetick message. - add 'message type filter' deliver filter. Signed-off-by: chyezh <chyezh@outlook.com>
32 lines
971 B
Go
32 lines
971 B
Go
package segment
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go.uber.org/zap"
|
|
|
|
"github.com/milvus-io/milvus/internal/streamingnode/server/wal/interceptors"
|
|
"github.com/milvus-io/milvus/internal/streamingnode/server/wal/interceptors/segment/manager"
|
|
"github.com/milvus-io/milvus/pkg/log"
|
|
"github.com/milvus-io/milvus/pkg/util/syncutil"
|
|
)
|
|
|
|
func NewInterceptorBuilder() interceptors.InterceptorBuilder {
|
|
return &interceptorBuilder{}
|
|
}
|
|
|
|
type interceptorBuilder struct{}
|
|
|
|
func (b *interceptorBuilder) Build(param interceptors.InterceptorBuildParam) interceptors.Interceptor {
|
|
assignManager := syncutil.NewFuture[*manager.PChannelSegmentAllocManager]()
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
segmentInterceptor := &segmentInterceptor{
|
|
ctx: ctx,
|
|
cancel: cancel,
|
|
logger: log.With(zap.Any("pchannel", param.WALImpls.Channel())),
|
|
assignManager: assignManager,
|
|
}
|
|
go segmentInterceptor.recoverPChannelManager(param)
|
|
return segmentInterceptor
|
|
}
|