[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-21 Thread Mikhail Petrov (Jira)


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

Mikhail Petrov updated IGNITE-20201:

Ignite Flags:   (was: Release Notes Required)

> Node failure when incorrect names are used for hitrate and histogram metrics 
> configuration
> --
>
> Key: IGNITE-20201
> URL: https://issues.apache.org/jira/browse/IGNITE-20201
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.15
>Reporter: Ilya Shishkov
>Assignee: Mikhail Petrov
>Priority: Critical
>  Labels: ise
> Fix For: 2.16
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> There are no metric name validation when we perform hitrate and historgam 
> metrics configuration by means of control script. It can lead to 
> impossibility to restart persistent cluster.
> *How to reproduce:*
>  # Start persistent cluster.
>  # Enter commands from instructions [1].
> {noformat}
> control.sh —metric —configure-histogram histogram-metric-name 1,2,3
> control.sh —metric —configure-hitrate hitrate-metric-name 1000
> {noformat}
>  # Deactivate and restart cluster.
>  # Start and activate cluster and nodes will fail with following error:
> {noformat}
> [19:47:26,981][SEVERE][main][IgniteKernal] Got exception while starting (will 
> rollback startup routine).
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>   at java.lang.String.substring(String.java:1967)
>   at 
> org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.onHistogramConfigChanged(GridMetricManager.java:480)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.access$300(GridMetricManager.java:73)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$1(GridMetricManager.java:272)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:272)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
>   at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
>   at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
>   at 
> org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:983)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:889)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:808)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647)
>   at org.apache.ignite.Ignition.start(Ignition.java:325)
>   at 
> org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)
> {noformat}
> Failure occurs when {{GridMetricManager}} tries to parse entries with 
> incorrect metric names from metastorage:
> {noformat}
> metrics.histogram.histogram-metric-name [1, 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-21 Thread Mikhail Petrov (Jira)


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

Mikhail Petrov updated IGNITE-20201:

Fix Version/s: 2.16

> Node failure when incorrect names are used for hitrate and histogram metrics 
> configuration
> --
>
> Key: IGNITE-20201
> URL: https://issues.apache.org/jira/browse/IGNITE-20201
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.15
>Reporter: Ilya Shishkov
>Assignee: Mikhail Petrov
>Priority: Critical
>  Labels: ise
> Fix For: 2.16
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> There are no metric name validation when we perform hitrate and historgam 
> metrics configuration by means of control script. It can lead to 
> impossibility to restart persistent cluster.
> *How to reproduce:*
>  # Start persistent cluster.
>  # Enter commands from instructions [1].
> {noformat}
> control.sh —metric —configure-histogram histogram-metric-name 1,2,3
> control.sh —metric —configure-hitrate hitrate-metric-name 1000
> {noformat}
>  # Deactivate and restart cluster.
>  # Start and activate cluster and nodes will fail with following error:
> {noformat}
> [19:47:26,981][SEVERE][main][IgniteKernal] Got exception while starting (will 
> rollback startup routine).
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>   at java.lang.String.substring(String.java:1967)
>   at 
> org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.onHistogramConfigChanged(GridMetricManager.java:480)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.access$300(GridMetricManager.java:73)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$1(GridMetricManager.java:272)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:272)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
>   at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
>   at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
>   at 
> org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:983)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:889)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:808)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647)
>   at org.apache.ignite.Ignition.start(Ignition.java:325)
>   at 
> org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)
> {noformat}
> Failure occurs when {{GridMetricManager}} tries to parse entries with 
> incorrect metric names from metastorage:
> {noformat}
> metrics.histogram.histogram-metric-name [1, 2, 3] 
>  

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-14 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Labels: ise  (was: )

