ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "aaron@tophold.com" <aa...@tophold.com>
Subject Re: Re: Some question regards the DataStorageConfiguration when used in multiple data regions.
Date Tue, 02 Jan 2018 09:30:28 GMT
Hi Denis, 

Thanks for so quick response the NPE as:

Caused by: java.lang.NullPointerException
at org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.metadata(CacheObjectBinaryProcessorImpl.java:538)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$2.metadata(CacheObjectBinaryProcessorImpl.java:194)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.binary.BinaryContext.metadata(BinaryContext.java:1266) ~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.binary.BinaryReaderExImpl.getOrCreateSchema(BinaryReaderExImpl.java:2005)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:284)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:183)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.binary.BinaryObjectImpl.reader(BinaryObjectImpl.java:830) ~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.binary.BinaryObjectImpl.reader(BinaryObjectImpl.java:845) ~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.binary.BinaryObjectImpl.field(BinaryObjectImpl.java:308) ~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.property.QueryBinaryProperty.fieldValue(QueryBinaryProperty.java:245)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.property.QueryBinaryProperty.value(QueryBinaryProperty.java:139)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.H2RowDescriptor.columnValue(H2RowDescriptor.java:303)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOnheap.getValue(GridH2KeyValueRowOnheap.java:160)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.database.H2Tree.compare(H2Tree.java:212)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.database.H2Tree.compare(H2Tree.java:40)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.compare(BPlusTree.java:4359)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findInsertionPoint(BPlusTree.java:4279)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$1500(BPlusTree.java:81)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run0(BPlusTree.java:261)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:4697)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:4682)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.readPage(PageHandler.java:158)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.DataStructure.read(DataStructure.java:319)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findDown(BPlusTree.java:1132)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doFind(BPlusTree.java:1101)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$15800(BPlusTree.java:81)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$ForwardCursor.find(BPlusTree.java:4597)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$ForwardCursor.access$5400(BPlusTree.java:4391)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:957)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:938)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.find(H2TreeIndex.java:181)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.h2.index.BaseIndex.find(BaseIndex.java:128) ~[h2-1.4.195.jar!/:?]
at org.h2.index.IndexCursor.find(IndexCursor.java:169) ~[h2-1.4.195.jar!/:?]
at org.h2.table.TableFilter.next(TableFilter.java:468) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Select$LazyResultQueryFlat.fetchNextRow(Select.java:1452) ~[h2-1.4.195.jar!/:?]
at org.h2.result.LazyResult.hasNext(LazyResult.java:79) ~[h2-1.4.195.jar!/:?]
at org.h2.result.LazyResult.next(LazyResult.java:59) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Select.queryFlat(Select.java:519) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Select.queryWithoutCache(Select.java:625) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Query.queryWithoutCacheLazyCheck(Query.java:114) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Query.query(Query.java:352) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Query.query(Query.java:333) ~[h2-1.4.195.jar!/:?]
at org.h2.command.CommandContainer.query(CommandContainer.java:113) ~[h2-1.4.195.jar!/:?]
at org.h2.command.Command.executeQuery(Command.java:201) ~[h2-1.4.195.jar!/:?]
at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:111) ~[h2-1.4.195.jar!/:?]
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:961)
~[ignite-indexing-2.3.0.jar!/:2.3.0]



Regards
Aaron


aaron@tophold.com
 
From: Denis Mekhanikov
Date: 2018-01-02 16:28
To: user
Subject: Re: Some question regards the DataStorageConfiguration when used in multiple data
regions.
Hi Aaron!

Looks like warnings are printed due to a bug. I created a ticket for it: https://issues.apache.org/jira/browse/IGNITE-7347
This bug doesn't affect anything, so you can just ignore the warnings.

You've cut out the most interesting part of the stack trace - place, where NPE occurred. Please
provide the full stack trace.

So, this exception appears, when you update a cache from one data region, and query a cache
from another? It doesn't sound plausible :) Please provide a reproducer, if it's possible.
Or provide more details about your configuration, query entities and a query.

Denis

вт, 2 янв. 2018 г. в 7:12, aaron@tophold.com <aaron@tophold.com>:

hi All, 

Current we are leveraging the DataStorageConfiguration to persist the cache to local file
system. 

Can currently the persistence enable flag be set for separated  data Regions? as from our
running log. 

Even we only set the region A for persistenceEnabled  but log said:

[WARN ] 2018-01-02 03:27:43.234 [main] [ig] GridCacheDatabaseSharedManager - Page eviction
mode for [B_Region] memory region is ignored because Ignite Native Persistence is enabled
[WARN ] 2018-01-02 03:27:43.235 [main] [ig] GridCacheDatabaseSharedManager - Page eviction
mode for [C_Region] memory region is ignored because Ignite Native Persistence is enabled

