背景
最近压测Cassandra的时候,发现一个Cassandra进程一直没有完成初始化。经过排查后发现是死锁问题,这篇文章将会带领大家回顾整个排查过程,学习如何排查Java死锁问题,是一个非常值得学习的经验。
调查过程
1.问题发现
首先是启动后,通过Cassandra命令nodetool netstats观察何时进入NORMAL状态。如下图所示:
但是过了很久都没有进入NORMAL,一直处于STARTING状态。
2.jstack排查
想要知道为啥一直处于STARTING状态,当然是用Jstack去观察进程到底在做什么。

jstack显示主线程处于WAITING状态。这符合我们观察到的现象,因为确实一直卡在STARTING状态没有走下去。使主线程卡住的地方是AbstractCommitLogSegmentManager.awaitAvaila
继续阅读与本文标签相同的文章
下一篇 :
基于Flink和规则引擎的实时风控解决方案
-
公告 | 支付宝小程序相关的审核暂停公告
2026-05-18栏目: 教程
-
深入解析 Kubebuilder:让编写 CRD 变得更简单
2026-05-18栏目: 教程
-
为什么要使用MQ消息中间件?这3个点让你彻底明白!
2026-05-18栏目: 教程
-
支付宝放出数字化经营新神器,可提升商家60%消费频次
2026-05-18栏目: 教程
-
免费下载!《0代码,搭应用》宜搭白皮书首发
2026-05-18栏目: 教程
