记录一个笔误引发的bug导致生产环境报错,但是本地环境,测试环境运行正常

devtools/2024/10/21 23:15:34/

记录一个笔误引发的bug导致生产环境报错,但是本地环境,测试环境运行正常

因为headers请求头过长导致报错

在feign外调其他系统时候,是重新封装headers

问题在于 MultiValueMap 属于静态变量。这里讲userAgent的内容传递过去。是不断累加的过程,只要请求积累,headers的长度就会超出限制。如果再不断累加,甚至导致oom。这也是本地环境没有复现,但是上线后出现bug的原因。而压力测试的一个周期也需要半小时的原因!


测试用例复现

 public static MultiValueMap<String, String> headers = new HttpHeaders();public static void main(String[] args) {for (int i = 0; i < 10; i++) {headers.add("User-Agent", i + "");System.out.println(headers);}headers.set("User-Agent", "100");System.out.println(headers);}


这也是对于类的使用不熟悉导致的

解决方案

将add修改为set
如果每个请求user agent 不同,将静态变量替换为方法内部成员变量


http://www.ppmy.cn/devtools/57063.html

相关文章

MobPush REST API的推送 API之批量推送

调用验证 详情参见 REST API 概述的 鉴权方式 说明。 频率控制 详情参见推送限制策略的 接口限制 说明。 调用地址 POST http://api.push.mob.com/v3/push/createMulti 推送对象 以 JSON 格式表达&#xff0c;表示一条推送相关的所有信息 字段类型必须说明pushWorkobje…

Linux高并发服务器开发(四)进程间通信

文章目录 1 前言2 无名管道3 有名管道4 管道读写特点5 设置管道为非阻塞6 使用有名管道实现简单版本聊天7 共享存储映射7.1 mmap 存储映射函数7.2 共享映射实现父子进程通信7.3 共享映射实现无亲缘关系进程通信7.4 匿名映射实现父子进程通信 8 信号8.1 概念和特点8.2 信号的编号…

antfu/ni 在 Windows 下的安装

问题 全局安装 ni 之后&#xff0c;第一次使用会有这个问题 解决 在 powershell 中输入 Remove-Item Alias:ni -Force -ErrorAction Ignore之后再次运行 ni Windows 11 下的 Powershell 环境配置 可以参考 https://github.com/antfu-collective/ni?tabreadme-ov-file#how …

计算机网络——数据链路层(点对点协议PPP)

点对点协议PPP的概述 对于点对点的链路&#xff0c;目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。 它主要应用于两个场景&#xff1a; 用户计算机与ISP之间的链路层协议就是点对点协议 PPP&#xff0c;1999年公布了回以在以太网上运行的PPP协…

【FFmpeg】关键结构体的初始化和释放(AVFormatContext、AVIOContext等)

目录 1.AVFormatContext1.1 初始化&#xff08;avformat_alloc_context&#xff09;1.2 释放&#xff08;avformat_free_context&#xff09; 2.AVIOContext2.1 初始化&#xff08;avio_alloc_context&#xff09;2.2 释放&#xff08;avio_context_free&#xff09; 3. AVStre…

rust + mingw安装教程

0. 说明 windows上安装rust时&#xff0c;需要在电脑上安装C/C构建工具。推荐的的两种工具链可以选择&#xff1a; visual studio build toolsmingw 官方推荐使用visual studio&#xff0c;若你的电脑上已经安装了visual studio&#xff0c;则无需再安装&#xff0c;直接安装…

轻度图像处理工具,匹敌photoshop

一、简介 1、一款功能强大的在线图片编辑工具,用户可以将其安装为渐进式网页应用(PWA)。它提供了与 Photoshop 相似的核心功能,能够满足大多数图像编辑需求,非常适合那些不愿或无法安装 Photoshop 的用户。即使使用免费版本,用户也能享受所有功能,是轻度图像处理的理想选…

Celery入门教程

一.Celery介绍 1.Celery架构 Celery架构基于可插拔组件&#xff08;pluggable components&#xff09;和根据选择的消息传输&#xff08;代理&#xff09;(message transport(broker))协议实现的消息交换机制。 2.Celery模块 &#xff08;1&#xff09;任务模块 Task 包含异…