You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Artem Shutak (JIRA)" <ji...@apache.org> on 2015/10/08 12:16:26 UTC
[jira] [Created] (IGNITE-1635) Cache.invoke() can work wrong in a
failover scenario
Artem Shutak created IGNITE-1635:
------------------------------------
Summary: Cache.invoke() can work wrong in a failover scenario
Key: IGNITE-1635
URL: https://issues.apache.org/jira/browse/IGNITE-1635
Project: Ignite
Issue Type: Bug
Reporter: Artem Shutak
Assignee: Artem Shutak
Fix For: ignite-1.5
In process of working on IGNITE-1397 (Load/consistency test framework) I've faced with a wrong cache state after Cache.invoke().
Configuration:
- 1 client node
- 3 server nodes (1 backup)
- duration - 3 hours
- one random server node is killed every 10 min and after 2 minutes started again
h5. Transactional invoke retry consistency
Each client generates a random integer K in a limited range (say, [0, 100000]) and creates a batch of 5 (may be configured) keys in the form 'key-' + K + '-' + n + '-1', 'key-' + K + '-' + n + '-2', ... where n is a unique sequence number assigned to the client. Each client maintains a local map that it updates together with cache. Client invokes an increment closure for all generated keys (no explicit transaction is used) and atomically increments value for corresponding keys in the local map. No exceptions must be thrown to the user code. To validate cache contents, all writes from the client should be stopped, values in the local map must be equal to the values in the cache.
After 25 min in logs of client: {{Got different values [key='key-89611-0-3', cacheVal=213, localMapVal=214]}}.
All other "key-89611-0-*" keys in cache have value 214. For the key 'key-89611-0-3' incremental cache invoke didn't happen.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)