diff --git a/gluten-substrait/src/main/scala/org/apache/gluten/execution/TakeOrderedAndProjectExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/TakeOrderedAndProjectExecTransformer.scala index f664c8a1d696..2887812c8a75 100644 --- a/gluten-substrait/src/main/scala/org/apache/gluten/execution/TakeOrderedAndProjectExecTransformer.scala +++ b/gluten-substrait/src/main/scala/org/apache/gluten/execution/TakeOrderedAndProjectExecTransformer.scala @@ -143,6 +143,10 @@ case class TakeOrderedAndProjectExecTransformer( } else { val limitStagePlan = WholeStageTransformer(limitBeforeShuffle)(transformStageCounter.incrementAndGet()) + val cudfTag = child.getTagValue(CudfTag.CudfTag) + if (cudfTag.isDefined) { + limitStagePlan.setTagValue(CudfTag.CudfTag, cudfTag.get) + } val shuffleExec = ShuffleExchangeExec(SinglePartition, limitStagePlan) val transformedShuffleExec = ColumnarShuffleExchangeExec(shuffleExec, limitStagePlan, shuffleExec.child.output)