You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Distance joins (ST_DWithin, ST_Distance < r) are not currently supported when raster predicates are involved. Attempting this combination will throw UnsupportedOperationException.
Root cause
In BroadcastIndexJoinExec.createStreamShapes, when distance is defined, the code always uses GeometrySerializer.deserialize to decode the stream side. If the stream side is a raster, this will fail because raster bytes cannot be deserialized as geometry.
The non-distance path already handles rasters correctly by checking isRasterPredicate and using RasterSerializer.deserialize + JoinedGeometryRaster.rasterToWGS84Envelope.
What needs to happen
Add raster-aware deserialization in the distance branch of createStreamShapes
Implement raster envelope expansion by the distance radius (e.g., expand the WGS84 envelope)
Update the plan string in BroadcastIndexJoinExec and JoinQueryDetector to reflect the supported combination
Description
Distance joins (
ST_DWithin,ST_Distance < r) are not currently supported when raster predicates are involved. Attempting this combination will throwUnsupportedOperationException.Root cause
In
BroadcastIndexJoinExec.createStreamShapes, whendistanceis defined, the code always usesGeometrySerializer.deserializeto decode the stream side. If the stream side is a raster, this will fail because raster bytes cannot be deserialized as geometry.The non-distance path already handles rasters correctly by checking
isRasterPredicateand usingRasterSerializer.deserialize+JoinedGeometryRaster.rasterToWGS84Envelope.What needs to happen
distancebranch ofcreateStreamShapesBroadcastIndexJoinExecandJoinQueryDetectorto reflect the supported combinationUnsupportedOperationExceptionguards added in [GH-2744] Clean up Maven build logs #2801References
BroadcastIndexJoinExec.scalalines 292-311JoinQueryDetector.scalalines 786-792