Use regular mapper for manager and properly cleanup on close
This commit is contained in:
parent
8b5bab5250
commit
5e277410f3
@ -10,6 +10,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
|
"github.com/hashicorp/go-argmapper"
|
||||||
"github.com/hashicorp/go-hclog"
|
"github.com/hashicorp/go-hclog"
|
||||||
"github.com/hashicorp/go-multierror"
|
"github.com/hashicorp/go-multierror"
|
||||||
"github.com/hashicorp/go-plugin"
|
"github.com/hashicorp/go-plugin"
|
||||||
@ -471,7 +472,15 @@ func (m *Manager) Servinfo() ([]byte, error) {
|
|||||||
return nil, fmt.Errorf("legacy broker is unset, cannot create server")
|
return nil, fmt.Errorf("legacy broker is unset, cannot create server")
|
||||||
}
|
}
|
||||||
|
|
||||||
p, closer, err := protomappers.PluginManagerProtoDirect(m, m.logger, m.legacyBroker)
|
i := &internal{
|
||||||
|
broker: m.legacyBroker,
|
||||||
|
cache: cacher.New(),
|
||||||
|
cleanup: cleanup.New(),
|
||||||
|
logger: m.logger,
|
||||||
|
mappers: []*argmapper.Func{},
|
||||||
|
}
|
||||||
|
|
||||||
|
p, err := protomappers.PluginManagerProto(m, m.logger, i)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
m.logger.Warn("failed to create plugin manager grpc server",
|
m.logger.Warn("failed to create plugin manager grpc server",
|
||||||
"error", err,
|
"error", err,
|
||||||
@ -481,10 +490,8 @@ func (m *Manager) Servinfo() ([]byte, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn := func() error {
|
fn := func() error {
|
||||||
m.logger.Info("closing the GRPC server instance")
|
m.logger.Info("closing the plugin manager GRPC server instance")
|
||||||
closer()
|
return i.cleanup.Close()
|
||||||
m.srv = nil
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
m.closer(fn)
|
m.closer(fn)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user