> Node failure when incorrect names are used for hitrate and histogram metrics 
> configuration
> --
>
> Key: IGNITE-20201
> URL: https://issues.apache.org/jira/browse/IGNITE-20201
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.15
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> There are no metric name validation when we perform hitrate and historgam 
> metrics configuration by means of control script. It can lead to 
> impossibility to restart persistent cluster.
> *How to reproduce:*
>  # Start persistent cluster
>  # Just repeat commands from instructions [1].
> {noformat}
> control.sh —metric —configure-histogram histogram-metric-name 1,2,3
> control.sh —metric —configure-hitrate hitrate-metric-name 1000
> {noformat}
>  # Deactivate and restart cluster.
>  # Start and activate cluster and nodes will fail with following error:
> {noformat}
> [19:47:26,981][SEVERE][main][IgniteKernal] Got exception while starting (will 
> rollback startup routine).
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>   at java.lang.String.substring(String.java:1967)
>   at 
> org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.onHistogramConfigChanged(GridMetricManager.java:480)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.access$300(GridMetricManager.java:73)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$1(GridMetricManager.java:272)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:272)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
>   at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
>   at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
>   at 
> org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:983)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:889)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:808)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647)
>   at org.apache.ignite.Ignition.start(Ignition.java:325)
>   at 
> org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)
> {noformat}
> Failure occurs when {{GridMetricManager}} tries to parse entries with 
> incorrect metric names from metastorage:
> {noformat}
> metrics.histogram.histogram-metric-name [1, 2, 3] 
>   
> 
> 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-14 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster.
 # Enter commands from instructions [1].
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}
[19:47:26,981][SEVERE][main][IgniteKernal] Got exception while starting (will 
rollback startup routine).
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHistogramConfigChanged(GridMetricManager.java:480)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$300(GridMetricManager.java:73)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$1(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
at 
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:983)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:889)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:808)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647)
at org.apache.ignite.Ignition.start(Ignition.java:325)
at 
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)

{noformat}

Failure occurs when {{GridMetricManager}} tries to parse entries with incorrect 
metric names from metastorage:
{noformat}
metrics.histogram.histogram-metric-name [1, 2, 3]   


metrics.hitrate.hitrate-metric-name 1000
{noformat}

*Solution:*
# Add extra validation of metric name into {{\-\-metric \-\-configure-*}} 
command.
# Add exception handling into {{GridMetricManager.onHistogramConfigChanged}} 
and {{GridMetricManager.onHitRateConfigChanged}}.

*Workaround:*
Clean metastorage.

Links:
# 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-14 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster.
 # Enter commands from instructions [1].
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}
[19:47:26,981][SEVERE][main][IgniteKernal] Got exception while starting (will 
rollback startup routine).
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHistogramConfigChanged(GridMetricManager.java:480)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$300(GridMetricManager.java:73)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$1(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
at 
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:983)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:889)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:808)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647)
at org.apache.ignite.Ignition.start(Ignition.java:325)
at 
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)

{noformat}

Failure occurs when {{GridMetricManager}} tries to parse entries with incorrect 
metric names from metastorage:
{noformat}
metrics.histogram.histogram-metric-name [1, 2, 3]   


metrics.hitrate.hitrate-metric-name 1000
{noformat}

*Solution:*
# Add extra validation of metric name into {{\-\-metric \-\-configure-*}} 
command.
# Add exception handling into {{GridMetricManager.onHistogramConfigChanged}} 
and {{GridMetricManager.onHitRateConfigChanged}}.

*Workaround:*
Clean metastorage.

Links:
# 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-14 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions [1].
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}
[19:47:26,981][SEVERE][main][IgniteKernal] Got exception while starting (will 
rollback startup routine).
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHistogramConfigChanged(GridMetricManager.java:480)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$300(GridMetricManager.java:73)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$1(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
at 
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:983)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:889)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:808)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647)
at org.apache.ignite.Ignition.start(Ignition.java:325)
at 
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)

{noformat}

Failure occurs when {{GridMetricManager}} tries to parse entries with incorrect 
metric names from metastorage:
{noformat}
metrics.histogram.histogram-metric-name [1, 2, 3]   


metrics.hitrate.hitrate-metric-name 1000
{noformat}

*Solution:*
# Add extra validation of metric name into {{\-\-metric \-\-configure-*}} 
command.
# Add exception handling into {{GridMetricManager.onHistogramConfigChanged}} 
and {{GridMetricManager.onHitRateConfigChanged}}.

*Workaround:*
Clean metastorage.

Links:
# 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-14 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions [1].
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}
[19:47:26,981][SEVERE][main][IgniteKernal] Got exception while starting (will 
rollback startup routine).
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHistogramConfigChanged(GridMetricManager.java:480)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$300(GridMetricManager.java:73)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$1(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
at 
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:983)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:889)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:808)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647)
at org.apache.ignite.Ignition.start(Ignition.java:325)
at 
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)

{noformat}

Failure occurs when {{GridMetricManager}} tries to parse entries with incorrect 
metric names from metastorage:
{noformat}
metrics.histogram.histogram-metric-name [1, 2, 3]   


metrics.hitrate.hitrate-metric-name 1000
{noformat}

Solution:
# Add extra validation of metric name into {{\-\-metric \-\-configure-*}} 
command.
# Add exception handling into {{GridMetricManager.onHistogramConfigChanged}} 
and {{GridMetricManager.onHitRateConfigChanged}}.

*Workaround:*
Clean metastorage.

Links:
# 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-14 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions [1].
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}
[19:47:26,981][SEVERE][main][IgniteKernal] Got exception while starting (will 
rollback startup routine).
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHistogramConfigChanged(GridMetricManager.java:480)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$300(GridMetricManager.java:73)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$1(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
at 
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:983)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:889)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:808)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647)
at org.apache.ignite.Ignition.start(Ignition.java:325)
at 
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)

{noformat}

Failure occurs when {{GridMetricManager}} tries to parse entries with incorrect 
metric names from metastorage:
{noformat}
metrics.histogram.histogram-metric-name [1, 2, 3]   


metrics.hitrate.hitrate-metric-name 1000
{noformat}

Solution:
# Add extra validation of metric name into {{\-\-metric \-\-configure-*}} 
command.
# Add exception handling into {{GridMetricManager.onHistogramConfigChanged}} 
and {{GridMetricManager.onHitrateConfigChanged}}.

*Workaround:*
Clean metastorage.

Links:
# 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-14 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions [1].
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}
[19:47:26,981][SEVERE][main][IgniteKernal] Got exception while starting (will 
rollback startup routine).
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHistogramConfigChanged(GridMetricManager.java:480)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$300(GridMetricManager.java:73)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$1(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
at 
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:983)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:889)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:808)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647)
at org.apache.ignite.Ignition.start(Ignition.java:325)
at 
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)

{noformat}

Failure occurs when {{GridMetricManager}} tries to parse entries with incorrect 
metric names from metastorage:
{noformat}
metrics.histogram.histogram-metric-name [1, 2, 3]   


metrics.hitrate.hitrate-metric-name 1000
{noformat}

Solution:
# Add extra validation of metric name into {{--metic --configure-*}} command.
# Add exception handling into {{GridMetricManager.onHistogramConfigChanged}} 
and {{GridMetricManager.onHitrateConfigChanged}}.

*Workaround:*
Clean metastorage.

Links:
# 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions: 
[https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command]
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}
[19:47:26,981][SEVERE][main][IgniteKernal] Got exception while starting (will 
rollback startup routine).
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHistogramConfigChanged(GridMetricManager.java:480)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$300(GridMetricManager.java:73)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$1(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:272)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
at 
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:983)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:889)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:808)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647)
at org.apache.ignite.Ignition.start(Ignition.java:325)
at 
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)

{noformat}

Failure occurs when {{GridMetricManager}} tries to parse entries with incorrect 
metric names from metastorage:
{noformat}
metrics.histogram.histogram-metric-name [1, 2, 3]   


metrics.hitrate.hitrate-metric-name 1000
{noformat}
*Workaround:*
Clean metastorage.

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster without clearing of metastorage.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions: 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster without clearing of metastorage.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions: 
[https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command]
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
  at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
  at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
  at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
  at 
org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
  at 
org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
{noformat}

Failure occurs when {{GridMetricManager}} tries to parse entries with incorrect 
metric names from metastorage:
{noformat}
metrics.histogram.histogram-metric-name [1, 2, 3]   


