apache / apache/datafusion-comet

Handle remainder by zero error in `spark_modulo` function for Spark 4.1 and later.

Offen Anfängerfreundlich
#2,855 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
enhancement spark 4.1
Vorherrschende Sprache
Scala
Sterne
1.3k
Forks
375
Ø Merge
2 T. 10 Std.
Gemergte PRs (30 T.)
231

Beschreibung

### What is the problem the feature request solves?

PR https://github.com/apache/datafusion-comet/pull/1971 introduced `spark_modulo` function, and found that Spark 4.0 and earlier version threw `Divide by Zero` instead of `Remainder by Zero` exception, which was incorrect. And so, filed https://issues.apache.org/jira/browse/SPARK-52659 for Spark to fix this.

That error message has now been fixed in the PR https://github.com/apache/spark/pull/51378 for Spark 4.1 and it will now throw `Reminder by Zero` instead of misleading `Divide by Zero`. This would require handling new error [here](https://github.com/apache/datafusion-comet/blob/fd0ab6441b078a8875b614ca2d615a102c592606/native/spark-expr/src/math_funcs/modulo_expr.rs#L58) for spark version 4.1 and later.

### Describe the potential solution

_No response_

### Additional context

_No response_

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie in native/spark-expr/src/math_funcs/modulo_expr.rs beim verlinkten Fehlerbehandlungscode für spark_modulo. Vergleichen Sie die bestehende Behandlung von Divide by Zero mit dem Verhalten von Remainder by Zero in Spark 4.1 und später und verifizieren Sie, dass die Funktion für diese Spark-Versionen den korrekten Fehler meldet, ohne das Verhalten früherer Versionen zu ändern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
data-engineering
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
72/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.