Ksenia Rybakova created IGNITE-8308:
---------------------------------------
Summary: Sporadic NPE in IgniteAtomicSequenceExample at
GridDhtTxPrepareFuture.map
Key: IGNITE-8308
URL: https://issues.apache.org/jira/browse/IGNITE-8308
Project: Ignite
Issue Type: Bug
Affects Versions: 1.8
Reporter: Ksenia Rybakova
Sporadic NPE occures in IgniteAtomicSequenceExample at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.map
{noformat}
java.lang.NullPointerException
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.map(GridDhtTxPrepareFuture.java:1513)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.map(GridDhtTxPrepareFuture.java:1462)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare0(GridDhtTxPrepareFuture.java:1194)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.mapIfLocked(GridDhtTxPrepareFuture.java:667)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1040)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:481)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:465)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareTx(IgniteTxHandler.java:237)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest(IgniteTxHandler.java:123)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:145)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:143)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:836)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:378)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:302)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:96)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:247)
at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1512)
at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1140)
at
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:119)
at
org.apache.ignite.internal.managers.communication.GridIoManager$8.run(GridIoManager.java:1080)
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)
{noformat}
For instance with 2 nodes:
Node1:
{noformat}
[17:17:56] Ignite node started OK (id=ac7dda5e) [17:17:56] Topology snapshot
[ver=2, servers=2, clients=0, CPUs=32, heap=3.0GB] >>> Cache atomic sequence
example started. Sequence initial value on local node: 0 Sequence
[currentValue=0, afterIncrement=1] Sequence [currentValue=1, afterIncrement=2]
Sequence [currentValue=2, afterIncrement=3] Sequence [currentValue=3,
afterIncrement=4] Sequence [currentValue=4, afterIncrement=5] Sequence
[currentValue=5, afterIncrement=6] Sequence [currentValue=6, afterIncrement=7]
Sequence [currentValue=7, afterIncrement=8] Sequence [currentValue=8,
afterIncrement=9] Sequence [currentValue=9, afterIncrement=10] Sequence
[currentValue=10, afterIncrement=11] Sequence [currentValue=11,
afterIncrement=12] Sequence [currentValue=12, afterIncrement=13] Sequence
[currentValue=13, afterIncrement=14] Sequence [currentValue=14,
afterIncrement=15] Sequence [currentValue=15, afterIncrement=16] Sequence
[currentValue=16, afterIncrement=17] Sequence [currentValue=17,
afterIncrement=18] Sequence [currentValue=18, afterIncrement=19] Sequence
[currentValue=19, afterIncrement=20] Sequence after incrementing [expected=20,
actual=20] Finished atomic sequence example... Check all nodes for output (this
node is also part of the cluster).
{noformat}
Node2:
{noformat}
[17:17:42] Ignite node started OK (id=734c312e) [17:17:42] Topology snapshot
[ver=1, servers=1, clients=0, CPUs=32, heap=2.0GB] [17:17:55] Topology snapshot
[ver=2, servers=2, clients=0, CPUs=32, heap=3.0GB]
[17:17:56,719][SEVERE][utility-#87%null%][GridCacheIoManager] Failed processing
message [senderId=ac7dda5e-491b-43ce-aa22-d5442fb4db8c,
msg=GridNearTxPrepareRequest
[futId=14f91dec261-f8b65720-5df3-4f06-b1d5-f74b356049cf,
miniId=24f91dec261-f8b65720-5df3-4f06-b1d5-f74b356049cf, near=false,
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=0], last=true,
lastBackups=null, retVal=false, implicitSingle=false, explicitLock=false,
subjId=ac7dda5e-491b-43ce-aa22-d5442fb4db8c, taskNameHash=0,
firstClientReq=false, super=GridDistributedTxPrepareRequest [threadId=157,
concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, writeVer=GridCacheVersion
[topVer=135368263, time=1523888276573, order=1523888269497, nodeOrder=2],
timeout=0, invalidate=false, reads=[], writes=[IgniteTxEntry
[key=KeyCacheObjectImpl [val=CacheDataStructuresConfigurationKey [],
hasValBytes=true], cacheId=-2100569601, partId=-1, txKey=IgniteTxKey
[key=KeyCacheObjectImpl [val=CacheDataStructuresConfigurationKey [],
hasValBytes=true], cacheId=-2100569601], val=[op=TRANSFORM, val=null],
prevVal=[op=NOOP, val=null], oldVal=[op=NOOP, val=null],
entryProcessorsCol=[IgniteBiTuple [val1=AddAtomicProcessor
[info=DataStructureInfo [name=example-sequence, type=ATOMIC_SEQ]],
val2=[Ljava.lang.Object;@193a5daf]], ttl=-1, conflictExpireTime=-1,
conflictVer=null, explicitVer=null, dhtVer=null, filters=[],
filtersPassed=false, filtersSet=false, entry=GridDhtColocatedCacheEntry
[super=GridDhtCacheEntry [rdrs=[], locPart=GridDhtLocalPartition
[rmvQueueMaxSize=128, rmvdEntryTtl=10000, id=21,
map=o.a.i.i.processors.cache.GridCacheConcurrentMapImpl@53c3ddca, cntr=1,
shouldBeRenting=false, state=OWNING, reservations=0, empty=false,
createTime=04/16/2018 17:17:42], super=GridDistributedCacheEntry
[super=GridCacheMapEntry [key=KeyCacheObjectImpl
[val=CacheDataStructuresConfigurationKey [], hasValBytes=true],
val=CacheObjectImpl [val=\{example-sequence=DataStructureInfo
[name=example-sequence, type=ATOMIC_SEQ]}, hasValBytes=true],
startVer=1523888269500, ver=GridCacheVersion [topVer=135368263,
time=1523888276671, order=1523888269506, nodeOrder=1], hash=-1424345221,
extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc
[locs=[GridCacheMvccCandidate [nodeId=734c312e-69ad-4476-a25a-2736692947ff,
ver=GridCacheVersion [topVer=135368263, time=1523888276616,
order=1523888269501, nodeOrder=1], threadId=137, id=6,
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=0], reentry=null,
otherNodeId=734c312e-69ad-4476-a25a-2736692947ff, otherVer=GridCacheVersion
[topVer=135368263, time=1523888276616, order=1523888269501, nodeOrder=1],
mappedDhtNodes=null, mappedNearNodes=null, ownerVer=GridCacheVersion
[topVer=135368263, time=1523888276593, order=1523888269498, nodeOrder=1],
serOrder=null, key=KeyCacheObjectImpl [val=CacheDataStructuresConfigurationKey
[], hasValBytes=true],
masks=local=1|owner=1|ready=1|reentry=0|used=0|tx=1|single_implicit=0|dht_local=1|near_local=0|removed=0|read=0,
prevVer=null, nextVer=GridCacheVersion [topVer=135368263, time=1523888276678,
order=1523888269508, nodeOrder=1]]], rmts=null]], flags=0]]]], prepared=0,
locked=false, nodeId=null, locMapped=false, expiryPlc=null,
transferExpiryPlc=false, flags=0, partUpdateCntr=0, serReadVer=null,
xidVer=null]], dhtVers=\{IgniteTxKey [key=KeyCacheObjectImpl
[val=CacheDataStructuresConfigurationKey [], hasValBytes=true],
cacheId=-2100569601]=null}, txSize=0, onePhaseCommit=true, sys=true, plc=5,
txState=IgniteTxStateImpl [activeCacheIds=GridLongList [idx=1,
arr=[-2100569601]], txMap=\{IgniteTxKey [key=KeyCacheObjectImpl
[val=CacheDataStructuresConfigurationKey [], hasValBytes=true],
cacheId=-2100569601]=IgniteTxEntry [key=KeyCacheObjectImpl
[val=CacheDataStructuresConfigurationKey [], hasValBytes=true],
cacheId=-2100569601, partId=21, txKey=IgniteTxKey [key=KeyCacheObjectImpl
[val=CacheDataStructuresConfigurationKey [], hasValBytes=true],
cacheId=-2100569601], val=[op=TRANSFORM, val=null], prevVal=[op=NOOP,
val=null], oldVal=[op=NOOP, val=null], entryProcessorsCol=[IgniteBiTuple
[val1=AddAtomicProcessor [info=DataStructureInfo [name=example-sequence,
type=ATOMIC_SEQ]], val2=[Ljava.lang.Object;@193a5daf]], ttl=-1,
conflictExpireTime=-1, conflictVer=null, explicitVer=null, dhtVer=null,
filters=[], filtersPassed=false, filtersSet=false,
entry=GridDhtColocatedCacheEntry [super=GridDhtCacheEntry [rdrs=[],
locPart=GridDhtLocalPartition [rmvQueueMaxSize=128, rmvdEntryTtl=10000, id=21,
map=o.a.i.i.processors.cache.GridCacheConcurrentMapImpl@53c3ddca, cntr=1,
shouldBeRenting=false, state=OWNING, reservations=0, empty=false,
createTime=04/16/2018 17:17:42], super=GridDistributedCacheEntry
[super=GridCacheMapEntry [key=KeyCacheObjectImpl
[val=CacheDataStructuresConfigurationKey [], hasValBytes=true],
val=CacheObjectImpl [val={example-sequence=DataStructureInfo
[name=example-sequence, type=ATOMIC_SEQ]}, hasValBytes=true],
startVer=1523888269500, ver=GridCacheVersion [topVer=135368263,
time=1523888276671, order=1523888269506, nodeOrder=1], hash=-1424345221,
extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc
[locs=[GridCacheMvccCandidate [nodeId=734c312e-69ad-4476-a25a-2736692947ff,
ver=GridCacheVersion [topVer=135368263, time=1523888276616,
order=1523888269501, nodeOrder=1], threadId=137, id=6,
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=0], reentry=null,
otherNodeId=734c312e-69ad-4476-a25a-2736692947ff, otherVer=GridCacheVersion
[topVer=135368263, time=1523888276616, order=1523888269501, nodeOrder=1],
mappedDhtNodes=null, mappedNearNodes=null, ownerVer=GridCacheVersion
[topVer=135368263, time=1523888276593, order=1523888269498, nodeOrder=1],
serOrder=null, key=KeyCacheObjectImpl [val=CacheDataStructuresConfigurationKey
[], hasValBytes=true],
masks=local=1|owner=1|ready=1|reentry=0|used=0|tx=1|single_implicit=0|dht_local=1|near_local=0|removed=0|read=0,
prevVer=null, nextVer=GridCacheVersion [topVer=135368263, time=1523888276678,
order=1523888269508, nodeOrder=1]]], rmts=null]], flags=0]]]], prepared=0,
locked=false, nodeId=null, locMapped=false, expiryPlc=null,
transferExpiryPlc=false, flags=0, partUpdateCntr=1, serReadVer=null,
xidVer=GridCacheVersion [topVer=135368263, time=1523888276593,
order=1523888269498, nodeOrder=1]]}], super=GridDistributedBaseMessage
[ver=GridCacheVersion [topVer=135368263, time=1523888276573,
order=1523888269497, nodeOrder=2], committedVers=null, rolledbackVers=null,
cnt=0, super=GridCacheMessage [msgId=19, depInfo=GridDeploymentInfoBean
[clsLdrId=c0f91dec261-ac7dda5e-491b-43ce-aa22-d5442fb4db8c, depMode=SHARED,
userVer=0, locDepOwner=false, participants=null], err=null, skipPrepare=false,
cacheId=0, cacheId=0]]]]] java.lang.NullPointerException at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.map(GridDhtTxPrepareFuture.java:1513)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.map(GridDhtTxPrepareFuture.java:1462)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare0(GridDhtTxPrepareFuture.java:1194)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.mapIfLocked(GridDhtTxPrepareFuture.java:667)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1040)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:481)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:465)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareTx(IgniteTxHandler.java:237)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest(IgniteTxHandler.java:123)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:145)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:143)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:836)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:378)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:302)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:96)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:247)
at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1512)
at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1140)
at
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:119)
at
org.apache.ignite.internal.managers.communication.GridIoManager$8.run(GridIoManager.java:1080)
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) Sequence initial value on local node:
1000 Sequence [currentValue=1000, afterIncrement=1001] Sequence
[currentValue=1001, afterIncrement=1002] Sequence [currentValue=1002,
afterIncrement=1003] Sequence [currentValue=1003, afterIncrement=1004] Sequence
[currentValue=1004, afterIncrement=1005] Sequence [currentValue=1005,
afterIncrement=1006] Sequence [currentValue=1006, afterIncrement=1007] Sequence
[currentValue=1007, afterIncrement=1008] Sequence [currentValue=1008,
afterIncrement=1009] Sequence [currentValue=1009, afterIncrement=1010] Sequence
[currentValue=1010, afterIncrement=1011] Sequence [currentValue=1011,
afterIncrement=1012] Sequence [currentValue=1012, afterIncrement=1013] Sequence
[currentValue=1013, afterIncrement=1014] Sequence [currentValue=1014,
afterIncrement=1015] Sequence [currentValue=1015, afterIncrement=1016] Sequence
[currentValue=1016, afterIncrement=1017] Sequence [currentValue=1017,
afterIncrement=1018] Sequence [currentValue=1018, afterIncrement=1019] Sequence
[currentValue=1019, afterIncrement=1020] Sequence after incrementing
[expected=1020, actual=1020] [17:17:56] Topology snapshot [ver=3, servers=1,
clients=0, CPUs=32, heap=2.0GB]
{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)