prestodb/presto · error · PrestoException
INVALID_PROCEDURE_ARGUMENT
INVALID_PROCEDURE_ARGUMENT
Error message
Directory path can not be a empty string
What it means
Procedure-argument validation: the invalidate-directory-list-cache procedure was invoked with a non-empty-string check passing but an empty directory path (the Optional held ""), which names no directory.
Source
Thrown at presto-hive/src/main/java/com/facebook/presto/hive/CachingDirectoryLister.java:154
{
HiveFileInfo next = iterator.next();
files.add(next);
return next;
}
};
}
public boolean isPathCached(Path path)
{
ValueHolder value = Optional.ofNullable(cache.getIfPresent(path.toString())).orElse(null);
return value != null;
}
public void invalidateDirectoryListCache(Optional<String> directoryPath)
{
if (directoryPath.isPresent()) {
if (directoryPath.get().isEmpty()) {
throw new PrestoException(INVALID_PROCEDURE_ARGUMENT, "Directory path can not be a empty string");
}
ValueHolder value = cache.getIfPresent(directoryPath.get());
if (value == null) {
throw new PrestoException(INVALID_PROCEDURE_ARGUMENT, "Given directory path is not cached : " + directoryPath);
}
cache.invalidate(directoryPath.get());
}
else {
flushCache();
}
}
@Managed
public void flushCache()
{
cache.invalidateAll();
}View on GitHub (pinned to 55bb57d202)
Solutions
- Pass the actual directory path to the procedure
- Omit the argument if the whole cache should be invalidated
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at presto-hive/src/main/java/com/facebook/presto/hive/CachingDirectoryLister.java:154 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/3f74edaf60f52505.
Report an issue: GitHub.