You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "jadami10 (via GitHub)" <gi...@apache.org> on 2026/05/05 16:43:30 UTC

[I] query fingerprinting mutates the SqlNode in place and breaks queries [pinot]

jadami10 opened a new issue, #18426:
URL: https://github.com/apache/pinot/issues/18426

   I was testing a change that required enabling fingerprinting and noticed all queries immediately failed after enabling `pinot.broker.enable.query.fingerprinting`.
   
   ```
   Unsupported RexNode type with SqlKind: DYNAMIC_PARAM'
   [2026-05-05 16:09:45.785007] 	at org.apache.pinot.query.QueryEnvironment$CompiledQuery.planQuery(QueryEnvironment.java:979)
   [2026-05-05 16:09:45.785022] 	at org.apache.pinot.broker.requesthandler.MultiStageBrokerRequestHandler.lambda$query$6(MultiStageBrokerRequestHandler.java:602)
   [2026-05-05 16:09:45.785095] 	at org.apache.pinot.spi.query.QueryThreadContext$1.lambda$decorate$0(QueryThreadContext.java:209)
   [2026-05-05 16:09:45.785107] 	... 4 more
   [2026-05-05 16:09:45.785119] Caused by: java.lang.IllegalArgumentException: Unsupported RexNode type with SqlKind: DYNAMIC_PARAM
   [2026-05-05 16:09:45.785131] 	at org.apache.pinot.query.planner.logical.RexExpressionUtils.fromRexNode(RexExpressionUtils.java:208)
   [2026-05-05 16:09:45.785145] 	at org.apache.pinot.query.planner.logical.RexExpressionUtils.fromRexNodes(RexExpressionUtils.java:215)
   [2026-05-05 16:09:45.785170] 	at org.apache.pinot.query.planner.logical.RexExpressionUtils.fromRexCall(RexExpressionUtils.java:292)
   [2026-05-05 16:09:45.785189] 	at org.apache.pinot.query.planner.logical.RexExpressionUtils.fromRexNode(RexExpressionUtils.java:206)
   [2026-05-05 16:09:45.785202] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertLogicalFilter(RelToPlanNodeConverter.java:718)
   [2026-05-05 16:09:45.785218] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.toPlanNode(RelToPlanNodeConverter.java:142)
   [2026-05-05 16:09:45.785233] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertInputs(RelToPlanNodeConverter.java:917)
   [2026-05-05 16:09:45.785247] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertLogicalProject(RelToPlanNodeConverter.java:713)
   [2026-05-05 16:09:45.785263] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.toPlanNode(RelToPlanNodeConverter.java:140)
   [2026-05-05 16:09:45.785281] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertInputs(RelToPlanNodeConverter.java:917)
   [2026-05-05 16:09:45.785296] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertLogicalExchange(RelToPlanNodeConverter.java:609)
   [2026-05-05 16:09:45.785308] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.toPlanNode(RelToPlanNodeConverter.java:148)
   [2026-05-05 16:09:45.785320] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertInputs(RelToPlanNodeConverter.java:917)
   [2026-05-05 16:09:45.785334] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertLogicalWindow(RelToPlanNodeConverter.java:686)
   [2026-05-05 16:09:45.785346] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.toPlanNode(RelToPlanNodeConverter.java:171)
   [2026-05-05 16:09:45.785369] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertInputs(RelToPlanNodeConverter.java:917)
   [2026-05-05 16:09:45.785384] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertLogicalFilter(RelToPlanNodeConverter.java:718)
   [2026-05-05 16:09:45.785397] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.toPlanNode(RelToPlanNodeConverter.java:142)
   [2026-05-05 16:09:45.785411] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertInputs(RelToPlanNodeConverter.java:917)
   [2026-05-05 16:09:45.785425] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertLogicalProject(RelToPlanNodeConverter.java:713)
   [2026-05-05 16:09:45.785438] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.toPlanNode(RelToPlanNodeConverter.java:140)
   [2026-05-05 16:09:45.785454] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertInputs(RelToPlanNodeConverter.java:917)
   [2026-05-05 16:09:45.785472] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertLogicalSort(RelToPlanNodeConverter.java:694)
   [2026-05-05 16:09:45.785486] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.toPlanNode(RelToPlanNodeConverter.java:146)
   [2026-05-05 16:09:45.785500] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertInputs(RelToPlanNodeConverter.java:917)
   [2026-05-05 16:09:45.785514] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertLogicalExchange(RelToPlanNodeConverter.java:609)
   [2026-05-05 16:09:45.785527] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.toPlanNode(RelToPlanNodeConverter.java:148)
   [2026-05-05 16:09:45.785540] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertInputs(RelToPlanNodeConverter.java:917)
   [2026-05-05 16:09:45.785553] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.convertLogicalSort(RelToPlanNodeConverter.java:694)
   [2026-05-05 16:09:45.785566] 	at org.apache.pinot.query.planner.logical.RelToPlanNodeConverter.toPlanNode(RelToPlanNodeConverter.java:146)
   [2026-05-05 16:09:45.785579] 	at org.apache.pinot.query.planner.logical.PinotLogicalQueryPlanner.makePlan(PinotLogicalQueryPlanner.java:65)
   [2026-05-05 16:09:45.785590] 	at org.apache.pinot.query.QueryEnvironment.toDispatchableSubPlan(QueryEnvironment.java:514)
   [2026-05-05 16:09:45.785605] 	at org.apache.pinot.query.QueryEnvironment.toDispatchableSubPlan(QueryEnvironment.java:501)
   [2026-05-05 16:09:45.785622] 	at org.apache.pinot.query.QueryEnvironment$CompiledQuery.planQuery(QueryEnvironment.java:974)
   [2026-05-05 16:09:45.785630] 	... 6 more
   ```
   
   the easiest workaround is to just reprase the query before fingerprinting


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [I] query fingerprinting mutates the SqlNode in place and breaks queries [pinot]

Posted by "jadami10 (via GitHub)" <gi...@apache.org>.
jadami10 closed issue #18426: query fingerprinting mutates the SqlNode in place and breaks queries
URL: https://github.com/apache/pinot/issues/18426


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [I] query fingerprinting mutates the SqlNode in place and breaks queries [pinot]

Posted by "jadami10 (via GitHub)" <gi...@apache.org>.
jadami10 commented on issue #18426:
URL: https://github.com/apache/pinot/issues/18426#issuecomment-4566295719

   very timely and a better fix. thank you!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [I] query fingerprinting mutates the SqlNode in place and breaks queries [pinot]

Posted by "jadami10 (via GitHub)" <gi...@apache.org>.
jadami10 commented on issue #18426:
URL: https://github.com/apache/pinot/issues/18426#issuecomment-4381235738

   cc @MeihanLi 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [I] query fingerprinting mutates the SqlNode in place and breaks queries [pinot]

Posted by "wolfkill (via GitHub)" <gi...@apache.org>.
wolfkill commented on issue #18426:
URL: https://github.com/apache/pinot/issues/18426#issuecomment-4563722748

   This appears to be addressed by #18603, which was merged and rebuilds QueryFingerprintVisitor calls instead of mutating the input SqlNode in place.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org