ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Denis Magda (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (IGNITE-1681) loadAll threshold is not configurable for CacheStoreBalancingWrapper
Date Tue, 10 Nov 2015 11:16:11 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-1681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14998416#comment-14998416
] 

Denis Magda edited comment on IGNITE-1681 at 11/10/15 11:15 AM:
----------------------------------------------------------------

*Andrey*, thanks for the tests, merged them into the release branch. It worth to have them
in any case.

However this Jira issue doesn't fully solve the situation mentioned in the original user list.
The load balancer completes load/loadAll futures as soon as they get data from a storage but
before the retrieved data is in inserted into the memory.

User says exactly the following:
_I have a CacheStore that loads missing data from the underlying data source (an Oracle DB).
 At present, multiple requests for the same key will cause multiple loads from that Oracle
DB, until the object is inserted * in to the memory cache by Ignite *. 
Is there currently any way to queue up subsequent requests for a CacheStore load() that is
"in flight", and then signal them all when the data is available in the memory cache?_ 

This will require more efforts from us and it's not clear whether such improvement really
makes sense to do.

I would merge the implementation for {{setStoreConcurrentLoadAllThreshold}} because it makes
sense to have it and the user can try it in action.
Probably it will be enough for him. If it won't we can open another ticket.

*Michael*, please add the tests for {{setStoreConcurrentLoadAllThreshold}}. You need to create
the tests like Andrey did above but use a threshold that is set via {{setStoreConcurrentLoadAllThreshold}}.
I've merged Andrey's tests to release branch ignite-1.5.



was (Author: dmagda):
Andrey, thanks for the tests, merged them into the release branch. It worth to have them in
any case.

However this Jira issue doesn't fully solve the situation mentioned in the original user list.
The load balancer completes load/loadAll futures as soon as they get data from a storage but
before the retrieved data is in inserted into the memory.

User says exactly the following:
??I have a CacheStore that loads missing data from the underlying data source (an Oracle DB).
 At present, multiple requests for the same key will cause multiple loads from that Oracle
DB, until the object is inserted * in to the memory cache by Ignite *. 
Is there currently any way to queue up subsequent requests for a CacheStore load() that is
"in flight", and then signal them all when the data is available in the memory cache??? 

This will require more efforts from us and it's not clear whether such improvement really
makes sense to do.

I would merge the implementation for {{setStoreConcurrentLoadAllThreshold}} because it makes
sense to have it and the user can try it in action.
Probably it will be enough for him. If it won't we can open another ticket.

* Michael *, please add the tests for {{setStoreConcurrentLoadAllThreshold}}. You need to
create the tests like Andrey did above but use a threshold that is set via {{setStoreConcurrentLoadAllThreshold}}.
I've merged Andrey's tests to release branch ignite-1.5.


> loadAll threshold is not configurable for CacheStoreBalancingWrapper
> --------------------------------------------------------------------
>
>                 Key: IGNITE-1681
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1681
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: ignite-1.4
>            Reporter: Alexey Goncharuk
>            Assignee: Denis Magda
>             Fix For: 1.5
>
>         Attachments: master_6844370_ignite-1681.patch
>
>
> CacheStoreBalancingWrapper is created in cache store manager using default constructor.
There is no way to override a default value for loadAllThreshold.
> We can add a cache configuration parameter named storeConcurrentLoadAllThreshold to control
this:
> {code}
> CacheConfiguration {
> ...
>     public int getStoreConcurrentLoadAllThreshold() {...}
>     public void setStoreConcurrentLoadAllThreshold(int storeConcurrentLoadAllThreshold)
{...}
> ...
> }
> {code}



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

Mime
View raw message