{"record":{"id":"947571af8face599","repo":"prestodb/presto","slug":"google-credential-loading-error","errorCode":null,"errorMessage":"Google credential loading error","messagePattern":"Google credential loading error","errorType":"exception","errorClass":"ClientException","httpStatus":null,"severity":"error","filePath":"presto-client/src/main/java/com/facebook/presto/client/GCSOAuthInterceptor.java","lineNumber":91,"sourceCode":"        if (credentials == null) {\n            credentials = createCredentials();\n        }\n        try {\n            credentials.refreshIfExpired();\n        }\n        catch (IOException e) {\n            throw new ClientException(\"Google credential refreshing error\", e);\n        }\n        return credentials;\n    }\n\n    private GoogleCredentials createCredentials()\n    {\n        try (InputStream is = newInputStream(Paths.get(credentialsFilePath))) {\n            return GoogleCredentials.fromStream(is).createScoped(gcsOAuthScopeURLs);\n        }\n        catch (IOException e) {\n            throw new ClientException(\"Google credential loading error\", e);\n        }\n    }\n\n    private Collection<String> mapScopeStringToURLs(String gcsOAuthScopesString)\n    {\n        return StreamSupport\n                .stream(SCOPE_SPLITTER.split(gcsOAuthScopesString).spliterator(), false)\n                .map(GCSOAuthScope::valueOf)\n                .map(scope -> scope.getScopeURL())\n                .collect(Collectors.toList());\n    }\n}\n","sourceCodeStart":73,"sourceCodeEnd":104,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-client/src/main/java/com/facebook/presto/client/GCSOAuthInterceptor.java#L73-L104","documentation":"createCredentials could not read or parse the Google credentials key file at the configured credentialsFilePath (missing file or invalid JSON). The GCS OAuth interceptor therefore cannot obtain any credential.","triggerScenarios":"Thrown at presto-client/src/main/java/com/facebook/presto/client/GCSOAuthInterceptor.java:91 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Confirm the credentials file exists at the configured path","Validate the file is a parseable Google service-account JSON","Check file read permissions for the client process"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}