[jira] [Updated] (IGNITE-12618) Affinity cache for version of last server event can be wiped from history

2020-04-17 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-12618:
-
Fix Version/s: 2.8.1

> Affinity cache for version of last server event can be wiped from history
> -
>
> Key: IGNITE-12618
> URL: https://issues.apache.org/jira/browse/IGNITE-12618
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8
>Reporter: Vyacheslav Koptilin
>Assignee: Vyacheslav Koptilin
>Priority: Major
> Fix For: 2.9, 2.8.1
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> After IGNITE-11465 implemented, there's still a corner case when we can get 
> "Getting affinity for topology version earlier than affinity is calculated" 
> error.
>  If the whole history (not more than 
> GridAffinityAssignmentCache#MAX_HIST_LINKS_SIZE entries) consists of shallow 
> copies for client events, we may be not able to fetch affinity cache for last 
> affinity change version.
>  We need to make GridAffinityAssignmentCache#cachedAffinity work if affinity 
> version no less than [last affinity change version] is passed as an argument.
> *UPDATE*
> GridAffinityProcessor#affMap and GridAffinityAssignmentCache#affCache store 
> objects for every topology version (within history range). Mappings inside 
> are only shallow copies of each other, but corner-case, when cluster 
> experiences unlimited client / local cache topology events, will still cause 
> OOM - at least two reference objects are created for each topology version.
> We can't store a fixed number of entries either. The best solution would be 
> not storing instances for client events at all. This may require severe 
> refactoring of affinity assignment related logic.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12618) Affinity cache for version of last server event can be wiped from history

2020-02-05 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-12618:
-
Description: 
After IGNITE-11465 implemented, there's still a corner case when we can get 
"Getting affinity for topology version earlier than affinity is calculated" 
error.
 If the whole history (not more than 
GridAffinityAssignmentCache#MAX_HIST_LINKS_SIZE entries) consists of shallow 
copies for client events, we may be not able to fetch affinity cache for last 
affinity change version.
 We need to make GridAffinityAssignmentCache#cachedAffinity work if affinity 
version no less than [last affinity change version] is passed as an argument.

*UPDATE*

GridAffinityProcessor#affMap and GridAffinityAssignmentCache#affCache store 
objects for every topology version (within history range). Mappings inside are 
only shallow copies of each other, but corner-case, when cluster experiences 
unlimited client / local cache topology events, will still cause OOM - at least 
two reference objects are created for each topology version.
We can't store a fixed number of entries either. The best solution would be not 
storing instances for client events at all. This may require severe refactoring 
of affinity assignment related logic.

  was:
After  IGNITE-11465 implemented, there's still a corner case when we can get 
"Getting affinity for topology version earlier than affinity is calculated" 
error.
If the whole history (not more than 
GridAffinityAssignmentCache#MAX_HIST_LINKS_SIZE entries) consists of shallow 
copies for client events, we may be not able to fetch affinity cache for last 
affinity change version.
We need to make GridAffinityAssignmentCache#cachedAffinity work if affinity 
version no less than [last affinity change version] is passed as an argument.


> Affinity cache for version of last server event can be wiped from history
> -
>
> Key: IGNITE-12618
> URL: https://issues.apache.org/jira/browse/IGNITE-12618
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8
>Reporter: Vyacheslav Koptilin
>Assignee: Vyacheslav Koptilin
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> After IGNITE-11465 implemented, there's still a corner case when we can get 
> "Getting affinity for topology version earlier than affinity is calculated" 
> error.
>  If the whole history (not more than 
> GridAffinityAssignmentCache#MAX_HIST_LINKS_SIZE entries) consists of shallow 
> copies for client events, we may be not able to fetch affinity cache for last 
> affinity change version.
>  We need to make GridAffinityAssignmentCache#cachedAffinity work if affinity 
> version no less than [last affinity change version] is passed as an argument.
> *UPDATE*
> GridAffinityProcessor#affMap and GridAffinityAssignmentCache#affCache store 
> objects for every topology version (within history range). Mappings inside 
> are only shallow copies of each other, but corner-case, when cluster 
> experiences unlimited client / local cache topology events, will still cause 
> OOM - at least two reference objects are created for each topology version.
> We can't store a fixed number of entries either. The best solution would be 
> not storing instances for client events at all. This may require severe 
> refactoring of affinity assignment related logic.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12618) Affinity cache for version of last server event can be wiped from history

2020-02-03 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-12618:
-
Description: 
After  IGNITE-11465 implemented, there's still a corner case when we can get 
"Getting affinity for topology version earlier than affinity is calculated" 
error.
If the whole history (not more than 
GridAffinityAssignmentCache#MAX_HIST_LINKS_SIZE entries) consists of shallow 
copies for client events, we may be not able to fetch affinity cache for last 
affinity change version.
We need to make GridAffinityAssignmentCache#cachedAffinity work if affinity 
version no less than [last affinity change version] is passed as an argument.

  was:
After  IGNITE-11465 RESOLVED implemented, there's still a corner case when we 
can get "Getting affinity for topology version earlier than affinity is 
calculated" error.
If the whole history (not more than 
GridAffinityAssignmentCache#MAX_HIST_LINKS_SIZE entries) consists of shallow 
copies for client events, we may be not able to fetch affinity cache for last 
affinity change version.
We need to make GridAffinityAssignmentCache#cachedAffinity work if affinity 
version no less than [last affinity change version] is passed as an argument.


> Affinity cache for version of last server event can be wiped from history
> -
>
> Key: IGNITE-12618
> URL: https://issues.apache.org/jira/browse/IGNITE-12618
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8
>Reporter: Vyacheslav Koptilin
>Assignee: Vyacheslav Koptilin
>Priority: Major
> Fix For: 2.9
>
>
> After  IGNITE-11465 implemented, there's still a corner case when we can get 
> "Getting affinity for topology version earlier than affinity is calculated" 
> error.
> If the whole history (not more than 
> GridAffinityAssignmentCache#MAX_HIST_LINKS_SIZE entries) consists of shallow 
> copies for client events, we may be not able to fetch affinity cache for last 
> affinity change version.
> We need to make GridAffinityAssignmentCache#cachedAffinity work if affinity 
> version no less than [last affinity change version] is passed as an argument.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)