Yes, it's my code.
rs=hbaseBean.hTable.get(new Get(Bytes.toBytes(key))); It's Hbase's api. If I only use hbase without ignite to execute that line, console will return a null value. But when I use ignite readthrough, console return a nullpointerexception you have known. I guess the really wrong place is ignite-core. ------------------ ???????? ------------------ ??????: "Dmitriy Setrakyan";<[email protected]>; ????????: 2016??5??13??(??????) ????3:06 ??????: "user"<[email protected]>; ????: Re: NullPointerException When Use ReadThrough The stack trace shows that NPE comes from hbasetest.HbaseLoadCacheStore.load(HbaseLoadCacheStore.java:121), which is not an Ignite class. Is this your code? Can you check what is null in this class on line 121? D. On Thu, May 12, 2016 at 11:43 PM, Level D <[email protected]> wrote: Console shows : [14:33:38,735][SEVERE][sys-#19%null%][GridPartitionedSingleGetFuture] Failed to get values from dht cache [fut=GridCompoundIdentityFuture [super=GridCompoundFuture [rdc=Collection reducer: [], flags=1, lsnrCalls=1, done=true, cancelled=false, err=class o.a.i.IgniteCheckedException: java.lang.NullPointerException, futs=[false, true]]]] class org.apache.ignite.IgniteCheckedException: java.lang.NullPointerException at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadFromStore(GridCacheStoreManagerAdapter.java:309) at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.load(GridCacheStoreManagerAdapter.java:265) at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadAllFromStore(GridCacheStoreManagerAdapter.java:398) at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadAll(GridCacheStoreManagerAdapter.java:364) at org.apache.ignite.internal.processors.cache.GridCacheAdapter$15.call(GridCacheAdapter.java:1944) at org.apache.ignite.internal.processors.cache.GridCacheAdapter$15.call(GridCacheAdapter.java:1942) at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6420) at org.apache.ignite.internal.processors.closure.GridClosureProcessor$2.body(GridClosureProcessor.java:929) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: javax.cache.integration.CacheLoaderException: java.lang.NullPointerException ... 12 more Caused by: java.lang.NullPointerException at hbasetest.HbaseLoadCacheStore.load(HbaseLoadCacheStore.java:121) at hbasetest.HbaseLoadCacheStore.load(HbaseLoadCacheStore.java:25) at org.apache.ignite.internal.processors.cache.CacheStoreBalancingWrapper.load(CacheStoreBalancingWrapper.java:97) at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadFromStore(GridCacheStoreManagerAdapter.java:298) ... 11 more Line 121 in HbaseLoadCacheStore.java is rs=hbaseBean.hTable.get(new Get(Bytes.toBytes(key))); In addition, that ket is neither existed in ignite cache nor in hbase. Thanks for your help.
