Ilya Shishkov created IGNITE-20201:
--------------------------------------

             Summary: 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: Improvement
    Affects Versions: 2.15
            Reporter: Ilya Shishkov


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