Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-41299

OOM when filter pushdown `last_day` function

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.3.1
    • None
    • Optimizer
    • None
    • Spark 3.3.1

      JDK 8 (openjdk version "1.8.0_352")

    Description

      Using the following transformation on Spark 3.3.1:

      df.where($"date" === last_day($"date")) 

      Where `df` is a dataframe created from a set Parquet files.  I'm trying to filter dates where they match with the last day of the month of where `date` happened.

      Executors are dying with the following error:

      java.lang.OutOfMemoryError: GC overhead limit exceeded
      at java.util.regex.Pattern.compile(Pattern.java:1722) ~[?:1.8.0_252]
      at java.util.regex.Pattern.<init>(Pattern.java:1352) ~[?:1.8.0_252]
      at java.util.regex.Pattern.compile(Pattern.java:1028) ~[?:1.8.0_252] 

      By disabling the predicate pushdown rule, the job works normally.

       Also, this works normally on Spark 3.3.0. I also couldn't verify other date functions failing on the same way.

      Attachments

        Activity

          People

            Unassigned Unassigned
            andre.amorimfonseca@gmail.com André F.
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: