当前位置: 首页 > news >正文

【HDFS】HADOOP-11552.Allow handoff on the server side for RPC requests

今天来分析一下
HADOOP-11552. Allow handoff on the server side for RPC requests.

这个之前没有使用场景,也没有细看,所以一直不明白它到底是做什么的?
最近在做Router RPC异步化,涉及到这个feature的使用,因此决定深入学习一下,特此记录。

根据ISSUE的描述,HDFS的RPC Server侧目前有这样一个问题。
Handler线程被每一个到来的RPC请求占满,直到这个请求处理完为止。
这是不合理的,因为这种设计建立在RPC全是short-time的情况,实际上,RPC是I/O-bound的,
可能会出现RPC执行很久的情况,那Handler线程就会一直阻塞,不能处理其他RPC请求。

基于上述问题背景,HADOOP-11552对现有RPC流程进行了优化。
我这里按照我的理解先总结一下,具体细节,以及源码可以参见后文。

如果在当前Handler线程里注册了某个特殊回调(用ThreadLocal保存)标记的话,
那么在org.apache.hadoop.ipc.ProtobufRpcEngine2.Server.ProtoBufRpcInvoker#call里会立即返回null,
不阻塞Handler线程,并延迟给客户端发送RPC响应(deferResponse),
等到这个回调的setResponse方法调用时,才触发发送响应的逻辑(sendDeferedResponse)。<

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Yarn UI 时间问题,相差8小时
  • AI测试:人工智能模型的核心测试指标,分类判别、目标检测、图像分割、定量计算分别有哪些指标?
  • 昇思25天学习打卡营第12天 |昇思MindSpore 基于 MindSpore 通过 GPT 实现情感分类
  • CANoe:System Variables模块介绍
  • 只有IP地址没有域名怎么实现HTTPS访问?
  • 自动问答之白嫖文心一言大模型
  • 卡拉OK歌唱比赛活动策划方案
  • 使用flutter做圆形进度条 (桌面端)
  • PicInsight - 制作精美的明信片! | 限时免费
  • 成都云飞浩容文化传媒有限公司领航电商新纪元
  • URL重写
  • 代码随想录算法训练营第四十五天| 115.不同的子序列 、583. 两个字符串的删除操作 、 72. 编辑距离
  • ElasticSearch搜索
  • 【实践出真知】使用Docusaurus将md文档组织起来就是一个网站(写API文档,写教程、写日记、写博客的有福了)
  • python使用selenium切换到了iframe
  • JavaScript 如何正确处理 Unicode 编码问题!
  • [译]如何构建服务器端web组件,为何要构建?
  • ES10 特性的完整指南
  • js写一个简单的选项卡
  • oschina
  • Python3爬取英雄联盟英雄皮肤大图
  • Redux系列x:源码分析
  • vue:响应原理
  • 百度地图API标注+时间轴组件
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 前端面试之闭包
  • 通过几道题目学习二叉搜索树
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 7行Python代码的人脸识别
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 昨天1024程序员节,我故意写了个死循环~
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #if等命令的学习
  • #QT(QCharts绘制曲线)
  • #每日一题合集#牛客JZ23-JZ33
  • $.ajax()
  • (1)bark-ml
  • (145)光线追踪距离场柔和阴影
  • (3)(3.5) 遥测无线电区域条例
  • (苍穹外卖)day03菜品管理
  • (二)PySpark3:SparkSQL编程
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET CLR Hosting 简介
  • .NET 设计模式初探
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET/C#⾯试题汇总系列:⾯向对象
  • .NET学习全景图