You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by wengyao04 <we...@gmail.com> on 2018/07/19 15:10:50 UTC

How to do partial update from multiple client

Hi
we have questions about partial column updates from different clients.

1) We have a c++ client updates some meta-data columns, it uses
SqlFieldsQuery to do partial update. The update is not frequently. it
happens in several hours.
2) We have a java client that frequently updates market data columns using
ivokeAsync to change value directly on server side, there can be millions
update per second

Both of the client are single thread and we want the high throuput of java
client to update market data.
These two client won't update the same column for a given key.

We try ATOMIC MODE one our dev cluster, but client using SqlFieldsQuery 
throws exceptions like
Caused by: javax.cache.CacheException: Failed to update some keys because
they had been modified concurrently [keys=["ABCDEFG"]]

We try to avoid using Lock to lock the cache key, and we don't want to
separate them to two cache because it will slow down our scan query. The
cache is also used for searching.

Could we have some advices ? Thanks 



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: How to do partial update from multiple client

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

You can do the update in the loop, until it is successful. This is the case
with optimistic locking.

Regards,

-- 
Ilya Kasnacheev

2018-07-19 18:10 GMT+03:00 wengyao04 <we...@gmail.com>:

> Hi
> we have questions about partial column updates from different clients.
>
> 1) We have a c++ client updates some meta-data columns, it uses
> SqlFieldsQuery to do partial update. The update is not frequently. it
> happens in several hours.
> 2) We have a java client that frequently updates market data columns using
> ivokeAsync to change value directly on server side, there can be millions
> update per second
>
> Both of the client are single thread and we want the high throuput of java
> client to update market data.
> These two client won't update the same column for a given key.
>
> We try ATOMIC MODE one our dev cluster, but client using SqlFieldsQuery
> throws exceptions like
> Caused by: javax.cache.CacheException: Failed to update some keys because
> they had been modified concurrently [keys=["ABCDEFG"]]
>
> We try to avoid using Lock to lock the cache key, and we don't want to
> separate them to two cache because it will slow down our scan query. The
> cache is also used for searching.
>
> Could we have some advices ? Thanks
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>