
问题
CodersCoder
有人见星辰,有人见尘埃。
展开
-
近期bug修复及开发问题小结
问题小结原创 2023-03-14 14:48:38 · 153 阅读 · 0 评论 -
json对象出现$ref: “$.list[0]“
循环引用:当一个对象包含另一个对象时,fastjson就会把该对象解析成引用。原创 2023-03-14 14:40:56 · 1095 阅读 · 0 评论 -
MySQL使用行号分页
MySQL查询优化(无主键无索引分页查询)原创 2023-02-08 19:18:20 · 195 阅读 · 0 评论 -
Dubbo远程调用文件上传服务
背景:由于公司内部使用dubbo作为远程服务调用,在使用其他系统的文件上传服务时,系统出现报错。 @ResponseBody @RequestMapping(value = "uploadResourceImg", headers = "content-type=multipart/form-data", method = RequestMethod.POST) public RestResult<ResultDto> uploadImage(@RequestPa原创 2021-11-04 20:24:54 · 861 阅读 · 0 评论 -
20210907生产问题记录
背景以前写过一个定时任务,每天将mongodb的数据同步到MySQL,使用的是xxjob作为定时任务框架,一直都是正常使用的,今天发现生产环境在7月19日之后就没有了数据,但是使用elk平台还有xxjob的控制台查看定时任务记录,都是正常状态。分析排查首先确定是否写对了数据库,是否有数据库配置的修改,经过确定排除了此种情况。后来查看服务器的日志打印,发现有一条 Could not set property 'id' of 'class com.jpgk.entity.report.OrgWareho原创 2021-09-07 20:37:53 · 279 阅读 · 0 评论 -
2021-08-26Dubbo踩坑笔记
背景由于项目是多人协作,服务调用使用的dubbo,在定义接口出入参的时候,我自己定义了一个基本入参xxxReq,包含了两个分页属性,后续有其他同事将此类继承了一个BaseReq。base中包含分页字段。本地单元测试,接口都能根据分页数据的值查询出对应的数据,但是dubbo Consumer端查出的数据一直是走的默认数据。而且服务器上,根据分页条目的属性名查询日志,根本查不到日志输出,由于默认数据与数据库条目还是一致的,所以错误的以为触发了dubbo的缓存机制,并没有真正的将请求打到服务器上,也导致排查错原创 2021-08-27 15:17:47 · 320 阅读 · 0 评论 -
Mybatis-Plus 3.2.0与3.4.0的坑
批量插入3.2.0版本中,IService有一个看着很迷惑人的一个方法boolean saveBatch(Collection<T> entityList, int batchSize);以为这个是批量插入,其实不然,跟随代码进入底层会发现: public boolean saveBatch(Collection<T> entityList, int batchSize) { String sqlStatement = this.sqlStatemen原创 2021-04-03 15:42:32 · 1874 阅读 · 1 评论 -
2020-12-28踩坑记录
public static void main(String[] args) { boolean b1 = Boolean.parseBoolean("true"); System.out.println("b1=" + b1);//b1=true b1 = Boolean.parseBoolean("false"); System.out.println("b1=" + b1);//b1=false boolean b2 = Boolean.valueOf("t原创 2020-12-28 18:07:17 · 199 阅读 · 0 评论 -
kafka生产者报错Failed to update metadata after 60000 ms.
背景由于新增一个对接渠道,系统要对Kafka的消息进行消费,由于对接方目前没有环境,所以自己本地开发,并且使用环境中的一台kafka作为开发使用,本地自己设置producer和consumer,分别作为生产者和消费者。producerconsumer问题同样的topic和groupid,但是在使用的过程中,在producer提供消息的时候,出现了Failed to update metadata after 60000 ms.网上搜索多数都是要求更改kafka的配置文件中的信息,但是此kaf原创 2020-12-16 17:17:18 · 14624 阅读 · 2 评论 -
java魔数
背景以前偶尔听朋友说过魔数,但是从来没有深入学习过,最近又开始经常听到这个字眼,所以觉得有必要认真了解一下。。。类型1、标识文件类型的“魔数”大多数情况下,我们是通过扩展名来识别一个文件的类型的,比如一些.java,.txt文件等,我们都能清楚知道它是什么文件,那一旦一个文件的扩展名被修改过,怎么识别一个文件的类型呢,这就是用到了魔数。很多类型的文件,其起始的几个字节内容都是固定的,因此这几个字节的内容也被称为魔数。因为根据这几个字节的内容就可以确定文件类型了,有了这些魔数,我们就可以很方便的区分原创 2020-12-14 20:45:47 · 1411 阅读 · 1 评论 -
2020-12-02 生产问题记录
背景项目之前是采用oracle数据库进行存储,上周进行了国产化数据库迁移改造,改造之后,有对接系统反馈有程序问题。原有程序接口一直没有问题,正常运行。且在25号后没有对代码进行更改,对比代码也没有问题,单独执行sql语句也是能正常查出符合的数据。大致sql是要查询出一天内的信息记录,使用的是between and查询,查出结果包含两个表中字段的记录时间,现在记录时间全部变成了查询的开始或者是结束时间,很迷。。。复现使用测试环境进行复现,调用接口,符合调用规则,结果发现无法复现问题,测试环境是正常的原创 2020-12-02 19:03:55 · 149 阅读 · 0 评论 -
2020-11-30 脑残记录
现象内网基于云桌面进行开发,每周日云桌面都会自动重启,重启后所有程序会被关闭,周一打开时发现,IDEA针对不同项目竟然有不同效果,如图:项目一:项目一的状态信息全部正常,可以看到git分支信息,版本控制和控制台命令行指示等。。。项目二:项目二看不到git的分支信息,还有错误级别那个老头的图像。。很奇怪很迷。。。解决一顿百度一顿操作,结果没有任何改变。。最后。。。。。最后是因为:idea在重启后,项目二变成了窗口状态,点击更改变成全屏状态后,变成了正常情况,。问题有点脑残,不过也很奇怪原创 2020-11-30 19:50:29 · 158 阅读 · 0 评论 -
2020-11-17 问题记录
问题记录17日生产问题记录:1、移动端时间异常bug(暂未确定是前端还是后端问题~)有使用者反馈,移动端的查询接口出现返回信息错误情况,错误情况是返回的日期应该是2020-11-15 15:30:00,结果返回信息为2046-11-15 15:30:00,查看后端代码,由于前端要求返回的是时间戳,所以后端的SQL查询进行了格式化,如下:将此SQL在测试环境的Oracle数据库可以正常查询到结果,且经过时间戳转换工具也是正常时间,生产上一直也是正常的,没有出现过时间戳格式化错误的问题。解决方案:需原创 2020-11-17 20:42:08 · 372 阅读 · 0 评论 -
2020-11-11记录piwik相关问题
背景Piwik是一套基于Php+MySQL技术构建,能够与Google Analytics相媲美的开源网站访问统计系统,前身是phpMyVisites。Piwik可以给你详细的统计信息,比如网页浏览人数, 访问最多的页面, 搜索引擎关键词等等,并且采用了大量的AJAX/Flash技术,使得在操作上更加便易。此外,它还采用了插件扩展及开放API架构,可以让开发人员根据自已的实际需求创建更多的功能。项目中使用的是内部封装好的安装过程。直接傻瓜式安装后一直使用至今,偶尔服务器重启可能会使服务不可用外,并不其他原创 2020-11-11 18:51:11 · 197 阅读 · 0 评论 -
2020-11-02问题记录
背景前端有调整,修复问题,提交前端代码后,后端没有提交任何代码和操作,仅重启一下服务,原有RedisUtil报错,导致后端和Redis有关服务全部不可用,报错信息大致如下:java.lang.IllegalArgumentException: non null hash key requiredat org.springframework.util.Assert.notNull(Assert.java:115)根据不同的get或者是set方法报错不同,但是可以确定时redis问题,不过暂时没有解决原创 2020-11-02 15:22:49 · 911 阅读 · 0 评论 -
2020-09-07问题记录
问题记录由于项目中使用了elasticsearch的相关功能,所以需要使用es客户端进行操作一些基本的增删改查操作,使用的是restHighLevelClient。该功能已经上线,且在生产环境已经平稳运行了半年之久,没有任何问题。下午的时候,测试环境服务重启,有同事反映相关微服务无法启动,报错信息如下:分析并排查分析:1.版本问题由于上周进行整体项目进行扫描,对一些原始jar进行升级替换,相关同事原本想要升级es的版本,由于服务端的版本是固定的,我们采用的jar只能与之匹配,不能升级,所以没原创 2020-09-07 18:49:09 · 445 阅读 · 0 评论 -
2020-08-27问题记录
问题描述本地测试开发验证没有问题,一切正常,部署测试环境后虽然有零散小问题,但最终还是通过了测试,一切数据库脚本还有配置准备就绪后,发布灰度环境,结果发现接口调用时间很长,大约5s左右,但是测试环境没有超过500ms。问题分析因为测试环境和灰度环境代码完全一致,并没有怀疑是代码的问题,其次看数据库脚本(测试环境是直接使用工具创建,生产环境需要用脚本创建数据库和索引以及数据初始化),验证索引还有数据情况,使用工具查询也是正常,故而暂时认为数据库也是正常的。再分析程序日志,发现测试环境基本上一条sql只需原创 2020-08-27 20:49:58 · 246 阅读 · 0 评论 -
Java 升级High-Level-REST-Client问题记录
背景项目中有使用Elasticsearch,版本6.8.8.因为业务要求,需要对es进行基本操作。目前ES支持的客户端链接方式:1:REST API可以通过浏览器请求get方法进行链接;利用Postman等工具发起REST请求;Java发起HttpClient请求;2:Transport链接通过socket链接,用官网一个的TransPort客户端,底层是netty经过分析后选择使用High Level REST Client 。升级由于安全部门要求,对系统中的jar包进行安全扫原创 2020-08-19 18:26:39 · 581 阅读 · 0 评论 -
Comparator排序空指针问题
背景项目是监控告警平台,会对多个系统进行监控,在某一系统存在下拉框子系统,通过选择不同子系统来查询不同的值班人员信息,告警情况等指标信息。每个子系统切换时都会正常出现告警指标,维度有一个系统,点击后告警信息还有其他告警指标都有查询成功,唯独值班人员信息无法获取到,通过日志发现只提示个null,不得不吐槽下,上任写代码的同事,使用的e.getMessage(),使得详细异常没有完全输出,对于bug排查带来很多坑,又给更改了下日志输出…分析将日志明细打印输出后,发现了空指针问题所在:排查思路:1.报原创 2020-08-18 13:07:17 · 3624 阅读 · 0 评论 -
Mybatis配置多数据源(pgsql和mysql)
背景因为项目需要查询其他系统的pg数据库,详细见Spring Boot整合PostgreSQL由于之前没有pg数据库,且内网没有pg数据库的测试环境,所以参照上文自己部署了一套,并且自己写了一套干净的小demo,实现功能后提交代码到内网环境,环境对接耽误很多时间,最终还是解决了,使用pg数据库一定要注意开放远程登录功能,查询出其他系统的数据了,可是现有的数据库查询却出现了问题了,报错信息是psqlexception-error-relation-table-name-does-not-exist。分析是原创 2020-08-14 19:05:55 · 2398 阅读 · 0 评论 -
奇怪bug解决经历
使用背景由于项目需要,提供rest接口给第三方系统调用,第三方发送json格式请求数据,所以采用fastjson对接口信息进行解析。大致数据格式如下:fastjson版本:程序解析逐层解析,然后将需要的信息存放到一个对象中。问题出现在解析description的时候,发现一直无法解析到对应的值,可是json串中确实存在,由于项目依赖启动较多,部署环境启动后,发现输出日志奇怪的变成了很奇怪,莫名其妙的问题,由于description变成了deion。所以在解析去取descriptio原创 2020-07-22 15:50:33 · 527 阅读 · 0 评论 -
idea奇怪问题----点击run后没反应,按钮由绿变灰没有调起控制台
问题背景在idea里面写了很多简单的测试学习java类,一直都可以编译可以运行,很正常,忽然有一天把postman中生成的java code copy到idea去运行,发现无法运行,再然后发现所有的main方法都无法运行,右键run main还存在,运行按钮也还是正常状态,点击运行后,按钮由绿色变成灰色,不调起控制台也看不到任何运行痕迹。问题分析首先排除jdk版本,java编译环境问题,maven配置以及idea自身bug,逐一排除没有任何进展。网上基本都是认为要修改project structure原创 2020-06-05 11:06:29 · 3102 阅读 · 7 评论 -
服务器迁移导致的C3P0连接池死锁问题
问题背景昨天一个朋友忽然间问有没有jvm调优的经验,因为本身是没有的,本着学习的精神,决定帮忙研究一下看看怎么做熟悉一下流程。问题内容如:https://bbs.youkuaiyun.com/topics/392189936叙述一致,为什么会认为需要jvm调优相关呢,原来通过他自己的排查,看了一些gc情况,截图上s0已经达到了99.99. 分析过程从他的角度继续分析,先去排查了一下gc情况,但是过了一会gc就一切正常了,可能那个时间节点下暂时出现的99.99。。。按照他的描述,程序在进入controller层后,原创 2020-05-29 19:54:22 · 272 阅读 · 0 评论 -
MySQL中删除重复数据要求最终只保留一条
今天有小伙伴打电话寻求一个SQL相关的问题,大致是在表中存在重复数据,需要删除掉重复数据保留一条的场景,因为没有说明具体删除规则,怎么简单怎么来吧,研究后决定尝试一下,思路是删除表中多余的重复记录(多个字段),只留有rowid最小的记录。1.数据准备MySQL数据库中有一个goods表,表中手动插入一些数据,最终表的内容如下:2.思路分析按照原来设计思路,4,5,6明显是重复数据,想要保留id为4的这行记录。首先,对数据内容进行简单抽离,先查询出先查询出重复字段:SELECT goods_de原创 2020-05-17 17:41:06 · 1565 阅读 · 0 评论 -
Oracle数据库order by查询问题
问题背景由于项目使用Oracle数据库,自然对数据库的操作比较多,近日工作内容是查询某一张数据库表,数据库表有27列属性,表中数据量大约60多万。其中索引信息如下:sql内容如下:查询条件使用了主键,并且最后按照主键中的gmt_create进行排序,表中数据大约60多万条,按照很正常的思路,用工具查询一下,预估一下时间损耗。如图可知查询效率还算客观,所以将项目部署。问题出现使用postman进行自测验证:竟然达到了可怕的70s,项目日志打印情况来看,接口响应只占用了2ms左右,故而排除原创 2020-05-27 13:24:49 · 602 阅读 · 0 评论 -
Java注入的奇怪问题
问题复盘2020.05.21晚上十点开始系统升级,由于事先发布灰度环境,并且验证接口返回没有问题,因为对接方暂未升级,所以返回数据一致为空。此为背景。在22号0点左右,对接方数据接入,但是接口返回结果仍然为空,日志打印正常,根据日志中打印的查询条件,使用工具顺利查出若干条数据,然而程序中没有任何异常报错信息,对于问题的排查只有一点点的通过代码分析。项目背景由于对接方是使用的mongdb数据库,我方进行对应条件查询,查询索引,字段等信息在测试环境均做过完整验证,不存在任何问题,因此生产环境只需要对mon原创 2020-05-22 10:16:43 · 189 阅读 · 0 评论