So I've been trying to do the case using write through only, but when I
stopped one of the server, exception appeared:

> Exception in thread "main" javax.cache.CacheException: class
> org.apache.ignite.cluster.ClusterTopologyException: Failed to acquire lock
> for keys (primary node left grid, retry transaction if possible)
> [keys=[UserKeyCacheObjectImpl [part=1, val=1, hasValBytes=true]],
> node=d46c85bc-bd55-4731-b390-05e86fa68af6]
>       at
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1421)
>       at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxy.cacheException(IgniteCacheProxy.java:2641)
>       at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxy.get(IgniteCacheProxy.java:1205)
>       at
> myexamples.store.TransactionClient1.deposit(TransactionClient1.java:107)
>       at myexamples.store.TransactionClient1.main(TransactionClient1.java:46)
> Caused by: class org.apache.ignite.cluster.ClusterTopologyException:
> Failed to acquire lock for keys (primary node left grid, retry transaction
> if possible) [keys=[UserKeyCacheObjectImpl [part=1, val=1,
> hasValBytes=true]], node=d46c85bc-bd55-4731-b390-05e86fa68af6]
>       at
> org.apache.ignite.internal.util.IgniteUtils$7.apply(IgniteUtils.java:812)
>       at
> org.apache.ignite.internal.util.IgniteUtils$7.apply(IgniteUtils.java:810)
>       ... 5 more
> Caused by: class
> org.apache.ignite.internal.cluster.ClusterTopologyCheckedException: Failed
> to acquire lock for keys (primary node left grid, retry transaction if
> possible) [keys=[UserKeyCacheObjectImpl [part=1, val=1,
> hasValBytes=true]], node=d46c85bc-bd55-4731-b390-05e86fa68af6]
>       at
> org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture.newTopologyException(GridDhtColocatedLockFuture.java:1319)
>       at
> org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture.access$1900(GridDhtColocatedLockFuture.java:85)
>       at
> org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture$MiniFuture.onResult(GridDhtColocatedLockFuture.java:1469)
>       at
> org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture.onNodeLeft(GridDhtColocatedLockFuture.java:414)
>       at
> org.apache.ignite.internal.processors.cache.GridCacheMvccManager$4.onEvent(GridCacheMvccManager.java:263)
>       at
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager$LocalListenerWrapper.onEvent(GridEventStorageManager.java:1311)
>       at
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:892)
>       at
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record0(GridEventStorageManager.java:340)
>       at
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record(GridEventStorageManager.java:307)
>       at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.recordEvent(GridDiscoveryManager.java:2277)
>       at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body0(GridDiscoveryManager.java:2474)
>       at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body(GridDiscoveryManager.java:2306)
>       at
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>       at java.lang.Thread.run(Unknown Source)
> Caused by: class
> org.apache.ignite.internal.cluster.ClusterTopologyCheckedException: Failed
> to acquire lock for keys (primary node left grid, retry transaction if
> possible) [keys=[UserKeyCacheObjectImpl [part=1, val=1,
> hasValBytes=true]], node=d46c85bc-bd55-4731-b390-05e86fa68af6]
>       at
> org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture.newTopologyException(GridDhtColocatedLockFuture.java:1319)
>       ... 11 more

I saw this post [1], but I still don't get the /this means it has been
already acquired/ part. What should I do?

I used Transactions with /pessimistic /concurency with /serializable
/isolation.

When I try to change the isolation to /repeatable_read/, another exception
is shown:

> Exception in thread "main" class org.apache.ignite.IgniteException: Failed
> to commit transaction:
> GridNearTxLocal[id=ec0e9825c51-00000000-0668-82bc-0000-00000000001d,
> concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, state=ROLLED_BACK,
> invalidate=false, rollbackOnly=true,
> nodeId=bc2cac44-08b4-43e3-9316-c54bb8ca4679, duration=3859]
>       at
> org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:949)
>       at
> org.apache.ignite.internal.processors.cache.transactions.TransactionProxyImpl.rollback(TransactionProxyImpl.java:314)
>       at
> myexamples.store.TransactionClient1.deposit(TransactionClient1.java:122)
>       at myexamples.store.TransactionClient1.main(TransactionClient1.java:41)
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to
> commit transaction:
> GridNearTxLocal[id=ec0e9825c51-00000000-0668-82bc-0000-00000000001d,
> concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, state=ROLLED_BACK,
> invalidate=false, rollbackOnly=true,
> nodeId=bc2cac44-08b4-43e3-9316-c54bb8ca4679, duration=3859]
>       at
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture.finish(GridNearTxFinishFuture.java:423)
>       at
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.rollbackNearTxLocalAsync(GridNearTxLocal.java:3246)
>       at
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext.rollbackTxAsync(GridCacheSharedContext.java:855)
>       at
> org.apache.ignite.internal.processors.cache.transactions.TransactionProxyImpl.rollback(TransactionProxyImpl.java:306)
>       ... 2 more

Any suggestion? Thanks.

-- Ricky

[1]
http://apache-ignite-users.70518.x6.nabble.com/Enter-Lock-is-not-working-td8040.html




-----
-- Ricky
--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Client-Server-Persistent-Store-Fault-Tolerance-tp13054p13186.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to