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

OneForOneStreamManager occupies too much memory.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.1.0
    • 2.2.0
    • Shuffle, Spark Core
    • None

    Description

      Spark jobs are running on yarn cluster in my warehouse. We enabled the external shuffle service(--conf spark.shuffle.service.enabled=true). Recently NodeManager runs OOM now and then. Dumping heap memory, we find that OneFroOneStreamManager's footprint is huge. NodeManager is configured with 5G heap memory. While OneForOneManager costs 2.5G and there are 5503233 FileSegmentManagedBuffer objects. Is there any suggestions to avoid this other than just keep increasing NodeManager's memory? Is it possible to stop registerStream in OneForOneStreamManager? Thus we don't need to cache so many metadatas(i.e. StreamState).

      Attachments

        1. screenshot-1.png
          240 kB
          Jin Xing
        2. screenshot-2.png
          452 kB
          Jin Xing

        Activity

          People

            jinxing6042@126.com Jin Xing
            jinxing6042@126.com Jin Xing
            Votes:
            1 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: