You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2025/10/14 12:00:00 UTC

[jira] [Updated] (IGNITE-26703) MetricRegistry should allow registering already enabled metric sources

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

Vyacheslav Koptilin updated IGNITE-26703:
-----------------------------------------
    Labels: ignite-3  (was: )

> MetricRegistry should allow registering already enabled metric sources
> ----------------------------------------------------------------------
>
>                 Key: IGNITE-26703
>                 URL: https://issues.apache.org/jira/browse/IGNITE-26703
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 3.0, 3.1
>            Reporter: Vyacheslav Koptilin
>            Priority: Major
>              Labels: ignite-3
>
> Currently, `MetricRegistry` does not allow registering already enabled metric sources:
> {code:java}
> public void registerSource(MetricSource src) {
>     lock.lock();
>     try {
>         // Metric source shouldn't be enabled before because the second call of MetricSource#enable will return null.
>         assert !src.enabled() : "Metric source shouldn't be enabled before registration in registry.";
>         MetricSource old = sources.putIfAbsent(src.name(), src);
>         if (old != null) {
>             throw new IllegalStateException("Metrics source with given name already exists: " + src.name());
>         }
>     } finally {
>         lock.unlock();
>     }
> } {code}
> At first, we need to understand why this limitation was introduced, of course.
> IMHO, the limitation does not allow `replacing` a metric source in a light way.
> For instance, let's assume that we have a table and the corresponding metric source is enabled. When the table is renamed, we need to unregister the previous metric source, create a new one with the same metric set (to retain metric values and preserve the history), and register the latest source. Unfortunately, in that case, the new source is considered an enabled one and cannot be registered.



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