- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 ssh命令hang住的排查
最近由于项目原因需要登录合作方机器进行操作,ssh命令格式ssh -p {port} {username}@{host}.执行了命令之后发现 处于hang住的状态,但是同事机器都可以登录。排除掉网络问题、私钥的问题和ssh 配置问题之后只好tcpdump抓包分析。经过抓包分析发现 当使用域名做为ssh的目标地址时,ssh会自动丢弃掉部分端口的包,但使用ip访问就没有这个问题。任意使用一个域名都可以复现这个问题。例如:ssh -p 22 xx@www.baidu.com(可以发出包)ssh..
2020-08-08 18:49:07 898
原创 数据库隔离级别对嵌套事务的影响
最近做了一个区块链数据相关的项目,业务系统需要跟区块链上数据同步,在测试环境没有任何问题,部署到成员方之后突然出现数据同步失败。仔细分析了业务代码没有发现任何异常,对比了各种环境之后,发现只有数据库事务隔离级别不同,怀疑是隔离级别导致。整个数据同步流程的事务情况为1.对每个块开启一个外层事务。2.循环对块中的每笔交易使用require_new开启一个内层事务。3.提交内层事物。...
2019-11-09 14:01:54 545
原创 mysql意向锁死锁排查
最近遇到一个奇怪的mysql死锁:事务1:begin; select * from bridge_tx_status where id = 2 for update; 1⃣️ update bridge_tx_status set biz_nonce="1234" where transaction_id="23"; 2⃣️commit;事务2:begin; u...
2019-08-10 11:58:18 511
原创 jvm启动分析
最近比较闲,一直想学习下jvm是怎么运行的,所以搭建了一套环境分析分析。目前环境为mac+xcode+jdk9,使用clang编译,clang版本clang-900.0.39.2。总体流程jdk总体分为lancher和jvm,jvm以动态链接库的形式被lancher加载。lancher入口在jdk/src/java.base/share/native/launcher/main.c...
2019-01-18 14:12:21 238
原创 elasticsearch字段过大导致的内存问题
公司在搭一套代码搜索系统,存储选型为elasticsearch,三个节点每个节点8g内存,最近遇到一个很诡异的现象是es集群经常内存耗尽,表现形式是堆内存消耗90%以上并且持续进行full gc。因为我们集群查询qps很低所以基本排除了查询缓存的影响,所以问题肯定出在写入的时候,经过多天的排查终于发现罪魁祸首在于es文档中的某一个字段过大。由于我们要对代码源文件内容进行搜索所以es文档中有
2017-11-24 16:13:28 5826 2
原创 opengrok源码浅析
最近公司想搭一套代码搜索系统,所以调研了一下Oracle的开源代码搜索系统opengrok的索引建立机制。opengrok建立索引主要架构图如下所示入口在Indexer类中,其中Indexer会对每个project建立一个索引类IndexDatabase,IndexDatabase通过遍历代码目录下的所有文件对每个文件生成索引。IndexDatabase中的indexDown是建立索引
2017-07-07 22:48:39 2062
原创 CloseableHttpAsyncClient最大连接数的问题
CloseableHttpAsyncClient默认方式初始化CloseableHttpAsyncClient httpclient = HttpAsyncClients.createDefault();这种方式下最大连接数只有10,单主机的最大连接数只有5,在搞并发的情况下延迟会显著加大。如果需要高并发环境那么应该手动设置最大连接数以及单主机的连接数: CloseableHt
2016-08-10 20:42:34 7362
原创 zookeeper客户端执行回调方式初步探究
最近使用zookeeper的时候在回调中加入了比较耗时的处理导致Watcher中process方法被阻塞,大概看了一下客户端的源代码发现client收到一个package会首先把它放入一个队列,然后另外有一个线程,依次从队列中取出packet,再从中取出所有的Watcher,依次执行watcher.process().接受packet代码: public void queuePacket(Pa
2016-05-21 18:53:21 736
原创 awk定位列数不足的数据
数据处理中经常遇到列数不足的脏数据导致程序逻辑出错,可以用awk快速定位出这一行脏数据然后进一步与相关数据提供方沟通 。awk -F, '{if(NF
2016-01-09 13:04:37 2868
原创 java中的Cloneable接口
今天写了一个深拷贝的clone方法发现调用的时候一直抛CloneNotSupportedException, 查了一下资料发现需要实现cloneable接口,加上了之后问题解决了但是不太理解,后来又查了一下资料原来java里面有一类接口就是用来标记的里面并没有方法,只是告诉虚拟机可以安全的进行某种操作类似的还有Serializable 接口。这么设计的目的应该是让用户再审核一下,防止误调用了O
2015-12-26 14:58:08 357
原创 Saiku Mondrian Schema雪花模型写法
现在的场景是fact表为t_line_query(记录每条线路被查询的次数),维度表为t_lines(记录所有的线路),t_cities(所有的城市表)t_line_query外键line_id连接t_lines的主键id,t_lines的外键city_id连接t_cities主键id,整个维度分为3个level:city,lineName,direction正确的写法如下:
2015-04-08 16:07:21 2488
原创 saiku3.x 载入Schema时候的一个注意事项"
用了saiku的后台配置功能,上传了Schema文件配置了数据源之后发现一直找不到数据cube,搞了很久终于发现上传schema时候输入的schema name必须跟xml文件中的Schema name是一致的,而在文档中的原文是说:"In the main window click the browse button and select your schema file. Next ent
2015-03-09 20:16:56 760
revit二次开发自动创建反冲洗滤池代码
2014-12-07
revit二次开发心得
2014-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人