[ 
https://issues.apache.org/jira/browse/RATIS-119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16217384#comment-16217384
 ] 

Jing Zhao commented on RATIS-119:
---------------------------------

The patch looks great to me. Some minors:
# # For {{public synchronized boolean register(Object mBean, 
Supplier<String>... names) }}, we can change Supplier... into 
Collection<Supplier> to fix the "possible heap pollution" warning.
# Can we combine the LifeCycle with RaftServerImpl#RaftServerJmxAdapter, 
instead of directly inside of JmxRegister? Feels like LifeCycle is more tightly 
coupled with RaftServerImpl.


> RaftServerImpl.registerMBean may throw MalformedObjectNameException
> -------------------------------------------------------------------
>
>                 Key: RATIS-119
>                 URL: https://issues.apache.org/jira/browse/RATIS-119
>             Project: Ratis
>          Issue Type: Bug
>            Reporter: Tsz Wo Nicholas Sze
>            Assignee: Tsz Wo Nicholas Sze
>            Priority: Minor
>         Attachments: r119_20171018.patch, r119_20171019.patch
>
>
> [~linyiqun] has reported that RaftServerImpl.registerMBean may throw 
> MalformedObjectNameException in HDFS-12593.
> {code}
> 2017-10-10 14:50:01,163 [Datanode State Machine Thread - 0] ERROR 
> impl.RaftServerImpl (RaftServerImpl.java:registerMBean(182)) - RaftServer JMX 
> bean can't be registered
> javax.management.MalformedObjectNameException: Invalid character ':' in value 
> part of property
>       at javax.management.ObjectName.construct(ObjectName.java:618)
>       at javax.management.ObjectName.<init>(ObjectName.java:1382)
>       at 
> org.apache.ratis.server.impl.RaftServerImpl.registerMBean(RaftServerImpl.java:179)
>       ...
>       at 
> org.apache.hadoop.ozone.container.common.statemachine.DatanodeStateMachine.start(DatanodeStateMachine.java:126)
>       at 
> org.apache.hadoop.ozone.container.common.statemachine.DatanodeStateMachine.lambda$0(DatanodeStateMachine.java:280)
>       at java.lang.Thread.run(Thread.java:745)
> {code}
> This is probably due to HDFS using host:port as raft server id.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to