{"record":{"id":"ad30dd505f833979","repo":"egametang/ET","slug":"err-servicediscoveryoperationfailed","errorCode":"ERR_ServiceDiscoveryOperationFailed","errorMessage":"route service invalid local cache sceneType: {sceneTypeName}","messagePattern":"route service invalid local cache sceneType: (.+?)","errorType":"exception","errorClass":"RpcException","httpStatus":null,"severity":"error","filePath":"Packages/cn.etetet.servicediscovery/Scripts/Hotfix/Server/ServiceDiscoveryProxySystem.cs","lineNumber":497,"sourceCode":"            if (compare != 0)\n            {\n                return compare;\n            }\n\n            compare = left.FiberInstanceId.Fiber.CompareTo(right.FiberInstanceId.Fiber);\n            if (compare != 0)\n            {\n                return compare;\n            }\n\n            return left.FiberInstanceId.InstanceId.CompareTo(right.FiberInstanceId.InstanceId);\n        }\n\n        private static void ValidateServiceInfo(ServiceInfo serviceInfo, string sceneTypeName)\n        {\n            if (serviceInfo == null || string.IsNullOrWhiteSpace(serviceInfo.SceneName) || serviceInfo.ActorId == default)\n            {\n                throw new RpcException(ErrorCode.ERR_ServiceDiscoveryOperationFailed,\n                    $\"route service invalid local cache sceneType: {sceneTypeName}\");\n            }\n        }\n\n        private static async ETTask WaitResolveRetryDelayAsync(this ServiceDiscoveryProxy self)\n        {\n            int delay = self.ServiceResolveRetryIntervalMs;\n            if (delay <= 0)\n            {\n                delay = 1;\n            }\n\n            Scene root = self.Root();\n            EntityRef<Scene> rootRef = root;\n            await root.TimerComponent.WaitAsync(delay);\n            root = rootRef;\n            if (root == null)\n            {","sourceCodeStart":479,"sourceCodeEnd":515,"githubUrl":"https://github.com/egametang/ET/blob/5cab01f7a8bee5f49f4781eebe9e2b1c6d7ebe0f/Packages/cn.etetet.servicediscovery/Scripts/Hotfix/Server/ServiceDiscoveryProxySystem.cs#L479-L515","documentation":"Error \"route service invalid local cache sceneType: {sceneTypeName}\" thrown in egametang/ET.","triggerScenarios":"service discovery 本地路由缓存中该 sceneType 对应的 ServiceRoute 已存在但内容无效（ActorId 为空或实例已失效）","commonSituations":"See trigger scenarios.","solutions":["检查该 sceneType 的服务是否已正确注册且实例存活","清除本地路由缓存后重新向 ServiceDiscovery 解析该 sceneType 的路由","确认注册时 ServiceRoute 的 ActorId 不为空"],"exampleFix":"等待服务重新注册后重试解析，或在调用前校验 route.ActorId 非空再使用缓存路由。","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"}