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

Pavel Pereslegin edited comment on IGNITE-23059 at 11/8/24 12:24 PM:
---------------------------------------------------------------------

Also need to revise and fix a bit README file according to current 
implementation.
At least
{{ActiveLocalTxMinimumBeginTimeProvider}} was renamed to  
{{ActiveLocalTxMinimumRequiredTimeProvider}}
We don't have component {{RaftGroupStateProvider}} we using  
{{MinimumRequiredTimeCollectorService}} instead.

Another suggested change - сorrectly handle repeated shutdown of 
CatalogCompactionRunner component.

Instead of 
{code:java}
    @Override
    public CompletableFuture<Void> stopAsync(ComponentContext componentContext) 
{
        busyLock.block();

        return CompletableFutures.nullCompletedFuture();
    }
{code}

Do something like this
{code:java}
    @Override
    public CompletableFuture<Void> stopAsync(ComponentContext componentContext) 
{
        if (!stopGuard.compareAndSet(false, true)) {
            return nullCompletedFuture();
        }

        busyLock.block();

        return CompletableFutures.nullCompletedFuture();
    }
{code}


was (Author: xtern):
Also need to revise and fix a bit README file according to current 
implementation.
At least
{{ActiveLocalTxMinimumBeginTimeProvider}} was renamed to  
{{ActiveLocalTxMinimumRequiredTimeProvider}}
We don't have component {{RaftGroupStateProvider}} we using  
{{MinimumRequiredTimeCollectorService}} instead.

Another suggested change - сorrectly handle repeated shutdown of 
CatalogCompactionRunner component.

Instead of 
{code:java}
    @Override
    public CompletableFuture<Void> stopAsync(ComponentContext componentContext) 
{
        busyLock.block();

        return CompletableFutures.nullCompletedFuture();
    }
{code}

Use
{code:java}
    @Override
    public CompletableFuture<Void> stopAsync(ComponentContext componentContext) 
{
        if (!stopGuard.compareAndSet(false, true)) {
            return nullCompletedFuture();
        }

        busyLock.block();

        return CompletableFutures.nullCompletedFuture();
    }
{code}

> Catalog compaction. Include rebalance check into compaction flow
> ----------------------------------------------------------------
>
>                 Key: IGNITE-23059
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23059
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Maksim Zhuravkov
>            Assignee: Pavel Pereslegin
>            Priority: Major
>              Labels: ignite-3
>
> Catalog compaction should not start if any active rebalance includes old 
> catalog version (a version that below the compaction version).
> It is also necessary to ensure that the catalog compaction does not occur too 
> often (in case the low watermark update is too frequent). For example, set 
> the minimum possible interval between iterations.



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

Reply via email to