You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mirza Aliev (Jira)" <ji...@apache.org> on 2023/05/08 14:30:00 UTC

[jira] [Updated] (IGNITE-18955) Add the ability to use filters when data nodes are calculated

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

Mirza Aliev updated IGNITE-18955:
---------------------------------
    Description: 
{*}Motivation{*}:

We need to be able to use filters when data nodes are recalculated 

*Definition of done:*
 * Filters are applied when data nodes are recalculated 

*Implementation details:*

When we write data nodes to metastorage, we extend existing Map with data nodes and instead of saving only nodes' names, we store new structure called {{NodeWithAttributes}}, where we store name and attributes of the node. Currently, when we read data nodes, we convert existing map with node counters to a Set of nodes, which counters are more than 0. Now we also will apply filter, so as a result data nodes will be filtered with the according filter.




  was:
{*}Motivation{*}:

We need to be able to use filters when data nodes are recalculated 

*Definition of done:*
 * Filters are applied when data nodes are recalculated 

*Implementation details:*

After the parsing phase, the expression can be converted to a condition for the filter from the Java Stream API. This filtering can be performed on a set of nodes’ attributes. This set could be retrieved from the CMG, we just need consistentIds of nodes.
After that we need to use this filter when we write data nodes to metastore, there are few places, where we do that
* {{DistributionZoneManager#saveDataNodesToMetaStorageOnScaleUp}}
* {{DistributionZoneManager#saveDataNodesToMetaStorageOnScaleDown}}
* {{DistributionZoneManager#saveDataNodesAndUpdateTriggerKeysInMetaStorage}}





> Add the ability to use filters when data nodes are calculated
> -------------------------------------------------------------
>
>                 Key: IGNITE-18955
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18955
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Mirza Aliev
>            Assignee: Mirza Aliev
>            Priority: Major
>              Labels: ignite-3
>
> {*}Motivation{*}:
> We need to be able to use filters when data nodes are recalculated 
> *Definition of done:*
>  * Filters are applied when data nodes are recalculated 
> *Implementation details:*
> When we write data nodes to metastorage, we extend existing Map with data nodes and instead of saving only nodes' names, we store new structure called {{NodeWithAttributes}}, where we store name and attributes of the node. Currently, when we read data nodes, we convert existing map with node counters to a Set of nodes, which counters are more than 0. Now we also will apply filter, so as a result data nodes will be filtered with the according filter.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)