metrics.hitrate.hitrate-metric-name 1000
{noformat}
*Workaround:*
Clean metastorage.

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions: 
[https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command]
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions: 
[https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command]
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
  at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
  at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
  at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
  at 
org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
  at 
org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
{noformat}

Failure occurs when {{GridMetricManager}} tries to parse entries with incorrect 
metric names from metastorage:
{noformat}
metrics.histogram.histogram-metric-name [1, 2, 3]   


metrics.hitrate.hitrate-metric-name 1000
{noformat}
*Workaround:*
Clean metastorage.

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions: 
[https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command]
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster.

*How to reproduce:*
 # Start persistent cluster
 # Just repeat commands from instructions: 
[https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command]
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}

 # Deactivate and restart cluster.
 # Start and activate cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
  at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
  at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
  at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
  at 
org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
  at 
org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
{noformat}

Failure occurs when {{GridMetricManager}} tries to parse incorrect entries from 
metastorage:
{noformat}
metrics.histogram.histogram-metric-name [1, 2, 3]   


metrics.hitrate.hitrate-metric-name 1000
{noformat}
*Workaround:*
Clean metastorage.

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster. 

*How to reproduce:*
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster.
# Start and activate cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster. 

*How to reproduce:*
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster.
# Start and activate cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
  at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
  at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
  at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
  at 
org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
  at 
org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
{noformat}

*Workaround:*
Clean metastorage.

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster. 

How to reproduce:
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster.
# Start and activate cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script. It can lead to impossibility 
to restart persistent cluster. 

How to reproduce:
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster.
# Start and activate cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
  at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
  at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
  at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
  at 
org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
  at 
org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
{noformat}

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script, which can lead to 
impossibility to restart persistent cluster. 

How to reproduce:
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster.
# Start and activate cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Ignite Flags: Release Notes Required  (was: Docs Required,Release Notes 
Required)

