Use regular mapper for manager and properly cleanup on close

This commit is contained in:
Chris Roberts 2022-04-20 14:14:35 -07:00
parent 8b5bab5250
commit 5e277410f3

View File

@ -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)