0
我的場景,WSO2 DAS - 索引數據中的錯誤peekNext:映射失敗
我在Mysql數據庫中有一些事務詳細信息。我使用WSO2 ESB服務器並將這些數據推送到WSO2 DAS服務器(使用主鍵和索引持久存儲H2 DB中的數據)。數據已成功加載到DAS服務器,但是我面對的問題是,我每隔三秒就會在DAS控制檯中看到一個錯誤。錯誤在下面給出。
[2016-04-21 09:09:48,175] ERROR {org.wso2.carbon.analytics.dataservice.core.indexing.AnalyticsDataIndexer} - Error in p
rocessing index batch operations: Error in index data peekNext: Map failed
org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException: Error in index data peekNext: Map failed
at org.wso2.carbon.analytics.dataservice.core.indexing.LocalIndexDataStore$LocalIndexDataQueue.peekNext(LocalInd
exDataStore.java:287)
at org.wso2.carbon.analytics.dataservice.core.indexing.AnalyticsDataIndexer.processLocalShardDataQueue(Analytics
DataIndexer.java:297)
at org.wso2.carbon.analytics.dataservice.core.indexing.AnalyticsDataIndexer.processIndexOperations(AnalyticsData
Indexer.java:261)
at org.wso2.carbon.analytics.dataservice.core.indexing.AnalyticsDataIndexer.access$200(AnalyticsDataIndexer.java
:141)
at org.wso2.carbon.analytics.dataservice.core.indexing.AnalyticsDataIndexer$IndexWorker.run(AnalyticsDataIndexer
.java:1865)
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: java.io.IOException: Map failed
at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:888)
at com.leansoft.bigqueue.page.MappedPageFactoryImpl.acquirePage(MappedPageFactoryImpl.java:86)
at com.leansoft.bigqueue.BigArrayImpl.append(BigArrayImpl.java:325)
at com.leansoft.bigqueue.BigQueueImpl.enqueue(BigQueueImpl.java:92)
at org.wso2.carbon.analytics.dataservice.core.indexing.LocalIndexDataStore$LocalIndexDataQueue.peekNext(LocalInd
exDataStore.java:271)
... 7 more
Caused by: java.lang.OutOfMemoryError: Map failed
at sun.nio.ch.FileChannelImpl.map0(Native Method)
at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:885)
... 11 more
我不知道爲什麼會發生這種情況。請提前幫助和感謝。
感謝您的幫助更大。 兩個簡單的問題! 1.我的數據現在並不大(從mysql只有100行),我只是使用測試數據,上面的錯誤信息仍然會出現。 2.如果是這樣,我可以在哪裏使用JVM中的-d64和-XX:MaxDirectMemorySize選項 – Aswin
您可以在DAS的啓動腳本中添加這些JAVA選項。 –
是不是-XX:MaxDirectMemorySize的默認值是無界的?我們應該明確給它一個價值嗎? – Aswin