都是很折腾人很见鬼的bug。
Background
最近做了一个交易中间件项目--这个名字听起来比较高大山。。。就是个大量访问的卖手机流量的交易平台,对接好多客户自动下单,以及自动化处理的上级系统,运行在阿里云上,配置4 cores 8GB Memory。
First thing first
1.阿里云安装MariaDB 10.1.9(后升级到10.1.10仍然没解决),长事物丢数据。
每天凌晨从订单表导入到历史订单表,至少10K数据,然后发现丢数据了。写程序对比了程序输出日志和binlog以及数据库之后发现,sql被完整执行,但是在这个长事物中,innodb在存储的时候会随机少几条,当然也有一天没少...后来尝试了各种方法,几天之后没辙了,切换到RDS;之后再没有过这个问题。
说实话我没怀疑MariaDB,这个bug太弱智了,我是怀疑阿里云的IO有问题。
2.话说切换到RDS之后出现过一次数据不一致的情况,在一个连接里面,行级锁锁定一个客户记录,然后查客户余额,然后根据余额情况来决定是否做某些逻辑,然后修改余额(用update语句直接修改),结果发现查询出来一个一小时之前的数值...然后udpate语句因为RDS的binlog是记录修改前和修改后的数据的,所以发现binlog记录的是正确的数据。为什么会查出来一个小时之前的数据呢...虽然只有一次!
3.生成报表Excel并下载,大概从几万到十几万数据。因为系统有几天偶尔会跑死,cpu占用率爆高,或者连接池超时(实际连接数并不很高,大概七八十),一直不知道是什么原因,只能重启系统。后来发现,这事儿和360浏览器有关(为毛又是360浏览器,被这玩意坑的血泪史真是...),客户如果用360浏览器下载生成的Excel报表,浏览器可能没正确识别Content-Length头(为毛这么弱智的bug)所以半路就把连接关了,客户就下载失败了,服务端catch异常之后正常返回;然而就这么个简单问题,服务器上tomcat占用cpu直接就爆表,因为线上交易比较多,所以一直没时间仔细研究这个bug的具体原因(怀疑是tomcat的apr的bug),但是看起来无论如何也不应该出现这个问题...解决方案就是换其他whatever的浏览器都ok,只要别是大坑360。
记录一下,可能后来还有被坑的兄弟,可以参考。
相关推荐
压缩包内的文件名表明了几个与日志相关的库: 1. `commons-logging-adapters-1.1.1.jar`:这是Apache Commons Logging的一个适配器版本,它提供了一个接口,使得其他日志库(如Log4j)可以被透明地使用。Commons ...
记录表的【部分内容】中包含以下几个关键要素: 1. **文件编号**:用于唯一标识每一份调研记录,便于管理和追踪。 2. **调研时间、调研对象、调研地点、调研人**:这些信息有助于记录调研活动的时间、地点和参与者...
以《人工智能及其应用》单元为例,记录表的框架通常包括以下几个部分: 1. 项目规划:学生需要明确项目的目的和主题,规划项目实施的步骤,包括问题的提出、研究方法的选择、资料的收集等。 2. 探究活动与项目实施...
项目评审通常包括以下几个步骤: 1. **准备阶段**:明确评审的目的、范围和方法,组建评审小组。 2. **预审阶段**:评审小组成员对项目文档进行初步审查,发现问题并列出疑问清单。 3. **会议阶段**:召开评审会议,...
首先,会议记录表是项目管理中的基本文档,它提供了会议的基本信息,包括以下几个关键部分: 1. **会议名称**:这是识别会议类型的关键,如“IT项目启动大会”,表明会议的目的和范围。 2. **会议时间**:准确记录...
使用指引通常包括以下几个步骤:设定问题分类和优先级,建立跟踪机制,定义责任人,定期审查和更新问题状态,以及通过数据分析持续改进流程。关键在于将工具融入日常工作流程,培养团队成员使用工具的习惯,确保信息...
SiteStar系统架构的思维导图可能包含以下几个关键部分: 1. **总体架构**:这部分通常会描绘出系统的主要组成部分,如前端、后端、数据库、缓存等,以及它们之间的交互关系。这有助于我们了解系统的基本运行模式。 ...
这个表格包含了以下几个关键部分: 1. **姓名**:记录出现问题的员工姓名,以便追踪责任人。 2. **发生日期**:记录问题发生的具体时间,有助于了解问题发生的频率和周期性。 3. **情况内容**:详细描述问题的实际...
综合这些信息,我们可以推测这个C# WinForm项目包含以下几个关键知识点: - C#编程基础:包括类、对象、事件处理、文件I/O等。 - Windows Forms:用于创建GUI界面,如按钮、文本框、日期选择器等控件的使用,以及...
作为一个专业的IT行业大师,我将从这个标题中提炼出几个关键知识点,并结合“源码”和“工具”这两个标签进行深入探讨。 1. **项目启动与团队协作**:项目开发的开始阶段通常涉及到项目定义、需求分析以及团队分工...
项目变更状态跟踪一览表通常由以下几个部分组成: * 变更编号:项目变更的唯一编号。 * 变更名称:项目变更的名称和描述。 * 当前状态:项目变更的当前状态,如提案、审核、实施、完成等。 * 截止时间:项目变更的...
项目领导带班记录表是在项目执行过程中,由项目经理或高级管理团队成员记录项目管理活动的文件。这个记录表通常包括多个关键元素,比如带班日期、带班人、参与人员、会议主题、讨论要点、决策事项、行动计划以及任何...
根据给定文件的信息,我们可以提炼出以下几个相关的IT知识点: ### 1. 会议记录表的重要性与格式 在软件开发及项目管理过程中,有效地记录会议内容是确保团队成员间信息准确传达的关键步骤之一。一个标准的会议...
本文将深入探讨培训项目督导的几个核心工作,以帮助提升企业的培训效果和管理效率。 首先,项目负责人需具备项目管理能力,清晰理解月度培训计划与人力资源策略、企业文化之间的联系。他们应明确培训项目的目的和...
在Linux最小系统开发板上实现行车记录仪功能,需要考虑以下几个关键点: 1. **循环录制**: 行车记录仪在启动后会持续录制视频,并按照设定的时间间隔(如1至10分钟)保存成单独的视频片段。这种设计便于根据...
需求调研记录表通常由以下几个部分组成: * 项目名称和编号:项目的名称和编号,用于标识项目。 * 项目名称和编号:项目的名称和编号,用于标识项目。 * 调研对象:调研的对象,例如 XXXX 县 XXXXX 综合指挥服务...
教育内容主要围绕以下几个核心知识点: 1. **安全教育培训**:所有工作人员必须接受安全培训,未经培训者不得上岗。这强调了员工安全意识的重要性,确保每个人了解基本的安全规则。 2. **个人防护装备**:进入施工...
在本次会议记录中,我们可以预见包含以下几个重要的知识点: 1. **项目进度管理**:在ED项目组的讨论中,可能会涉及项目的当前进度,包括已完成的任务、正在进行的工作以及未来的时间表。这有助于团队成员了解各自...
* 项目执行结果:记录项目的执行结果、产品交付、主要功能和性能、项目遗留问题等 * 附录:包括项目的参考资料、文件修订记录等 三、项目总结报告的作用 项目总结报告可以发挥以下几个方面的作用: * 项目评估:...
在大型软件企业中,往往同时有多个软件项目并行推进,这就要求有一个高效、灵活且能够适应快速变化环境的软件项目管理系统。 #### 二、系统建设的重要意义 1. **加强项目管理:** 通过高效的软件项目管理系统,...