solr 的 WSO2 API 管理器问题 [英] WSO2 API Manager issues with solr
问题描述
我已经设置了与 WSO2 身份服务器集成的 WSO2 API 管理器的新设置.启动 WSO2 API 管理器时,我开始收到以下错误:
SolrIndexWriter 未在 finalize() 之前关闭,表明存在错误 -- 可能的资源泄漏!!!{org.apache.solr.update.SolrIndexWriter}TID:[-1] [] [2017-03-07 10:38:31,745] 错误 {org.apache.solr.update.SolrIndexWriter} - 关闭 IndexWriter {org.apache.solr.update.SolrIndexWriter} 时出错java.lang.NullPointerException在 org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3010)在 org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:2978)在 org.apache.lucene.index.IndexWriter.shutdown(IndexWriter.java:970)在 org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1015)在 org.apache.solr.update.SolrIndexWriter.close(SolrIndexWriter.java:130)在 org.apache.solr.update.SolrIndexWriter.finalize(SolrIndexWriter.java:183)在 java.lang.System$2.invokeFinalize(System.java:1213)在 java.lang.ref.Finalizer.runFinalizer(Finalizer.java:98)在 java.lang.ref.Finalizer.access$100(Finalizer.java:34)在 java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:210)TID:[-1] [] [2017-03-07 10:38:32,198] 错误 {org.apache.solr.core.CoreContainer} - 创建核心时出错 [registry-indexing]:打开新搜索器时出错 {org.apache.solr.core.CoreContainer}org.apache.solr.common.SolrException:打开新搜索器时出错在 org.apache.solr.core.SolrCore.(SolrCore.java:815)在 org.apache.solr.core.SolrCore.(SolrCore.java:658)在 org.apache.solr.core.CoreContainer.create(CoreContainer.java:637)在 org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:381)在 org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:375)在 java.util.concurrent.FutureTask.run(FutureTask.java:262)在 org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor$1.run(ExecutorUtil.java:148)在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)在 java.lang.Thread.run(Thread.java:745)引起:org.apache.solr.common.SolrException:打开新搜索器时出错在 org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1657)在 org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1769)在 org.apache.solr.core.SolrCore.initSearcher(SolrCore.java:911)在 org.apache.solr.core.SolrCore.(SolrCore.java:788)... 9 更多引起:org.apache.lucene.index.IndexNotFoundException:在 NRTCachingDirectory(MMapDirectory@C:\wso2\wso2am-1.10.0\solr\data\index lockFactory=org.apache.lucene.store.NativeFSLockFactory 中找不到段*文件@2d38ca50; maxCacheMB=48.0 maxMergeSizeMB=4.0): 文件: [_od3a_Lucene50_0.tim, _od3a.fnm, write.lock, _od3a.nvd, _od3a_1.liv, _od3a_Lucene50_0.pos.Lucene50_0.pos.Lucene50_0.pos.Lucene50_0.pos.Lucene50_0.pos,_0d30d,_od3a._od3a.fdt、_od3a_Lucene50_0.tip、_od3a.nvm]在 org.apache.lucene.index.IndexWriter.(IndexWriter.java:825)在 org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:78)在 org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:65)在 org.apache.solr.update.DefaultSolrCoreState.createMainIndexWriter(DefaultSolrCoreState.java:273)在 org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:116)在 org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1626)……还有 12 个
有人有什么想法吗?
如果索引未正确进行,则可能会发生这种情况.您可以尝试按如下方式重新编制索引.
- 备份位于/solr 中的 solr 文件夹并从 API Manager 主位置删除.
- 打开/repository/conf/registry.xml
- 在 indexingConfiguration 标签下有一个名为 lastAccessTimeLocation 的值.默认值为
<块引用>
/_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime
将该值更改为
<块引用>/_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime1
- 启动服务器.
- 等待大约 2 分钟以进行索引.
- 重新检查 API 的创建.
I have setup a new setup of WSO2 API Manager integrated with WSO2 Identity Server. When starting the WSO2 API Manager I start getting the following error:
SolrIndexWriter was not closed prior to finalize(), indicates a bug -- POSSIBLE RESOURCE LEAK!!! {org.apache.solr.update.SolrIndexWriter}
TID: [-1] [] [2017-03-07 10:38:31,745] ERROR {org.apache.solr.update.SolrIndexWriter} - Error closing IndexWriter {org.apache.solr.update.SolrIndexWriter}
java.lang.NullPointerException
at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3010)
at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:2978)
at org.apache.lucene.index.IndexWriter.shutdown(IndexWriter.java:970)
at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1015)
at org.apache.solr.update.SolrIndexWriter.close(SolrIndexWriter.java:130)
at org.apache.solr.update.SolrIndexWriter.finalize(SolrIndexWriter.java:183)
at java.lang.System$2.invokeFinalize(System.java:1213)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:98)
at java.lang.ref.Finalizer.access$100(Finalizer.java:34)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:210)
TID: [-1] [] [2017-03-07 10:38:32,198] ERROR {org.apache.solr.core.CoreContainer} - Error creating core [registry-indexing]: Error opening new searcher {org.apache.solr.core.CoreContainer}
org.apache.solr.common.SolrException: Error opening new searcher
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:815)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:658)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:637)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:381)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:375)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor$1.run(ExecutorUtil.java:148)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.solr.common.SolrException: Error opening new searcher
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1657)
at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1769)
at org.apache.solr.core.SolrCore.initSearcher(SolrCore.java:911)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:788)
... 9 more
Caused by: org.apache.lucene.index.IndexNotFoundException: no segments* file found in NRTCachingDirectory(MMapDirectory@C:\wso2\wso2am-1.10.0\solr\data\index lockFactory=org.apache.lucene.store.NativeFSLockFactory@2d38ca50; maxCacheMB=48.0 maxMergeSizeMB=4.0): files: [_od3a_Lucene50_0.tim, _od3a.fnm, write.lock, _od3a.nvd, _od3a_1.liv, _od3a_Lucene50_0.pos, _od3a.fdx, _od3a_Lucene50_0.doc, _od3a.si, _od3a.fdt, _od3a_Lucene50_0.tip, _od3a.nvm]
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:825)
at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:78)
at org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:65)
at org.apache.solr.update.DefaultSolrCoreState.createMainIndexWriter(DefaultSolrCoreState.java:273)
at org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:116)
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1626)
... 12 more
Any one has any ideas please?
This could happen if the indexing has not happened properly. You can try redoing the indexing as follows.
- Backup the solr folder which resides in /solr and remove from API Manager home location.
- Open /repository/conf/registry.xml
- Under indexingConfiguration tag there is a value called lastAccessTimeLocation. Default value is
/_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime
Change that value to
/_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime1
- Start the server.
- Wait about 2 minutes for indexing.
- Recheck the creation of the API.
这篇关于solr 的 WSO2 API 管理器问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!