Block[Table[mnode:2,/opt/resin_push/resin-data/self-service/distcache/mnode.db],1b8002,copy=false,lo

本文详细记录了一次 Resin 服务器出现 500 ServletException 的错误排查过程,并提供了具体的解决方案。当遇到 com.caucho.db.block.Block.validateIsIndex 抛出 java.lang.IllegalStateException 异常时,可以通过删除 resin-data 目录来重置服务器状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(答案在最后面)

500 Servlet Exception

[show] java.lang.IllegalStateException: block Block[Table[mnode:2,/opt/resin_push/resin-data/self-service/distcache/mnode.db],1b8002,copy=false,load=false,dirty=false] is not an index code=0 java.lang.IllegalStateException: block Block[Table[mnode:2,/opt/resin_push/resin-data/self-service/distcache/mnode.db],1b8002,copy=false,load=false,dirty=false] is not an index code=0 at com.caucho.db.block.Block.validateIsIndex(Block.java:156) at com.caucho.db.index.BTree.validateIndex(BTree.java:1734) at com.caucho.db.index.BTree.lookup(BTree.java:199) at com.caucho.db.index.BTree.lookup(BTree.java:214) at com.caucho.db.index.BTree.lookup(BTree.java:170) at com.caucho.db.sql.IndexExpr.evalIndex(IndexExpr.java:152) at com.caucho.db.sql.IndexExpr.initRow(IndexExpr.java:104) at com.caucho.db.sql.Query$TailInitRow.initBlockRow(Query.java:952) at com.caucho.db.sql.Query.start(Query.java:727) at com.caucho.db.sql.SelectQuery.execute(SelectQuery.java:209) at com.caucho.db.sql.SelectQuery.execute(SelectQuery.java:171) at com.caucho.db.jdbc.PreparedStatementImpl.execute(PreparedStatementImpl.java:357) at com.caucho.db.jdbc.PreparedStatementImpl.executeQuery(PreparedStatementImpl.java:325) at com.caucho.server.distcache.MnodeStore.load(MnodeStore.java:551) at com.caucho.server.distcache.CacheDataBackingImpl.loadLocalEntryValue(CacheDataBackingImpl.java:150) at com.caucho.server.distcache.DistCacheEntry.loadLocalMnodeValue(DistCacheEntry.java:1509) at com.caucho.server.distcache.DistCacheEntry.loadMnodeValue(DistCacheEntry.java:1038) at com.caucho.server.distcache.DistCacheEntry.loadMnodeValue(DistCacheEntry.java:188)         at com.caucho.server.distcache.CacheImpl.getExtCacheEntry(CacheImpl.java:365) at com.caucho.server.session.SessionImpl.load(SessionImpl.java:687) at com.caucho.server.session.SessionManager.createSession(SessionManager.java:1428) at com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:701) at com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:643) at _jsp._index__jsp._jspService(_index__jsp.java:22) at com.caucho.jsp.JavaPage.service(JavaPage.java:64) at com.caucho.jsp.Page.pageservice(Page.java:548) at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:194) at com._21cn.framework.web.filter.SpringContextFilter.doFilter(SpringContextFilter.java:110) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89) at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:131) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:289) at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:298) at com.caucho.server.webapp.RequestDispatcherImpl.dispatch(RequestDispatcherImpl.java:141) at com.caucho.server.dispatch.RewriteDispatchFilterChain.doFilter(RewriteDispatchFilterChain.java:92) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156) at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)         at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:289) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:838) at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:1348) at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:1304) at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:1288) at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:1196) at com.caucho.network.listen.TcpSocketLink.handleAcceptTaskImpl(TcpSocketLink.java:993)         at com.caucho.network.listen.ConnectionTask.runThread(ConnectionTask.java:117) at com.caucho.network.listen.ConnectionTask.run(ConnectionTask.java:93) at com.caucho.network.listen.SocketLinkThreadLauncher.handleTasks(SocketLinkThreadLauncher.java:169) at com.caucho.network.listen.TcpSocketAcceptThread.run(TcpSocketAcceptThread.java:61) at com.caucho.env.thread2.ResinThread2.runTasks(ResinThread2.java:173) at com.caucho.env.thread2.ResinThread2.run(ResinThread2.java:118)


解决办法:

 
 
resin-data

The resin-data directory contains Resin's internal data, including deployed webapps, the health system data, and distributed caches.

If Resin's internal data becomes corrupted, you can remove the resin-data directory to reset the state. If you have multiple servers in a triad hub, the reset server will restore its values from the other servers.

When Resin is deployed in a Unix environment, the resin-data will typically be in /var/resin/resin-data.

相关链接:
http://www.caucho.com/resin-4.0/admin/resin-directory.xtp

 
 
http://bugs.caucho.com/view.php?id=5523 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值