prestodb/presto · error · PrestoException
INVALID_ARGUMENTS
INVALID_ARGUMENTS
Error message
Failed to get functions from sidecar.
What it means
Wrap-around in getNativeFunctionSignatureMap: the HTTP GET to the native sidecar's function registry endpoint failed (connection error, non-OK response, or bad JSON). The sidecar worker is unreachable or misbehaving, so native UDF signatures cannot be loaded.
Source
Thrown at presto-built-in-worker-function-tools/src/main/java/com/facebook/presto/builtin/tools/NativeSidecarFunctionRegistryTool.java:108
}
private synchronized UdfFunctionSignatureMap getCachedSignatureMap()
{
if (cachedSignatureMap == null) {
cachedSignatureMap = getNativeFunctionSignatureMap();
}
return cachedSignatureMap;
}
private UdfFunctionSignatureMap getNativeFunctionSignatureMap()
{
try {
Request request = Request.Builder.prepareGet().setUri(getSidecarLocationOnStartup(nodeManager, maxRetries, retryDelayMs)).build();
Map<String, List<JsonBasedUdfFunctionMetadata>> nativeFunctionSignatureMap = httpClient.execute(request, JsonResponseHandler.createJsonResponseHandler(nativeFunctionSignatureMapJsonCodec));
return new UdfFunctionSignatureMap(ImmutableMap.copyOf(nativeFunctionSignatureMap));
}
catch (Exception e) {
throw new PrestoException(StandardErrorCode.INVALID_ARGUMENTS, "Failed to get functions from sidecar.", e);
}
}
public static URI getSidecarLocationOnStartup(NodeManager nodeManager, int maxRetries, long retryDelayMs)
{
Node sidecarNode = null;
for (int attempt = 1; attempt <= maxRetries; attempt++) {
try {
sidecarNode = nodeManager.getSidecarNode();
if (sidecarNode != null) {
break;
}
}
catch (Exception e) {
log.error("Error getting sidecar node (attempt " + attempt + "): " + e.getMessage());
if (attempt == maxRetries) {
throw new RuntimeException("Failed to get sidecar node", e);
}View on GitHub (pinned to 55bb57d202)
Solutions
- Verify the sidecar process is running and reachable from the worker
- Check the sidecar URI and network/DNS configuration
- Restart the worker to clear the null cached signature map and retry
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at presto-built-in-worker-function-tools/src/main/java/com/facebook/presto/builtin/tools/NativeSidecarFunctionRegistryTool.java:108 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/ae43cd2e369f4e33.
Report an issue: GitHub.