[ https://issues.apache.org/jira/browse/SPARK-40089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17580360#comment-17580360 ]
Robert Joseph Evans commented on SPARK-40089: --------------------------------------------- I have been trying to come up with a patch, but keep hitting some issues. I first tried to change {code} case dt: DecimalType if dt.precision - dt.scale <= Decimal.MAX_LONG_DIGITS => {code} to {code} case dt: DecimalType if dt.precision - dt.scale < Decimal.MAX_LONG_DIGITS => {code} So that we would bypass the overflow case entirely and use the Double prefix logic. But when I do that the negative values all come after the positive values when sorting ascending. So now I have a lot of other tests/debugging that I need to run to understand what is happening there. Just because I think I have found another bug. [~ulysses] I don't have a ton of time that I can devote to this right now, I will keep working towards a patch, but if you want to put up one, then I would love to see it. > Doring of at least Decimal(20, 2) fails for some values near the max. > --------------------------------------------------------------------- > > Key: SPARK-40089 > URL: https://issues.apache.org/jira/browse/SPARK-40089 > Project: Spark > Issue Type: Bug > Components: SQL > Affects Versions: 3.2.0, 3.3.0, 3.4.0 > Reporter: Robert Joseph Evans > Priority: Major > Attachments: input.parquet > > > I have been doing some testing with Decimal values for the RAPIDS Accelerator > for Apache Spark. I have been trying to add in new corner cases and when I > tried to enable the maximum supported value for a sort I started to get > failures. On closer inspection it looks like the CPU is sorting things > incorrectly. Specifically anything that is "999999999999999999.50" or above > is placed as a chunk in the wrong location in the outputs. > In local mode with 12 tasks. > {code:java} > spark.read.parquet("input.parquet").orderBy(col("a")).collect.foreach(System.err.println) > {code} > > Here you will notice that the last entry printed is > {{[999999999999999999.49]}}, and {{[999999999999999999.99]}} is near the top > near {{[-999999999999999999.99]}} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org