[ https://issues.apache.org/jira/browse/HDFS-13071?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Elek, Marton updated HDFS-13071: -------------------------------- Attachment: HDFS-13071-HDFS-7240.001.patch > 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-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org