hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elek, Marton (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-13071) Ozone: JMX name of RocksDbMetastore should be sanitized
Date Fri, 26 Jan 2018 21:39:00 GMT

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

Elek, Marton updated HDFS-13071:
--------------------------------
    Status: Patch Available  (was: Open)

> Ozone: JMX name of RocksDbMetastore should be sanitized
> -------------------------------------------------------
>
>                 Key: HDFS-13071
>                 URL: https://issues.apache.org/jira/browse/HDFS-13071
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: ozone
>    Affects Versions: HDFS-7240
>            Reporter: Elek, Marton
>            Assignee: Elek, Marton
>            Priority: Major
>         Attachments: HDFS-13071-HDFS-7240.001.patch
>
>
> JMX metrics are exposed from the RocksDB metastore since HDFS-12807. We use the filename
as a property of the JMX ObjectName.
> Unfortunatelly the file name could contain non jmx compatible characters in case of cblock
(eg. volume:iqn.2001-04.org.apache.hadoop:persistent contains : which is not allowed).
> {code:java}
> demo-datanode-2 datanode org.apache.hadoop.metrics2.MetricsException: javax.management.MalformedObjectNameException:
Invalid character ':' in value part of property
> demo-datanode-2 datanode     at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.newObjectName(DefaultMetricsSystem.java:135)
> demo-datanode-2 datanode     at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.newMBeanName(DefaultMetricsSystem.java:110)
> demo-datanode-2 datanode     at org.apache.hadoop.metrics2.util.MBeans.getMBeanName(MBeans.java:155)
> demo-datanode-2 datanode     at org.apache.hadoop.metrics2.util.MBeans.register(MBeans.java:87)
> demo-datanode-2 datanode     at org.apache.hadoop.utils.RocksDBStore.<init>(RocksDBStore.java:74)
> demo-datanode-2 datanode     at org.apache.hadoop.utils.MetadataStoreBuilder.build(MetadataStoreBuilder.java:115)
> demo-datanode-2 datanode     at org.apache.hadoop.ozone.container.common.helpers.ContainerUtils.createMetadata(ContainerUtils.java:260)
> demo-datanode-2 datanode     at org.apache.hadoop.ozone.container.common.impl.ContainerManagerImpl.writeContainerInfo(ContainerManagerImpl.java:395)
> demo-datanode-2 datanode     at org.apache.hadoop.ozone.container.common.impl.ContainerManagerImpl.createContainer(ContainerManagerImpl.java:328)
> demo-datanode-2 datanode     at org.apache.hadoop.ozone.container.common.impl.Dispatcher.handleCreateContainer(Dispatcher.java:399)
> demo-datanode-2 datanode     at org.apache.hadoop.ozone.container.common.impl.Dispatcher.containerProcessHandler(Dispatcher.java:158)
> demo-datanode-2 datanode     at org.apache.hadoop.ozone.container.common.impl.Dispatcher.dispatch(Dispatcher.java:105)
> demo-datanode-2 datanode     at org.apache.hadoop.ozone.container.common.transport.server.XceiverServerHandler.channelRead0(XceiverServerHandler.java:61)
> demo-datanode-2 datanode     at org.apache.hadoop.ozone.container.common.transport.server.XceiverServerHandler.channelRead0(XceiverServerHandler.java:32)
> demo-datanode-2 datanode     at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
> demo-datanode-2 datanode     at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
> demo-datanode-2 datanode     at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
> demo-datanode-2 datanode     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
> demo-datanode-2 datanode     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1302)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
> demo-datanode-2 datanode     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
> demo-datanode-2 datanode     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
> demo-datanode-2 datanode     at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
> demo-datanode-2 datanode     at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
> demo-datanode-2 datanode     at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
> demo-datanode-2 datanode     at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
> demo-datanode-2 datanode     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
> demo-datanode-2 datanode     at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
> demo-datanode-2 datanode     at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
> demo-datanode-2 datanode     at java.lang.Thread.run(Thread.java:748)
> demo-datanode-2 datanode Caused by: javax.management.MalformedObjectNameException: Invalid
character ':' in value part of property
> demo-datanode-2 datanode     at javax.management.ObjectName.construct(ObjectName.java:618)
> demo-datanode-2 datanode     at javax.management.ObjectName.<init>(ObjectName.java:1382)
> demo-datanode-2 datanode     at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.newObjectName(DefaultMetricsSystem.java:133)
> {code}
>  
> It could be easily fixed with replacing the problematic characters.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message