> Node failure when incorrect names are used for hitrate and histogram metrics 
> configuration
> --
>
> Key: IGNITE-20201
> URL: https://issues.apache.org/jira/browse/IGNITE-20201
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.15
>Reporter: Ilya Shishkov
>Priority: Critical
>
> There are no metric name validation when we perform hitrate and historgam 
> metrics configuration by means of control script, which can lead to 
> impossibility to restart persistent cluster. 
> How to reproduce:
> # Start persistent cluster
> # Just repeat commands from instructions: 
> https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
> {noformat}
> control.sh —metric —configure-histogram histogram-metric-name 1,2,3
> control.sh —metric —configure-hitrate hitrate-metric-name 1000
> {noformat}
> # Deactivate and restart cluster.
> # Start and activate cluster and nodes will fail with following error:
> {noformat}
> [12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
> processors, node will be stopped and close connections
> java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
>   at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
>   at java.base/java.lang.String.substring(String.java:2709)
>   at 
> org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
>   at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
>   at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
>   at 
> org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
>   at 
> org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
> {noformat}



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


[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script, which can lead to 
impossibility to restart persistent cluster. 

How to reproduce:
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster.
# Start and activate cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
  at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
  at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
  at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
  at 
org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
  at 
org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
{noformat}

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script, which can lead to 
impossibility to restart persistent cluster. 

How to reproduce:
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster.
# Start cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Priority: Critical  (was: Major)

> Node failure when incorrect names are used for hitrate and histogram metrics 
> configuration
> --
>
> Key: IGNITE-20201
> URL: https://issues.apache.org/jira/browse/IGNITE-20201
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.15
>Reporter: Ilya Shishkov
>Priority: Critical
>
> There are no metric name validation when we perform hitrate and historgam 
> metrics configuration by means of control script, which can lead to 
> impossibility to restart persistent cluster. 
> How to reproduce:
> # Start persistent cluster
> # Just repeat commands from instructions: 
> https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
> {noformat}
> control.sh —metric —configure-histogram histogram-metric-name 1,2,3
> control.sh —metric —configure-hitrate hitrate-metric-name 1000
> {noformat}
> # Deactivate and restart cluster.
> # Start cluster and nodes will fail with following error:
> {noformat}
> [12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
> processors, node will be stopped and close connections
> java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
>   at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
>   at java.base/java.lang.String.substring(String.java:2709)
>   at 
> org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
>   at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
>   at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
>   at 
> org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
>   at 
> org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
> {noformat}



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


[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script, which can lead to 
impossibility to restart persistent cluster. 

How to reproduce:
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster
# Start cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
  at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
  at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
  at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
  at 
org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
  at 
org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
{noformat}

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script, which can lead to 
impossibility to restart persistent cluster. 

How to reproduce:
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster
# Start cluster and nodes will fail with following error:
{nofromat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Description: 
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script, which can lead to 
impossibility to restart persistent cluster. 

How to reproduce:
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster.
# Start cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
  at 
org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
  at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
  at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
  at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
  at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
  at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
  at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
  at 
org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
  at 
org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
{noformat}

  was:
There are no metric name validation when we perform hitrate and historgam 
metrics configuration by means of control script, which can lead to 
impossibility to restart persistent cluster. 

How to reproduce:
# Start persistent cluster
# Just repeat commands from instructions: 
https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
{noformat}
control.sh —metric —configure-histogram histogram-metric-name 1,2,3
control.sh —metric —configure-hitrate hitrate-metric-name 1000
{noformat}
# Deactivate and restart cluster
# Start cluster and nodes will fail with following error:
{noformat}
[12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
processors, node will be stopped and close connections
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
  at java.base/java.lang.String.substring(String.java:2709)
  at 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
  at 

[jira] [Updated] (IGNITE-20201) Node failure when incorrect names are used for hitrate and histogram metrics configuration

2023-08-11 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-20201:
---
Issue Type: Bug  (was: Improvement)

> Node failure when incorrect names are used for hitrate and histogram metrics 
> configuration
> --
>
> Key: IGNITE-20201
> URL: https://issues.apache.org/jira/browse/IGNITE-20201
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.15
>Reporter: Ilya Shishkov
>Priority: Major
>
> There are no metric name validation when we perform hitrate and historgam 
> metrics configuration by means of control script, which can lead to 
> impossibility to restart persistent cluster. 
> How to reproduce:
> # Start persistent cluster
> # Just repeat commands from instructions: 
> https://ignite.apache.org/docs/latest/tools/control-script#metric-configure-command
> {noformat}
> control.sh —metric —configure-histogram histogram-metric-name 1,2,3
> control.sh —metric —configure-hitrate hitrate-metric-name 1000
> {noformat}
> # Deactivate and restart cluster
> # Start cluster and nodes will fail with following error:
> {nofromat}
> [12:44:18,713][SEVERE][main][IgniteKernal%myGrid1] Exception during start 
> processors, node will be stopped and close connections
> java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 19
>   at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
>   at java.base/java.lang.String.substring(String.java:2709)
>   at 
> org.apache.ignite.internal.processors.metric.impl.MetricUtils.fromFullName(MetricUtils.java:72)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.find(GridMetricManager.java:502)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.onHitRateConfigChanged(GridMetricManager.java:462)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.access$400(GridMetricManager.java:73)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.lambda$onReadyForRead$0(GridMetricManager.java:269)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridge.iterate(InMemoryCachedDistributedMetaStorageBridge.java:87)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.iterate(DistributedMetaStorageImpl.java:542)
>   at 
> org.apache.ignite.internal.processors.metric.GridMetricManager$1.onReadyForRead(GridMetricManager.java:269)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.notifyReadyForRead(DistributedMetaStorageImpl.java:355)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onMetaStorageReadyForRead(DistributedMetaStorageImpl.java:434)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.access$200(DistributedMetaStorageImpl.java:116)
>   at 
> org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl$2.onReadyForRead(DistributedMetaStorageImpl.java:259)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForRead(GridCacheDatabaseSharedManager.java:430)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:877)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3094)
>   at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1120)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
>   at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
>   at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
>   at 
> org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43)
>   at 
> org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:74)
> {noformat}



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