2021-04-02 05:48:25 +00:00
|
|
|
package msgstream
|
|
|
|
|
|
|
|
import (
|
2023-06-07 02:00:37 +00:00
|
|
|
"github.com/milvus-io/milvus/internal/mq/mqimpl/rocksmq/server"
|
|
|
|
"github.com/milvus-io/milvus/internal/mq/msgstream/mqwrapper/rmq"
|
2023-04-06 11:14:32 +00:00
|
|
|
"github.com/milvus-io/milvus/pkg/log"
|
|
|
|
"github.com/milvus-io/milvus/pkg/mq/msgstream"
|
2023-08-09 02:05:14 +00:00
|
|
|
"github.com/milvus-io/milvus/pkg/util/paramtable"
|
2023-06-07 02:00:37 +00:00
|
|
|
"go.uber.org/zap"
|
2021-04-02 05:48:25 +00:00
|
|
|
)
|
|
|
|
|
2023-06-07 02:00:37 +00:00
|
|
|
// NewRocksmqFactory creates a new message stream factory based on rocksmq.
|
2023-08-09 02:05:14 +00:00
|
|
|
func NewRocksmqFactory(path string, cfg *paramtable.ServiceParam) msgstream.Factory {
|
2023-06-07 02:00:37 +00:00
|
|
|
if err := server.InitRocksMQ(path); err != nil {
|
|
|
|
log.Fatal("fail to init rocksmq", zap.Error(err))
|
2021-04-02 05:48:25 +00:00
|
|
|
}
|
2023-06-07 02:00:37 +00:00
|
|
|
log.Info("init rocksmq msgstream success", zap.String("path", path))
|
2021-04-02 05:48:25 +00:00
|
|
|
|
2023-06-07 02:00:37 +00:00
|
|
|
return &msgstream.CommonFactory{
|
|
|
|
Newer: rmq.NewClientWithDefaultOptions,
|
|
|
|
DispatcherFactory: msgstream.ProtoUDFactory{},
|
2023-08-09 02:05:14 +00:00
|
|
|
ReceiveBufSize: cfg.MQCfg.ReceiveBufSize.GetAsInt64(),
|
|
|
|
MQBufSize: cfg.MQCfg.MQBufSize.GetAsInt64(),
|
2022-04-07 14:05:32 +00:00
|
|
|
}
|
2021-04-02 05:48:25 +00:00
|
|
|
}
|