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

Broadcast block pieces may memory leak

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.4.6, 3.0.0, 3.1.0
    • 2.4.8, 3.0.2, 3.1.0
    • Spark Core
    • None

    Description

      We use Spark thrift-server as a long-running service. A bad query submitted a heavy BroadcastNestLoopJoin operation and made driver full GC. We killed the bad query but we found the driver's memory usage was still high and full GCs had very frequency. By investigating with GC dump and log, we found the broadcast may memory leak.

      2020-08-19T18:54:02.824-0700: [Full GC (Allocation Failure) 2020-08-19T18:54:02.824-0700: [Class Histogram (before full gc):
      116G->112G(170G), 184.9121920 secs]
      [Eden: 32.0M(7616.0M)->0.0B(8704.0M) Survivors: 1088.0M->0.0B Heap: 116.4G(170.0G)->112.9G(170.0G)], [Metaspace: 177285K->177270K(182272K)]

      num #instances #bytes class name
      ----------------------------------------------
      1: 676531691 72035438432 [B
      2: 676502528 32472121344 org.apache.spark.sql.catalyst.expressions.UnsafeRow
      3: 99551 12018117568 [Ljava.lang.Object;
      4: 26570 4349629040 [I
      5: 6 3264536688 [Lorg.apache.spark.sql.catalyst.InternalRow;
      6: 1708819 256299456 [C
      7: 2338 179615208 [J
      8: 1703669 54517408 java.lang.String
      9: 103860 34896960 org.apache.spark.status.TaskDataWrapper
      10: 177396 25545024 java.net.URI
      ...

      Attachments

        Activity

          People

            cltlfcjin Lantao Jin
            cltlfcjin Lantao Jin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: