修改ETCD返回数据限额

问题

通过 get_prefix, get_range 等ETCD 接口查询大量数据时,报数据大小超过限额。

grpc_message:"Received message larger than max (5834875 vs. 4194304)"

原因

ETCD默认设置了4MB数据限额,如果返回的数据超过限额则会报错。

解决方法

解决方法也很直接,修改数据限额。

但问题是要修改哪一个参数?参数的格式?如何修改?

为了寻找找到答案,费了不少周折。因为用的是 ETCD Python 客户端,常见的 golang 方案不适用,网上 Python 客户端的文章也非常少。

功夫不负有心人,总于找到了答案。

  1. 参数是与 grpc 接收消息长度有关,名称为 grpc.max_receive_message_length;
  2. 在Python客户端,是在建立ETCD client的时候,通过 grpc_options 参数传递;
  3. grpc_options 的格式是 dict_items, 可以这样定义:

grpc_options = {'grpc.max_receive_message_length':1610241024}.items()

相关推荐
benchmark_cc5 小时前
用 QuantDash 读取单只股票五档盘口:抽样、缺失值检查与复现记录
python·数据分析·pandas·量化交易·股票数据·quantdash
曲径海盗6 小时前
【Python 学习第 55 天】列表基础
python·学习笔记·编程入门
专注仿真6 小时前
知识问答模型用到的算法集详解及代码实例
python·算法·代码·大模型训练·控制算法
jyOverQ6 小时前
我写了一个 CSDN Markdown 图片助手:告别本地图片逐张上传
python·工具·csdn
SelectDB9 小时前
让变更流出 Doris:Apache Doris 5.0 基于增量计算的 CDC 技术解析
数据库
刘马想放假9 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
这个DBA有点耶9 小时前
MCP隔离层+行级语义审计+输出校验:AI访问数据库的安全边界拆解
数据库·人工智能·ai编程
2601_9679873710 小时前
python判断变量名不要调用任何函数实现
python·函数·语法·判断·变量名
这个DBA有点耶10 小时前
从反向扫描O(n)到正向扫描O(1):降序索引的物理机制与混合排序匹配规则
数据库
卷无止境11 小时前
SALib敏感性分析的python库学习笔记
后端·python