Hello!

Optimistic transactions are supposed to be retry-able. Why won't you retry
such transactions upon getting the exception?

Regards,
-- 
Ilya Kasnacheev


пт, 31 июл. 2020 г. в 10:56, marble.zh...@coinflex.com <
marble.zh...@coinflex.com>:

> Hi Guru,
>
> We met below two kinds of Optimistic exceptions when doing the
> transactions,
> we use OPTIMISTIC and SERIALIZABLE isolation, do you have any suggestions,
> or if we change to PESSIMISTIC, any risks on that, such as performance or
> other exceptions? thanks.
>
> {"log":"Caused by:
> org.apache.ignite.internal.transactions.IgniteTxOptimisticCheckedException:
> Failed to prepare transaction, read/write conflict [key=9999999992-USD,
> keyCls=java.lang.String, val=Balance(accountId=9999999992,
> instrumentId=USD,
> quantity=2307.81292028250000000000, reserved=0, lastUpdated=2020-07-31
> 03:10:36.889, lastUpdatedEvent=TRANSFER, tradeType=null),
> valCls=ignite.entity.Balance, cache=Balance, thread=IgniteThread
> [compositeRwLockIdx=7, stripe=4, plc=-1, holdsTopLock=false,
> forbiddenToRequestBinaryMetadata=false,
>
> name=sys-stripe-4-#5]]\n","stream":"stderr","time":"2020-07-31T03:10:36.953698541Z"}
>
>
> {"log":"Caused by:
> org.apache.ignite.internal.transactions.IgniteTxOptimisticCheckedException:
> Failed to prepare transaction (lock conflict): GridDhtTxLocal
> [nearNodeId=7e3589a0-c829-42a2-8fb4-115c57ba64f5,
> nearFutId=3077cc2a371-7364caca-357e-49f2-840e-a101e7c64fa8, nearMiniId=1,
> nearFinFutId=null, nearFinMiniId=0, nearXidVer=GridCacheVersion
> [topVer=207644034, order=1596164732765, nodeOrder=2], lb=null,
> super=GridDhtTxLocalAdapter [nearOnOriginatingNode=false,
> nearNodes=KeySetView [], dhtNodes=KeySetView [], explicitLock=false,
> super=IgniteTxLocalAdapter [completedBase=null, sndTransformedVals=false,
> depEnabled=false, txState=IgniteTxStateImpl [activeCacheIds=[1325467324],
> recovery=false, mvccEnabled=false, mvccCachingCacheIds=[], txMap=ArrayList
> [IgniteTxEntry [txKey=IgniteTxKey [key=KeyCacheObjectImpl [part=45,
> val=9999999992-USD, hasValBytes=true], cacheId=1325467324], val=[op=UPDATE,
> val=ignite.entity.Balance [idHash=1055847466, hash=-1577210704,
> accountId=9999999992, lastUpdated=2020-07-31 03:10:36.943,
> quantity=1204.25992028250000000000, reserved=null, instrumentId=USD,
> tradeType=null, lastUpdatedEvent=TRANSFER]], prevVal=[op=NOOP, val=null],
> oldVal=[op=NOOP, val=null], entryProcessorsCol=null, ttl=-1,
> conflictExpireTime=-1, conflictVer=null, explicitVer=null, dhtVer=null,
> filters=CacheEntryPredicate[] [], filtersPassed=false, filtersSet=false,
> entry=GridDhtCacheEntry [rdrs=ReaderId[] [], part=45,
> super=GridDistributedCacheEntry [super=GridCacheMapEntry
> [key=KeyCacheObjectImpl [part=45, val=9999999992-USD, hasValBytes=true],
> val=null, ver=GridCacheVersion [topVer=207644034, order=1596164732830,
> nodeOrder=1], hash=-148923086, extras=GridCacheObsoleteEntryExtras
> [obsoleteVer=GridCacheVersion [topVer=2147483647, order=0, nodeOrder=0]],
> flags=2]]], prepared=1, locked=false, nodeId=null, locMapped=false,
> expiryPlc=null, transferExpiryPlc=false, flags=0, partUpdateCntr=0,
> serReadVer=GridCacheVersion [topVer=207644034, order=1596164732670,
> nodeOrder=1], xidVer=null], IgniteTxEntry [txKey=IgniteTxKey
> [key=KeyCacheObjectImpl [part=504, val=1380978-USD, hasValBytes=true],
> cacheId=1325467324], val=[op=UPDATE, val=ignite.entity.Balance
> [idHash=577969755, hash=-2001853349, accountId=1380978,
> lastUpdated=2020-07-31 03:10:36.95, quantity=13614077.57624000000000000000,
> reserved=null, instrumentId=USD, tradeType=null,
> lastUpdatedEvent=TRANSFER]], prevVal=[op=NOOP, val=null], oldVal=[op=NOOP,
> val=null], entryProcessorsCol=null, ttl=-1, conflictExpireTime=-1,
> conflictVer=null, explicitVer=null, dhtVer=null,
> filters=CacheEntryPredicate[] [], filtersPassed=false, filtersSet=false,
> entry=GridDhtCacheEntry [rdrs=ReaderId[] [], part=504,
> super=GridDistributedCacheEntry [super=GridCacheMapEntry
> [key=KeyCacheObjectImpl [part=504, val=1380978-USD, hasValBytes=true],
> val=null, ver=GridCacheVersion [topVer=0, order=0, nodeOrder=0],
> hash=1004605465, extras=null, flags=0]]], prepared=0, locked=false,
> nodeId=null, locMapped=false, expiryPlc=null, transferExpiryPlc=false,
> flags=0, partUpdateCntr=0, serReadVer=GridCacheVersion [topVer=207644034,
> order=1596164732670, nodeOrder=1], xidVer=null]]], super=IgniteTxAdapter
> [xidVer=GridCacheVersion [topVer=207644034, order=1596164732835,
> nodeOrder=1], writeVer=null, implicit=false, loc=true, threadId=146,
> startTime=1596165036958, nodeId=990fbcf8-4105-4aee-b03f-bef9141f5533,
> startVer=GridCacheVersion [topVer=207644034, order=1596164732835,
> nodeOrder=1], endVer=null, isolation=SERIALIZABLE, concurrency=OPTIMISTIC,
> timeout=0, sysInvalidate=false, sys=false, plc=2, commitVer=null,
> finalizing=NONE, invalidParts=null, state=MARKED_ROLLBACK, timedOut=false,
> topVer=AffinityTopologyVersion [topVer=4, minorTopVer=1],
> mvccSnapshot=null,
> skipCompletedVers=false, parentTx=null, duration=0ms,
> onePhaseCommit=false],
> size=2]]]\n","stream":"stderr","time":"2020-07-31T03:10:37.002484848Z"}
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>

Reply via email to