prestodb/presto · error · PrestoException
NOT_SUPPORTED
NOT_SUPPORTED
Error message
Black hole connector does not supported distributed reads
What it means
The BlackHole connector only supports system-created partitioning for writes; requesting a split-to-bucket mapping (distributed reads) hits an unsupported-operation sentinel in getSplitBucketFunction.
Source
Thrown at presto-blackhole/src/main/java/com/facebook/presto/plugin/blackhole/BlackHoleNodePartitioningProvider.java:59
{
this.nodeManager = requireNonNull(nodeManager, "nodeManager is null");
}
@Override
public ConnectorBucketNodeMap getBucketNodeMap(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorPartitioningHandle partitioningHandle, List<Node> sortedNodes)
{
// create one bucket per node
return createBucketNodeMap(nodeManager.getRequiredWorkerNodes().size());
}
@Override
public ToIntFunction<ConnectorSplit> getSplitBucketFunction(
ConnectorTransactionHandle transactionHandle,
ConnectorSession session,
ConnectorPartitioningHandle partitioningHandle)
{
return value -> {
throw new PrestoException(NOT_SUPPORTED, "Black hole connector does not supported distributed reads");
};
}
@Override
public BucketFunction getBucketFunction(
ConnectorTransactionHandle transactionHandle,
ConnectorSession session,
ConnectorPartitioningHandle partitioningHandle,
List<Type> partitionChannelTypes, int bucketCount)
{
return (page, position) -> {
long hash = 13;
for (int i = 0; i < partitionChannelTypes.size(); i++) {
Type type = partitionChannelTypes.get(i);
hash = 31 * hash + type.hash(page.getBlock(i), position);
}
// clear the sign bitView on GitHub (pinned to 55bb57d202)
Solutions
- Remove partitioning/table-layout requirements that force bucketed reads against BlackHole
- Use a real connector for distributed read tests
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at presto-blackhole/src/main/java/com/facebook/presto/plugin/blackhole/BlackHoleNodePartitioningProvider.java:59 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
Background: Presto NOT_SUPPORTED error: what "not supported" means and how to fix it — this error's family across 3 libraries.
AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04).
Data as JSON: /api/errors/27bd0a97f1958dce.
Report an issue: GitHub.