【发布时间】:2012-12-27 15:08:49
【问题描述】:
我无法让 solr + jetty 工作。我正在关注所有
来自 - http://wiki.apache.org/solr/SolrJetty 的信件说明。它工作得很好。但是当我多次重新启动码头时,在 3/4 这样的重新启动后它开始挂起。管理页面无法加载,我的应用无法获得与 solr 的连接。我还创建了一个工作文件夹 - /opt/solr/work。我还将tmpdir 设置为/etc/default/jetty 中的新路径。我可以确认 tmpdir 设置为来自管理仪表板的新路径,在 args 下。因此,操作系统清除 tmp 文件基本上不是问题。
我可能缺少什么?我应该看看我的代码,看看我是否 没有正确提交?
我的配置 - 示例中的 Solr 4.0.0 和码头。带有 Open JDK 7 的 Ubuntu 12.04。
编辑:
我在 Ubuntu 12.04 机器上运行 Jetty 8,与 Solr 示例捆绑在一起。当我使用 start.jar 并且服务器无法正常启动时,关闭码头会引发 ThreadPoolException - 无法停止线程。
这是堆栈跟踪的转储:
2012-12-27 23:00:15.084:WARN:oejut.QueuedThreadPool:1 threads could not be stopped
2012-12-27 23:00:15.084:INFO:oejut.QueuedThreadPool:Couldn't stop Thread[qtp766488133-16,5,main]
2012-12-27 23:00:15.085:INFO:oejut.QueuedThreadPool: at sun.misc.Unsafe.park(Native Method)
2012-12-27 23:00:15.085:INFO:oejut.QueuedThreadPool: at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
2012-12-27 23:00:15.085:INFO:oejut.QueuedThreadPool: at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2081)
2012-12-27 23:00:15.085:INFO:oejut.QueuedThreadPool: at java.util.concurrent.ThreadPoolExecutor.awaitTermination(ThreadPoolExecutor.java:1425)
2012-12-27 23:00:15.086:INFO:oejut.QueuedThreadPool: at java.util.concurrent.Executors$DelegatedExecutorService.awaitTermination(Executors.java:636)
2012-12-27 23:00:15.086:INFO:oejut.QueuedThreadPool: at org.apache.solr.core.SolrCore.close(SolrCore.java:835)
2012-12-27 23:00:15.086:INFO:oejut.QueuedThreadPool: at org.apache.solr.handler.admin.CoreAdminHandler.getCoreStatus(CoreAdminHandler.java:865)
【问题讨论】:
-
你能从那个 ThreadPoolException 中编辑和添加更多内容吗?
-
添加了堆栈跟踪。如果您需要更多信息,请告诉我。
-
好的,认为异常是一个红鲱鱼,可能是一个请求被 solr 内部的某些东西阻塞,并且在关闭时没有被完全清理。
-
所以这绝对是一个 solr 方面的问题,而不是像 tmpdir 或工作目录设置这样的配置问题?