{"record":{"id":"38c431d8481b3a33","repo":"egametang/ET","slug":"service-discovery-db-manager-not-found-scene-roo","errorCode":null,"errorMessage":"service discovery db manager not found scene: {root.Name}","messagePattern":"service discovery db manager not found scene: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"Packages/cn.etetet.servicediscovery/Scripts/Hotfix/Server/ServiceDiscoverySystem.cs","lineNumber":1021,"sourceCode":"                self = selfRef;\n                if (self == null)\n                {\n                    return;\n                }\n                await self.UpsertServiceAsync(sceneName, actorId, metadata, true, now);\n            }\n\n            self = selfRef;\n            self.SetTrackedOwnedScenes(agentActorId.Address, incomingServices.Keys);\n        }\n\n        private static DBComponent GetPersistenceDB(this ServiceDiscovery self)\n        {\n            Scene root = self.Root();\n            DBManagerComponent dbManagerComponent = root.GetComponent<DBManagerComponent>();\n            if (dbManagerComponent == null)\n            {\n                throw new Exception($\"service discovery db manager not found scene: {root.Name}\");\n            }\n\n            return dbManagerComponent.GetZoneDB(root.Fiber.Zone);\n        }\n\n        private static bool IsMongoDisabled(this ServiceDiscovery self)\n        {\n            return self.GetServiceDiscoveryBootstrap() != null;\n        }\n\n        private static ServiceDiscoveryBootstrapSingleton GetServiceDiscoveryBootstrap(this ServiceDiscovery self)\n        {\n            return self.Fiber().GetSingleton<ServiceDiscoveryBootstrapSingleton>();\n        }\n\n        private static async ETTask<ServiceInfo> UpsertServiceAsync(this ServiceDiscovery self, string sceneName, ActorId actorId,\n            StringKV metadata, bool notify, long now = 0)\n        {","sourceCodeStart":1003,"sourceCodeEnd":1039,"githubUrl":"https://github.com/egametang/ET/blob/5cab01f7a8bee5f49f4781eebe9e2b1c6d7ebe0f/Packages/cn.etetet.servicediscovery/Scripts/Hotfix/Server/ServiceDiscoverySystem.cs#L1003-L1039","documentation":"Error \"service discovery db manager not found scene: {root.Name}\" thrown in egametang/ET.","triggerScenarios":"ServiceDiscovery 场景上未找到 DBManagerComponent，通常是该场景未配置数据库或 DBManager 未初始化","commonSituations":"See trigger scenarios.","solutions":["确认该 zone 的 StartSceneConfig 为 ServiceDiscovery 场景配置了数据库连接","确认 DBManagerComponent 已在 FiberInit 中创建","检查 zone 配置中 mongo connect string 与 db name 是否完整"],"exampleFix":"在 FiberInit 中先 root.AddComponent<DBManagerComponent>(zone) 再执行数据库访问逻辑。","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5cab01f7a8bee5f49f4781eebe9e2b1c6d7ebe0f","analyzedAt":"2026-08-13T21:10:40.377Z","schemaVersion":2},"datasetVersion":"2026-08-14T00:17:13.853Z"}