You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Valentin Kulichenko (JIRA)" <ji...@apache.org> on 2015/06/02 00:19:17 UTC

[jira] [Updated] (IGNITE-941) Need to add read-only mode for transactional cache

     [ https://issues.apache.org/jira/browse/IGNITE-941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Valentin Kulichenko updated IGNITE-941:
---------------------------------------
    Description: 
Transactional cache updates persistence store from client, but reads are done from the primary node. So it's valid to use transactional cache on client for gets only even if there is no DB access on client (which is often the case). This can be especially useful to utilize near cache.
Currently you can achieve this by removing store from client and disabling consistency check, but it's not safe. Moreover, you can't disable the check only on client nodes, because in this case you won't be able to start a new server node if there is a client in topology.

What needs to be done:
* Consistency check should allow not having store on client. If it's there, it still should be consistent with server.
* If store is not configured, any update operation should throw an exception. This should be properly documented.
* If consistency check is disabled on one of the nodes, other nodes should exclude this node from the check.

  was:
Transactional cache updates persistence store from client, but reads are done from the primary node. So it's valid to use transactional cache on client for gets only even if there is no DB access on client (which is often the case). This can be especially useful to utilize near cache.
Currently you can achieve this by removing store from client and disabling consistency check, but it's not safe. Moreover, you can't disable the check only on client nodes, because in this case you won't be able to start a new server node if there is a client in topology.

I suggest to:
* Add {{readOnly}} flag on cache configuration (disabled by default).
* If flag is switched on, updates are not allowed.
* Consistency check should accept read-only clients w/o store configured.

I also think that if consistency check is disabled on one of the nodes, other nodes should not check it (now they do).


> Need to add read-only mode for transactional cache
> --------------------------------------------------
>
>                 Key: IGNITE-941
>                 URL: https://issues.apache.org/jira/browse/IGNITE-941
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: sprint-4
>            Reporter: Valentin Kulichenko
>            Priority: Critical
>
> Transactional cache updates persistence store from client, but reads are done from the primary node. So it's valid to use transactional cache on client for gets only even if there is no DB access on client (which is often the case). This can be especially useful to utilize near cache.
> Currently you can achieve this by removing store from client and disabling consistency check, but it's not safe. Moreover, you can't disable the check only on client nodes, because in this case you won't be able to start a new server node if there is a client in topology.
> What needs to be done:
> * Consistency check should allow not having store on client. If it's there, it still should be consistent with server.
> * If store is not configured, any update operation should throw an exception. This should be properly documented.
> * If consistency check is disabled on one of the nodes, other nodes should exclude this node from the check.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)