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

Denis Chudov updated IGNITE-26378:
----------------------------------
    Description: 
Data nodes history introduced in IGNITE-23466 is not compacted, the compaction 
was postponed during the implementation. It needs to be done to avoid the 
infinite growth.

Criteria for the history entries to become obsolete:
 * they are not latest (latest entry is always preserved);
 * and their timestamp less than now - dataAvailabilityTime - clockSkew 
(dataAvailabilityTime is LowWatermarkConfiguration#dataAvailabilityTimeMillis)
 * and their timestamp is less than timestamp of the oldest non-compacted 
catalog version.

So we should calculate minimal of two values (now - dataAvailabilityTime - 
clockSkew and timestamp of the oldest non-compacted catalog version) and remove 
data nodes history entries that are not latest and are older than calculated 
timestamp.

They can be removed on data nodes history appending.

We also should make sure that new data nodes history entry is written when zone 
descriptor in catalog is updated.

  was:Data nodes history introduced in IGNITE-23466 is not compacted, the 
compaction was postponed during the implementation. It needs to be done to 
avoid the infinite growth.


> Data nodes history compaction
> -----------------------------
>
>                 Key: IGNITE-26378
>                 URL: https://issues.apache.org/jira/browse/IGNITE-26378
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> Data nodes history introduced in IGNITE-23466 is not compacted, the 
> compaction was postponed during the implementation. It needs to be done to 
> avoid the infinite growth.
> Criteria for the history entries to become obsolete:
>  * they are not latest (latest entry is always preserved);
>  * and their timestamp less than now - dataAvailabilityTime - clockSkew 
> (dataAvailabilityTime is LowWatermarkConfiguration#dataAvailabilityTimeMillis)
>  * and their timestamp is less than timestamp of the oldest non-compacted 
> catalog version.
> So we should calculate minimal of two values (now - dataAvailabilityTime - 
> clockSkew and timestamp of the oldest non-compacted catalog version) and 
> remove data nodes history entries that are not latest and are older than 
> calculated timestamp.
> They can be removed on data nodes history appending.
> We also should make sure that new data nodes history entry is written when 
> zone descriptor in catalog is updated.



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

Reply via email to