Hi penghui,

The new configuration should be compatible with the existing one.
>

Agree that the compatible should be concerned. And the compatibility
strategery has been posted in the first email.

For compatibility
>
>    -
>
>    if only evictionFrequency is configed, keep using current logic
>    -
>
>    if boty evictionFrequency and managedLedgerCacheEvictionIntervalMs are
>    configed, managedLedgerCacheEvictionIntervalMs is aprior choice
>    -
>
>    if only managedLedgerCacheEvictionIntervalMs appears, use the
>    managedLedgerCacheEvictionIntervalMs
>
> What do you think about this?


Haiting Jiang <jianghait...@apache.org> 于2022年3月17日周四 15:31写道:

> +1
>
> managedLedgerCacheEvictionIntervalMs is easier to understand.
>
> > What's more, the evict task is executed once, and then sleep
> waitTimeMillis
> > before the next round, we can use a ScheduledExecutorService to replace
> it.
>
> +1, Currently it works like scheduleAtFixDelay, but I think we may need
> scheduleAtFixRate.
>
>
> Thanks,
> Haiting
>
> On 2022/03/16 01:09:47 Aloys Zhang wrote:
> > Hi all,
> >
> > Pulsar uses an EntryCache to support entry caching for tailing-read. and
> > there is a periodic task to evict entry from the cache.
> >
> > The task period is calculated by
> >
> >   double evictionFrequency =
> > Math.max(Math.min(config.getCacheEvictionFrequency(), 1000.0), 0.001);
> >   long waitTimeMillis = (long) (1000 / evictionFrequency);
> >
> > First, we should set a evictionFrequency which means how many times evict
> > task will be executed per second.
> >
> > Then, get the waitTimeMillis (task interval in milliseconds) by 1000 /
> > evictionFrequency.
> >
> > It's a little complicated and confusing, what we need is just the evict
> > task interval, I didn't see the benefits of evictionFrequency .
> >
> > So I think it's better to set the evict task interval (maybe called
> > managedLedgerCacheEvictionIntervalMs) directly and deprecate the
> > evictionFrequency.
> >
> > For compatibility
> >
> >    -
> >
> >    if only evictionFrequency is configed, keep using current logic
> >    -
> >
> >    if boty evictionFrequency and managedLedgerCacheEvictionIntervalMs are
> >    configed, managedLedgerCacheEvictionIntervalMs is aprior choice
> >    -
> >
> >    if only managedLedgerCacheEvictionIntervalMs appears, use the
> >    managedLedgerCacheEvictionIntervalMs
> >
> > What's more, the evict task is executed once, and then sleep
> waitTimeMillis
> > before the next round, we can use a ScheduledExecutorService to replace
> it.
> >
> >
> > Any suggestions are appreciated.
> >
> >
> > Thanks,
> >
> > Aloys
> >
>

Reply via email to