Hi Igniters,

Who could advice me how to create PR from these commits? Should PR be
always created by commit author?

Hi Reed,

could you please create PR so we could run tests on continious integration?

Sincerely,
Dmitriy Pavlov

---------- Forwarded message ---------
From: Reed Sandberg (JIRA) <j...@apache.org>
Date: пт, 30 мар. 2018 г. в 22:51
Subject: [jira] [Comment Edited] (IGNITE-6815) "Unexpected exception during
cache update" via NullPointerException thrown using TouchedExpiryPolicy
To: <dpavlov....@gmail.com>



    [
https://issues.apache.org/jira/browse/IGNITE-6815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16420872#comment-16420872
]

Reed Sandberg edited comment on IGNITE-6815 at 3/30/18 7:50 PM:
----------------------------------------------------------------

The following has fixed the problem in our production environment (stable
for 3 months now)



2.3:

[
https://github.com/reed-sandberg/ignite/commit/e6310e8d1481396f8cf3a5ede834989d0b277fc5
]



2.4:

[
https://github.com/reed-sandberg/ignite/commit/29ffe10e7be5ce3193b2fcb89c713c5269761c1c
]




was (Author: rsandberg):
The following has fixed the problem in our production environment (stable
for 3 months now)



https://github.com/reed-sandberg/ignite/commit/e6310e8d1481396f8cf3a5ede834989d0b277fc5

> "Unexpected exception during cache update" via NullPointerException
thrown using TouchedExpiryPolicy
>
----------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-6815
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6815
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache, streaming
>    Affects Versions: 2.2, 2.3
>         Environment: 4.10.0-33-generic #37~16.04.1-Ubuntu SMP Fri Aug 11
14:07:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
> Distributor ID:       LinuxMint
> Description:  Linux Mint 18.2 Sonya
> Release:      18.2
> Codename:     sonya
>            Reporter: Reed Sandberg
>            Priority: Major
>
> This is triggered when I apply an expiry on the cache during an import
with StreamLoader, with no expiry on the cache, the import runs fine.
> Somehow the following line of code is hit with val == null:
>
org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java:1253
> Stack trace (version 2.3.0 release package from maven public repo):
> {noformat}
> 16:04:25.259 ERROR o.a.i.i.p.c.d.d.a.GridDhtAtomicCache -
<devid-dbid-map> Unexpected exception during cache update
> org.apache.ignite.IgniteException: Runtime failure on search row:
org.apache.ignite.internal.processors.cache.tree.SearchRow@68a4e885
>       at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1632)
>       at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1201)
>       at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:343)
>       at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1693)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2419)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:1882)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1735)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1627)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:299)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:483)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:443)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1116)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.invoke0(GridDhtAtomicCache.java:825)
>       at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.invoke(GridDhtAtomicCache.java:783)
>       at
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.invoke(IgniteCacheProxyImpl.java:1338)
>       at
org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.invoke(GatewayProtectedCacheProxy.java:1320)
>       at
org.apache.ignite.stream.StreamTransformer.receive(StreamTransformer.java:45)
>       at
org.apache.ignite.internal.processors.datastreamer.DataStreamerUpdateJob.call(DataStreamerUpdateJob.java:137)
>       at
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6631)
>       at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$2.body(GridClosureProcessor.java:967)
>       at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>       at
org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:505)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.NullPointerException: null
>       at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.createRow(IgniteCacheOffheapManagerImpl.java:1253)
>       at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.initResultOnCancelUpdate(GridCacheMapEntry.java:4267)
>       at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:4154)
>       at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:3918)
>       at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.invokeClosure(BPlusTree.java:2988)
>       at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.access$6200(BPlusTree.java:2882)
>       at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:1719)
>       at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1602)
>       ... 23 common frames omitted
> {noformat}
> The NPE seems to be triggered only when applying a TTL to the cache:
> {noformat}
>         CacheConfiguration<DeviceId, DeviceIdCacheEntry> ccDevidCache =
>                 new CacheConfiguration<>();
>         ccDevidCache =
ccDevidCache.setExpiryPolicyFactory(FactoryBuilder.factoryOf(
>                 new TouchedExpiryPolicy(new Duration(DAYS,
GRAPH_CACHE_TTL))))
>                 .setEagerTtl(true)
>                 .setName("devid-dbid-map");
>         ignite.getOrCreateCache(ccDevidCache);
> {noformat}
> However it works fine with a 'plain' cache config:
> {noformat}
> ignite.createCache("devid-dbid-map");
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to