首页 > 其他分享 >spark社区bug

spark社区bug

时间:2023-08-11 14:56:57浏览次数:26  
标签:泄漏 ExternalSorter 合并 社区 CompletionIterator 内存 操作 spark bug

1.SPARK-26114
repartitionAndSortWithinPartitions 后合并时 PartitionedPairBuffer 的内存泄漏    

原因

这个Spark源码的issue描述了在使用coalesce操作合并分区时可能会导致PartitionedPairBuffer内存泄漏的问题。具体来说,当在使用repartitionAndSortWithinPartitions操作进行shuffle操作后,再使用coalesce操作进行分区合并时,如果某些分区需要被合并的话,需要通过PartitionedPairBuffer存储更多的元素。如果合并分区的规模过大,会导致单个executor的内存使用率超过限制,导致OOM错误或executor被杀死的情况发生。

而这个issue中提到的问题是由CompletionIterator和ExternalSorter导致的内存泄漏。CompletionIterator是一个迭代器,用于在Spark任务完成时清理资源。而ExternalSorter是一个用于排序的工具类,用于对数据进行排序和合并操作。

在这个issue中,由于CompletionIterator没有正确地清理ExternalSorter中的资源,导致ExternalSorter内存泄漏。具体来说,当使用repartitionAndSortWithinPartitions操作时,会创建多个ExternalSorter对象,这些对象在排序和合并操作完成后,需要被释放。但是由于CompletionIterator没有正确地清理这些对象,导致这些对象一直占用着内存,从而导致内存泄漏问题。

为了解决这个问题,需要在CompletionIterator中添加对ExternalSorter对象的清理操作,以确保这些对象在任务完成后能够被正确地释放。通过这个操作,可以避免由于CompletionIterator和ExternalSorter导致的内存泄漏问题,提高Spark任务的稳定性和可靠性。

标签:泄漏,ExternalSorter,合并,社区,CompletionIterator,内存,操作,spark,bug
From: https://www.cnblogs.com/bigdata6666/p/17622913.html

相关文章

  • Debug Assertion Failed! Program: C:\Windows\SYSTEM32\mfc140ud.dll
    新建C++ MFC项目多文本对话框的模板,运行出错。解决办法:这是由于DockControlBar(&m_wndToolBar);引起的异常。在头文件MainFrm.h中重新定义  CMFCToolBar m_wndToolBar; 类型DockControlBar(&m_wndToolBar)改为DockPane(&m_wndToolBar);再次运行就不会出错了。......
  • OpenHarmony社区运营报告(2023年7月)
     本月快讯• 2023年7月28日-29日,全球软件质量&效能大会(简称“QECon”)圆满举行,OpenAtom OpenHarmony(简称“OpenHarmony”)以“优质高效测试助力OpenHarmony北向应用生态赋能”为主题,以专题展区+专场分论坛的形式精彩亮相,这是OpenHarmony自2022年7月参加QECon全球软件质量&效能......
  • ef core的FirstOrDefault()方法取的是第二个元素bug,原因未明
    如图所示:location=locationList.OrderBy(x=>x.Piler).FirstOrDefault();//取到了第二条记录location=locationList.OrderBy(x=>x.Piler).ToList().FirstOrDefault();//取到了第一条记录延迟加载导致的?不应该,我使用sql语句到数据库查询,没问题,这个问题触发的条件没搞明......
  • Spark安装(黑马程序员文档)
    SparkLocal环境部署下载地址Sparkhttps://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.4.1/Anacondahttps://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=A条件PYTHON推荐3.8JDK1.8AnacondaOnLinux安装本次课程的Python环境需要安装到Linux......
  • 火山引擎开发者社区一周资讯精选(8.5-8.11)
    ......
  • Qt CUDA混合编程BUG(一)
    在QT中进行CUDA编程,CUDA库与其他外部库冲突,debug失败问题描述在QT中进行CUDA编程,单独使用CUDA编程时并未出现难以解决的问题,但当我讲CUDA处理的部分,加入已搭建完毕一项较大的QT项目工程时,CUDA的lib库与项目使用到的其他外部lib库文件出现冲突,导致debug失败。可能出现多种错......
  • 跳过前端网页无限debugger
    跳过网站循环debugger在debugger处打断点后点击浏览器禁用断点后刷新页面在debugger前行号处右键,选择一律不在此处暂停添加Addconditionalbreakpoint填写false替换文件参考文章......
  • 记录一次解决数据库连接池连接泄露BUG
    1BUG现象系统并发请求,系统停滞无法使用,所有接口都是无法与后端进行交互的状态,系统并没有宕机2BUG的业务流程插入分数方法涉及插入表ABCD加了声明式事务查询分数方法涉及表ABCDcontroller(){ @Transactional insertVo(); selectById();}3排查原因因为代码不是......
  • 让 GPT-4 给开源项目 GoPool Review 社区贡献者的 PR - 每天5分钟玩转 GPT 编程系列(5
    目录1.嘚瑟一下2.言归正传2.1GoPool的第一个PR2.2祭出GPT-42.3问问GPT-4怎么看这个PR2.4让GPT-4重构代码3.打完收工1.嘚瑟一下你还记得那个宣称自己性能全网第一的GolangWorkerPool不?对,就是能够GoPool,据说作者拿着GPT-4只花了3天就把这个项目肝出来了。......
  • Apache DolphinScheduler 3.1.8 版本发布,修复 SeaTunnel 相关 Bug
    近日,ApacheDolphinScheduler发布了3.1.8版本。此版本主要基于3.1.7版本进行了bug修复,共计修复16个bug,1个doc,2个chore。其中修复了以下几个较为重要的问题:修复在构建SeaTunnel任务节点的参数时错误的判断条件修复SeaTunnel任务运行模式默认为运行,无......