We are upgrading the temporal server image from 1.17.4 to 1.18.0/1.18.1. We use ES v7 and have executed the v3 version upgrade script. We are using admin-tools 1.18.1 image. The pods are crashing with below error. Could you please advise if there is any other step we are missing.
ERROR Failed to start: could not build arguments for function .(*App).constructCustomLogger.func2 (/go/pkg/mod/go.uber.org/fx@v1.17.1/app.go:415): failed to build fxevent.Logger: could not build arguments for function "go.temporal.io/server/temporal".glob..func8 (/go/pkg/mod/go.temporal.io/server@v1.18.0/temporal/fx.go:916): failed to build log.Logger: received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider (/go/pkg/mod/go.temporal.io/server@v1.18.0/temporal/fx.go:163): **cassandra schema version compatibility check failed**: no connections were made when creating the session
[Fx] PROVIDE fx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm()
[Fx] ERROR Failed to initialize custom logger: could not build arguments for function "go.uber.org/fx".(*App).constructCustomLogger.func2
/go/pkg/mod/go.uber.org/fx@v1.18.2/app.go:414:
failed to build fxevent.Logger:
could not build arguments for function "go.temporal.io/server/temporal".glob..func8
/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:916:
failed to build log.Logger:
received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider
/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:163:
cassandra schema version compatibility check failed: no connections were made when creating the session
[Fx] ERROR Failed to start: could not build arguments for function "go.uber.org/fx".(*App).constructCustomLogger.func2
/go/pkg/mod/go.uber.org/fx@v1.18.2/app.go:414:
failed to build fxevent.Logger:
could not build arguments for function "go.temporal.io/server/temporal".glob..func8
/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:916:
failed to build log.Logger:
received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider
/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:163:
cassandra schema version compatibility check failed: no connections were made when creating the session
Unable to start server. Error: could not build arguments for function "go.uber.org/fx".(*App).constructCustomLogger.func2 (/go/pkg/mod/go.uber.org/fx@v1.18.2/app.go:414): failed to build fxevent.Logger: could not build arguments for function "go.temporal.io/server/temporal".glob..func8 (/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:916): failed to build log.Logger: received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider (/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:163): cassandra schema version compatibility check failed: no connections were made when creating the session
The docker container isn’t starting. It is in error/crashing with the image 1.18.0, however the same deployment set-up works with image 1.17.4. We can see the config is as expected in the container with image 1.17.4.
Generated config look legit (at least from the 1st glance) and is similar to the one produced by the 1.17.4
local-local-01-primary-primary-service.temporal-state.svc.cluster.local - this is the real service name cause of many reasons… also Cassandra runs within the k8s cluster
When it is set to true 1.18.1 fails to connect which was not the case for the 1.17.4. As we run Cassandra within the same cluster such setting set to false actually works better for us as all nodes can be discovered where if we consume a public endpoint we may experience a problem.
Not sure if this is how it supposed to work but let us know if you need us to provide more data & run tests in case it helps fixing the issue for someone else.
At the moment we can proceed with the upgrade, thanks for coming back.
Change the dependency to temporal server v1.18.1 and the config to use MySQL
make start-dependencies to start dependency in temporal repo
make install-schema-mysql to bootstrap the mysql schema
go run authorizer/server/main.go to start the server
The error stack is following:
[Fx] ERROR Failed to initialize custom logger: could not build arguments for function "go.uber.org/fx".(*App).constructCustomLogger.func2
/Users/tmu/go/pkg/mod/go.uber.org/fx@v1.17.1/app.go:415:
failed to build fxevent.Logger:
could not build arguments for function "go.temporal.io/server/temporal".glob..func8
/Users/tmu/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:916:
failed to build log.Logger:
received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider
/Users/tmu/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:163:
sql schema version compatibility check failed: not supported plugin mysql, only supported: map[]
[Fx] ERROR Failed to start: could not build arguments for function "go.uber.org/fx".(*App).constructCustomLogger.func2 (/Users/tmu/go/pkg/mod/go.uber.org/fx@v1.17.1/app.go:415): failed to build fxevent.Logger: could not build arguments for function "go.temporal.io/server/temporal".glob..func8 (/Users/tmu/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:916): failed to build log.Logger: received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider (/Users/tmu/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:163): sql schema version compatibility check failed: not supported plugin mysql, only supported: map[]
2022/10/19 11:34:03 could not build arguments for function "go.uber.org/fx".(*App).constructCustomLogger.func2 (/Users/tmu/go/pkg/mod/go.uber.org/fx@v1.17.1/app.go:415): failed to build fxevent.Logger: could not build arguments for function "go.temporal.io/server/temporal".glob..func8 (/Users/tmu/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:916): failed to build log.Logger: received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider (/Users/tmu/go/pkg/mod/go.temporal.io/server@v1.18.1/temporal/fx.go:163): sql schema version compatibility check failed: not supported plugin mysql, only supported: map[]
exit status 1
Hey @Yimin_Chen I also opened a thread in slack (#support channel) and you are helping on there as well (the problem is not fixed yet). But for the record, the error logs I got is:
{"level":"warn","ts":"2022-10-19T23:44:17.647Z","msg":"Not using any authorizer and flag `--allow-no-auth` not detected. Future versions will require using the flag `--allow-no-auth` if you do not want to set an authorizer.","logging-call-at":"main.go:171"}
[mysql] 2022/10/19 23:44:17 packets.go:36: unexpected EOF
[mysql] 2022/10/19 23:44:17 packets.go:36: unexpected EOF
[mysql] 2022/10/19 23:44:17 packets.go:36: unexpected EOF
[Fx] PROVIDE *pprof.PProfInitializerImpl <= go.temporal.io/server/common/pprof.NewInitializer()
[Fx] PROVIDE *temporal.ServerImpl <= go.temporal.io/server/temporal.NewServerFxImpl()
[Fx] PROVIDE temporal.Server <= go.temporal.io/server/temporal.glob..func9()
[Fx] SUPPLY []temporal.ServerOption
%!(EXTRA string=)[Fx] PROVIDE *temporal.serverOptions <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE chan interface {} <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE *config.Config <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE *config.PProf <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE log.Config <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE resource.ServiceNames <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE resource.NamespaceLogger <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE resolver.ServiceResolver <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE client.AbstractDataStoreFactory <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE searchattribute.Mapper <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE []grpc.UnaryServerInterceptor <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE authorization.Authorizer <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE authorization.ClaimMapper <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE authorization.JWTAudienceMapper <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE log.Logger <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE client.FactoryProvider <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE metrics.Client <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE dynamicconfig.Client <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE *dynamicconfig.Collection <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE encryption.TLSConfigProvider <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE *client.Config <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE client.Client <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE metrics.MetricsHandler <= go.temporal.io/server/temporal.ServerOptionsProvider()
[Fx] PROVIDE []trace.SpanExporter <= go.temporal.io/server/temporal.glob..func2()
[Fx] PROVIDE client.FactoryProviderFn <= go.temporal.io/server/temporal.PersistenceFactoryProvider()
[Fx] PROVIDE *temporal.ServicesMetadata[group = "services"] <= go.temporal.io/server/temporal.HistoryServiceProvider()
[Fx] PROVIDE *temporal.ServicesMetadata[group = "services"] <= go.temporal.io/server/temporal.MatchingServiceProvider()
[Fx] PROVIDE *temporal.ServicesMetadata[group = "services"] <= go.temporal.io/server/temporal.FrontendServiceProvider()
[Fx] PROVIDE *temporal.ServicesMetadata[group = "services"] <= go.temporal.io/server/temporal.WorkerServiceProvider()
[Fx] PROVIDE *cluster.Config <= go.temporal.io/server/temporal.ApplyClusterMetadataConfigProvider()
[Fx] PROVIDE config.Persistence <= go.temporal.io/server/temporal.ApplyClusterMetadataConfigProvider()
[Fx] PROVIDE fx.Lifecycle <= go.uber.org/fx.New.func1()
[Fx] PROVIDE fx.Shutdowner <= go.uber.org/fx.(*App).shutdowner-fm()
[Fx] PROVIDE fx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm()
[Fx] ERROR Failed to initialize custom logger: could not build arguments for function "go.uber.org/fx".(*App).constructCustomLogger.func2
/go/pkg/mod/go.uber.org/fx@v1.17.1/app.go:415:
failed to build fxevent.Logger:
could not build arguments for function "go.temporal.io/server/temporal".glob..func8
/home/builder/temporal/temporal/fx.go:916:
failed to build log.Logger:
received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider
/home/builder/temporal/temporal/fx.go:163:
sql schema version compatibility check failed: driver: bad connection
[Fx] ERROR Failed to start: could not build arguments for function "go.uber.org/fx".(*App).constructCustomLogger.func2 (/go/pkg/mod/go.uber.org/fx@v1.17.1/app.go:415): failed to build fxevent.Logger: could not build arguments for function "go.temporal.io/server/temporal".glob..func8 (/home/builder/temporal/temporal/fx.go:916): failed to build log.Logger: received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider (/home/builder/temporal/temporal/fx.go:163): sql schema version compatibility check failed: driver: bad connection
Unable to start server. Error: could not build arguments for function "go.uber.org/fx".(*App).constructCustomLogger.func2 (/go/pkg/mod/go.uber.org/fx@v1.17.1/app.go:415): failed to build fxevent.Logger: could not build arguments for function "go.temporal.io/server/temporal".glob..func8 (/home/builder/temporal/temporal/fx.go:916): failed to build log.Logger: received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider (/home/builder/temporal/temporal/fx.go:163): sql schema version compatibility check failed: driver: bad connection