prestodb/presto · error · ClientException
Google credential loading error
Error message
Google credential loading error
What it means
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.
Source
Thrown at presto-client/src/main/java/com/facebook/presto/client/GCSOAuthInterceptor.java:91
if (credentials == null) {
credentials = createCredentials();
}
try {
credentials.refreshIfExpired();
}
catch (IOException e) {
throw new ClientException("Google credential refreshing error", e);
}
return credentials;
}
private GoogleCredentials createCredentials()
{
try (InputStream is = newInputStream(Paths.get(credentialsFilePath))) {
return GoogleCredentials.fromStream(is).createScoped(gcsOAuthScopeURLs);
}
catch (IOException e) {
throw new ClientException("Google credential loading error", e);
}
}
private Collection<String> mapScopeStringToURLs(String gcsOAuthScopesString)
{
return StreamSupport
.stream(SCOPE_SPLITTER.split(gcsOAuthScopesString).spliterator(), false)
.map(GCSOAuthScope::valueOf)
.map(scope -> scope.getScopeURL())
.collect(Collectors.toList());
}
}
View on GitHub (pinned to 55bb57d202)
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
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at presto-client/src/main/java/com/facebook/presto/client/GCSOAuthInterceptor.java:91 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04).
Data as JSON: /api/errors/947571af8face599.
Report an issue: GitHub.