原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。上个月,我们一个java服务上线后,偶尔会发生内存OOM(OutOfMemory)问题,但由于OOM导致服务不响应请求,健康检查多次不通过,最后部署平台kill了java进程,这导致定位这次OOM问题也变得困难起来。最终,在多次review代码后发现,是SQL意外地查出大量数据导致的,如下:and`outer_id`=#{outerId}and`order_type`=#{orderType}...select*fromorder查询逻辑类似上面的示例,在Service层有个根据outer_id的查询方法,然
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。上个月,我们一个java服务上线后,偶尔会发生内存OOM(OutOfMemory)问题,但由于OOM导致服务不响应请求,健康检查多次不通过,最后部署平台kill了java进程,这导致定位这次OOM问题也变得困难起来。最终,在多次review代码后发现,是SQL意外地查出大量数据导致的,如下:and`outer_id`=#{outerId}and`order_type`=#{orderType}...select*fromorder查询逻辑类似上面的示例,在Service层有个根据outer_id的查询方法,然
[20230327]19csqlnet.oradisable_oob参数ora-12637.txt--//前几天同事反映如果使用19c的客户端连接19c数据库会出现,出现ora_12637错误(在连接配置界面上).其它版本没有问题.--//我仔细问一下服务器版本19.12,客户端版本19.3.--//补充:同事测试修改有效!!$oerrora1263712637,00000,"Packetreceivefailed"//*Cause: Aprocesswasunabletoreceiveapacketfromanotherprocess.// Possiblecausesare
[20230327]19csqlnet.oradisable_oob参数ora-12637.txt--//前几天同事反映如果使用19c的客户端连接19c数据库会出现,出现ora_12637错误(在连接配置界面上).其它版本没有问题.--//我仔细问一下服务器版本19.12,客户端版本19.3.--//补充:同事测试修改有效!!$oerrora1263712637,00000,"Packetreceivefailed"//*Cause: Aprocesswasunabletoreceiveapacketfromanotherprocess.// Possiblecausesare
[20230327]19csqlnet.oradisable_oob参数ora-12637.txt--//前几天同事反映如果使用19c的客户端连接19c数据库会出现,出现ora_12637错误(在连接配置界面上).其它版本没有问题.--//我仔细问一下服务器版本19.12,客户端版本19.3.--//补充:同事测试修改有效!!$oerrora1263712637,00000,"Packetreceivefailed"//*Cause: Aprocesswasunabletoreceiveapacketfromanotherprocess.// Possiblecausesare
[20230327]19csqlnet.oradisable_oob参数ora-12637.txt--//前几天同事反映如果使用19c的客户端连接19c数据库会出现,出现ora_12637错误(在连接配置界面上).其它版本没有问题.--//我仔细问一下服务器版本19.12,客户端版本19.3.--//补充:同事测试修改有效!!$oerrora1263712637,00000,"Packetreceivefailed"//*Cause: Aprocesswasunabletoreceiveapacketfromanotherprocess.// Possiblecausesare
背景公司的主打产品是一款跨平台的App,我的部门负责为它提供底层的sdk用于数据传输,我负责的是Adnroid端的sdk开发。sdk并不直接加载在App主进程,而是隔离在一个单独进程中,然后两个进程通过tcp连接进行通信的,这样做的目的是减少因sdk的崩溃带来的主进程crash,为用户带来更好的体验。如上图所示,sdk主要实现于service.so中被Work进程加载,kernel.so通过jni嵌入在App主进程,前者作为侦听端,后者是连接端。不过这样做有一个问题,当侦听端口被占用时,两个进程就无法建立通信了,导致数据无法传输。为了解决这个问题,打算用本地socket(unixdomains
背景公司的主打产品是一款跨平台的App,我的部门负责为它提供底层的sdk用于数据传输,我负责的是Adnroid端的sdk开发。sdk并不直接加载在App主进程,而是隔离在一个单独进程中,然后两个进程通过tcp连接进行通信的,这样做的目的是减少因sdk的崩溃带来的主进程crash,为用户带来更好的体验。如上图所示,sdk主要实现于service.so中被Work进程加载,kernel.so通过jni嵌入在App主进程,前者作为侦听端,后者是连接端。不过这样做有一个问题,当侦听端口被占用时,两个进程就无法建立通信了,导致数据无法传输。为了解决这个问题,打算用本地socket(unixdomains
这个问题是好久以前的问题了,今天看自己的笔记,发现了这个问题,当时没有进行细看,想着现在复现一下。 1、半夜收到测试数据库备份告警:报警内容就是8002端口,备份失败,因为有慢查询导致的。白天想着手动跑一下备份命令:mydumper-uroot-S/tmp/mysql_8002.sock--kill-long-queries--regex'^(?!(test|information_schema|performance_schema|sys))'-o/data0/backup/sqldump/2021-06-11--triggers--events--routines-c报错:**(mydum
这个问题是好久以前的问题了,今天看自己的笔记,发现了这个问题,当时没有进行细看,想着现在复现一下。 1、半夜收到测试数据库备份告警:报警内容就是8002端口,备份失败,因为有慢查询导致的。白天想着手动跑一下备份命令:mydumper-uroot-S/tmp/mysql_8002.sock--kill-long-queries--regex'^(?!(test|information_schema|performance_schema|sys))'-o/data0/backup/sqldump/2021-06-11--triggers--events--routines-c报错:**(mydum