prestodb/presto · error · FileNotFoundException
File does not exist
Error message
File does not exist
What it means
Startup validation in the FileAuthenticator constructor: the configured password file (password.file / password-authenticator-file) does not exist on disk, so the file-based authenticator cannot be initialized and a FileNotFoundException is thrown at plugin setup time.
Source
Thrown at presto-password-authenticators/src/main/java/com/facebook/presto/password/file/FileAuthenticator.java:42
import java.security.Principal;
import java.util.function.Supplier;
import static com.google.common.base.Suppliers.memoizeWithExpiration;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
public class FileAuthenticator
implements PasswordAuthenticator
{
private static final Logger log = Logger.get(FileAuthenticator.class);
private final Supplier<PasswordStore> passwordStoreSupplier;
@Inject
public FileAuthenticator(FileConfig config) throws FileNotFoundException
{
File file = config.getPasswordFile();
if (!file.exists()) {
log.error("File %s does not exist", file.getAbsolutePath());
throw new FileNotFoundException("File " + file.getAbsolutePath() + " does not exist");
}
int cacheMaxSize = config.getAuthTokenCacheMaxSize();
passwordStoreSupplier = memoizeWithExpiration(
() -> new PasswordStore(file, cacheMaxSize),
config.getRefreshPeriod().toMillis(),
MILLISECONDS);
}
@Override
public Principal createAuthenticatedPrincipal(String user, String password)
{
if (!passwordStoreSupplier.get().authenticate(user, password)) {
throw new AccessDeniedException("Invalid credentials");
}
return new BasicPrincipal(user);
}View on GitHub (pinned to 55bb57d202)
Solutions
- Create the password file at the configured path or fix the path in the configuration
- Ensure the coordinator process has read permission on the file
- Verify the config property points to the correct absolute path
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at presto-password-authenticators/src/main/java/com/facebook/presto/password/file/FileAuthenticator.java:42 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/de4c1e31f8063331.
Report an issue: GitHub.