[ 
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)

Reply via email to