mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-03-03 14:57:22 -05:00
correct usage of suture
This commit is contained in:
@@ -139,7 +139,7 @@ func NewSutureService(ctx context.Context, cfg *config.Config) SutureService {
|
||||
|
||||
func (s SutureService) Serve() {
|
||||
if err := Execute(s.cfg); err != nil {
|
||||
panic(err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -125,7 +125,8 @@ func Server(cfg *config.Config) *cli.Command {
|
||||
|
||||
handler, err := svc.New(svc.Logger(logger), svc.Config(cfg))
|
||||
if err != nil {
|
||||
logger.Fatal().Err(err).Msg("could not initialize service handler")
|
||||
logger.Error().Err(err).Msg("handler init")
|
||||
return err
|
||||
}
|
||||
|
||||
{
|
||||
|
||||
@@ -57,24 +57,11 @@ func New(opts ...Option) (s *Service, err error) {
|
||||
repo: createMetadataStorage(cfg, logger),
|
||||
}
|
||||
|
||||
retries := 20
|
||||
var current int
|
||||
r := oreg.GetRegistry()
|
||||
if cfg.Repo.Disk.Path == "" {
|
||||
for {
|
||||
if current >= retries {
|
||||
panic("metadata service failed to start.")
|
||||
}
|
||||
s, err := r.GetService("com.owncloud.storage.metadata")
|
||||
if err != nil {
|
||||
logger.Error().Err(err).Msg("error getting metadata service from service registry")
|
||||
}
|
||||
if len(s) > 0 {
|
||||
break
|
||||
}
|
||||
logger.Info().Msg("accounts blocked waiting for metadata service to be up and running...")
|
||||
time.Sleep(2 * time.Second)
|
||||
current++
|
||||
if _, err := r.GetService("com.owncloud.storage.metadata"); err != nil {
|
||||
logger.Error().Err(err).Msg("index: storage-metadata service not present")
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -100,6 +100,7 @@ func (r *Runtime) Start() error {
|
||||
// - config file parsing with Viper is no longer possible as viper is not thread-safe (https://github.com/spf13/viper/issues/19)
|
||||
// - replace occurrences of log.Fatal in favor of panic() since the supervisor relies on panics.
|
||||
// - the runtime should ideally run as an rpc service one can do requests, like the good ol' pman, rest in pieces.
|
||||
// - establish on suture a max number of retries before all initialization comes to a halt.
|
||||
|
||||
// propagate reva log config to storage services
|
||||
r.c.Storage.Log.Level = r.c.Log.Level
|
||||
|
||||
Reference in New Issue
Block a user