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/
>