Graphql server failing after bump of mongo-driver to 1.15.0
Calvinaud opened this issue · 0 comments
What happened:
The graphql server fail to start with the following logs when using the master branch.
Defaulted container "graphql-server" out of: graphql-server, wait-for-mongodb (init)
{"file":"/gql-server/server.go:43","func":"main.init.0","level":"info","msg":"go version: go1.20.14","time":"2024-06-04T07:07:27Z"}
{"file":"/gql-server/server.go:44","func":"main.init.0","level":"info","msg":"go os/arch: linux/amd64","time":"2024-06-04T07:07:27Z"}
{"file":"/gql-server/pkg/database/mongodb/init.go:109","func":"github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb.MongoConnection","level":"info","msg":"connected to mongo","time":"2024-06-04T07:07:27Z"}
{"error":"(NamespaceExists) Collection already exists. NS: litmus.chaosInfrastructures","file":"/gql-server/pkg/database/mongodb/init.go:130","func":"github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb.(*MongoClient).initAllCollection","level":"error","msg":"failed to create chaosInfrastructures collection","time":"2024-06-04T07:07:27Z"}
{"error":"(NamespaceExists) Collection already exists. NS: litmus.chaosExperiments","file":"/gql-server/pkg/database/mongodb/init.go:154","func":"github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb.(*MongoClient).initAllCollection","level":"error","msg":"failed to create chaosExperiments collection","time":"2024-06-04T07:07:27Z"}
{"error":"(NamespaceExists) Collection already exists. NS: litmus.chaosExperimentRuns","file":"/gql-server/pkg/database/mongodb/init.go:178","func":"github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb.(*MongoClient).initAllCollection","level":"error","msg":"failed to create chaosExperimentRuns collection","time":"2024-06-04T07:07:27Z"}
{"error":"(NamespaceExists) Collection already exists. NS: litmus.chaosHubs","file":"/gql-server/pkg/database/mongodb/init.go:196","func":"github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb.(*MongoClient).initAllCollection","level":"error","msg":"failed to create chaosHubs collection","time":"2024-06-04T07:07:27Z"}
{"error":"(NamespaceExists) Collection already exists. NS: litmus.chaosProbes","file":"/gql-server/pkg/database/mongodb/init.go:275","func":"github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb.(*MongoClient).initAllCollection","level":"error","msg":"failed to create chaosProbes collection","time":"2024-06-04T07:07:27Z"}
{"file":"/gql-server/server.go:143","func":"main.main","level":"info","msg":"chaos manager running at http://localhost:8080","time":"2024-06-04T07:07:27Z"}
{"file":"/gql-server/pkg/chaoshub/service.go:960","func":"github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/chaoshub.(*chaosHubService).SyncDefaultChaosHubs","level":"info","msg":"syncing default chaos hub directories","time":"2024-06-04T07:07:27Z"}
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xb413ec]
goroutine 151 [running]:
go.mongodb.org/mongo-driver/mongo.(*Collection).Find(0xc0006c2180?, {0x0, 0x0}, {0x1da82e0, 0xc0006b65a0}, {0x0, 0x0, 0x0})
/go/pkg/mod/go.mongodb.org/mongo-driver@v1.15.0/mongo/collection.go:1209 +0x4c
github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb.(*MongoOperations).List(0x449171?, {0x0, 0x0}, 0xc000155da8?, {0xc0006c2180, 0x1, 0x1}, {0x0, 0x0, 0x0})
/gql-server/pkg/database/mongodb/operations.go:90 +0xac
github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb/chaos_hub.(*Operator).GetHubs(0xc000610e30, {0x0, 0x0})
/gql-server/pkg/database/mongodb/chaos_hub/operations.go:53 +0x83
github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/chaoshub.(*chaosHubService).GetAllHubs(0x0?, {0x0?, 0x0?})
/gql-server/pkg/chaoshub/service.go:855 +0x3e
github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/chaoshub.(*chaosHubService).RecurringHubSync(0xc000610a10?)
/gql-server/pkg/chaoshub/service.go:872 +0x56
created by main.main
/gql-server/server.go:123 +0x638
The issue seem related to #4661 which bump the mongo-driver to 1.15.0. Reverting to version 1.11.4 fix the issue.
The issue above about both with a fresh mongoDB or with an existing one.
The issue seem to happen with different mongo version I tried with:
- 5.0.8-debian-10-r24
- 5.0.21-debian-11-r18
I'm not sure if the issue is coming directly from the driver or not.
What you expected to happen:
The graphql should start correctly.
How to reproduce it (as minimally and precisely as possible):
Build an image of the graphql server from the master branch.
Use this image when deploying the litmus portal server.
Wait for the init-container to complete.
The pod will fail.