B/C_Region used because some cache refer to those regions. 

Now the problem is if any time we update the data structure in the Other caches in B/C_Region,
 this cache in the Region A can not be query any more!


[ERROR] 2018-01-02 03:50:06.328 [query-#202%BookerFX%] [ig] GridMapQueryExecutor - Failed
to execute local query.
org.apache.ignite.IgniteCheckedException: Failed to execute SQL query.
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:968)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:1027)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:1006)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest0(GridMapQueryExecutor.java:670)
[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest(GridMapQueryExecutor.java:516)
[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onMessage(GridMapQueryExecutor.java:214)
[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor$2.onMessage(GridMapQueryExecutor.java:174)
[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:2332)
[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1555)
[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1183)
[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1090)
[ignite-core-2.3.0.jar!/:2.3.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: org.h2.jdbc.JdbcSQLException: General error: "class org.apache.ignite.IgniteException:
Runtime failure on bounds: [lower=RowSimple [vals=[null, null, null, 'EURUSD', 0]], upper=RowSimple
[vals=[null, null, null, 'EURUSD', 4096]]]"; SQL statement:
SELECT
"CacheExample".__Z0._KEY __C0_0,
"CacheExample".__Z0._VAL __C0_1,
__Z0.SEQUENCENUMBER __C0_2
FROM "BookerGenericDomainEventEntryFX".GENERICDOMAINEVENTENTRY __Z0
WHERE (__Z0.SEQUENCENUMBER < ?3) AND ((__Z0.AGGREGATEIDENTIFIER = ?1) AND (__Z0.SEQUENCENUMBER
>= ?2))
ORDER BY 3 [50000-195]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) ~[h2-1.4.195.jar!/:?]
at org.h2.message.DbException.get(DbException.java:168) ~[h2-1.4.195.jar!/:?]
at org.h2.message.DbException.convert(DbException.java:295) ~[h2-1.4.195.jar!/:?]
at org.h2.command.Command.executeQuery(Command.java:215) ~[h2-1.4.195.jar!/:?]
at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:111) ~[h2-1.4.195.jar!/:?]
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:961)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
... 14 more
Caused by: org.apache.ignite.IgniteException: Runtime failure on bounds: [lower=RowSimple
[vals=[null, null, null, 'EURUSD', 0]], upper=RowSimple [vals=[null, null, null, 'EURUSD',
4096]]]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:965)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:938)
~[ignite-core-2.3.0.jar!/:2.3.0]
at org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.find(H2TreeIndex.java:181)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
at org.h2.index.BaseIndex.find(BaseIndex.java:128) ~[h2-1.4.195.jar!/:?]
at org.h2.index.IndexCursor.find(IndexCursor.java:169) ~[h2-1.4.195.jar!/:?]
at org.h2.table.TableFilter.next(TableFilter.java:468) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Select$LazyResultQueryFlat.fetchNextRow(Select.java:1452) ~[h2-1.4.195.jar!/:?]
at org.h2.result.LazyResult.hasNext(LazyResult.java:79) ~[h2-1.4.195.jar!/:?]
at org.h2.result.LazyResult.next(LazyResult.java:59) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Select.queryFlat(Select.java:519) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Select.queryWithoutCache(Select.java:625) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Query.queryWithoutCacheLazyCheck(Query.java:114) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Query.query(Query.java:352) ~[h2-1.4.195.jar!/:?]
at org.h2.command.dml.Query.query(Query.java:333) ~[h2-1.4.195.jar!/:?]
at org.h2.command.CommandContainer.query(CommandContainer.java:113) ~[h2-1.4.195.jar!/:?]
at org.h2.command.Command.executeQuery(Command.java:201) ~[h2-1.4.195.jar!/:?]
at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:111) ~[h2-1.4.195.jar!/:?]
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:961)
~[ignite-indexing-2.3.0.jar!/:2.3.0]
... 14 more
Caused by: java.lang.NullPointerException



Cache configuration:

<property name="storagePath" value="${persistent.store.base.path:/var/ignite/persistent}/${app.instance.cnt}/store"/>
<property name="walArchivePath" value="${persistent.store.base.path:/var/ignite/persistent}/${app.instance.cnt}/store/wal/archive"/>
<property name="walPath" value="${persistent.store.base.path:/var/ignite/persistent}/${app.instance.cnt}/store/wal"/><bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
    <property name="name" value="A_Region"/>
    <property name="initialSize" value="#{2L * 1024L * 1024L * 1024L}"/>
    <property name="maxSize" value="#{4L * 1024L * 1024L * 1024L}"/>
    <property name="pageEvictionMode" value="DISABLED"/>
    <property name="persistenceEnabled" value="true"/>
</bean>


Thanks for your time!



Regards
Aaron


aaron@tophold.com
Mime
View raw message