You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Rui Wang (Jira)" <ji...@apache.org> on 2020/12/26 00:43:00 UTC

[jira] [Updated] (HDDS-4624) Fix set configs in SCMHAConfigration

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

Rui Wang updated HDDS-4624:
---------------------------
    Description: 
If running the following code:

{code:java}
    SCMHAConfiguration scmhaConfiguration = conf.getObject(
        SCMHAConfiguration.class);
    scmhaConfiguration.setRatisStorageDir("scm-ratis");
    conf.setFromObject(scmhaConfiguration);
{code}

Will get the following exception:

{code:java}
java.lang.IllegalArgumentException: Attempt to get double field "org.apache.hadoop.hdds.scm.ha.SCMHAConfiguration.raftSegmentSize" with illegal data type conversion to long

	at sun.reflect.UnsafeFieldAccessorImpl.newGetIllegalArgumentException(UnsafeFieldAccessorImpl.java:69)
	at sun.reflect.UnsafeFieldAccessorImpl.newGetLongIllegalArgumentException(UnsafeFieldAccessorImpl.java:136)
	at sun.reflect.UnsafeDoubleFieldAccessorImpl.getLong(UnsafeDoubleFieldAccessorImpl.java:60)
	at java.lang.reflect.Field.getLong(Field.java:611)
	at org.apache.hadoop.hdds.conf.ConfigurationReflectionUtil.updateConfigurationFromObject(ConfigurationReflectionUtil.java:247)
	at org.apache.hadoop.hdds.conf.ConfigurationReflectionUtil.updateConfiguration(ConfigurationReflectionUtil.java:199)
	at org.apache.hadoop.hdds.conf.ConfigurationTarget.setFromObject(ConfigurationTarget.java:55)
	at org.apache.hadoop.hdds.scm.TestUtils.getScmSimple(TestUtils.java:484)
	at org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.createSCM(MiniOzoneClusterImpl.java:634)
	at org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.build(MiniOzoneClusterImpl.java:522)
	at org.apache.hadoop.ozone.client.rpc.TestOzoneRpcClientAbstract.startCluster(TestOzoneRpcClientAbstract.java:173)
	at org.apache.hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis.init(TestOzoneRpcClientWithRatis.java:71)
{code}


  was:
If running the following code:

{code:java}
    SCMHAConfiguration scmhaConfiguration = conf.getObject(
        SCMHAConfiguration.class);
    scmhaConfiguration.setRatisStorageDir("scm-ratis");
    conf.setFromObject(scmhaConfiguration);
{code}



{code:java}
java.lang.IllegalArgumentException: Attempt to get double field "org.apache.hadoop.hdds.scm.ha.SCMHAConfiguration.raftSegmentSize" with illegal data type conversion to long

	at sun.reflect.UnsafeFieldAccessorImpl.newGetIllegalArgumentException(UnsafeFieldAccessorImpl.java:69)
	at sun.reflect.UnsafeFieldAccessorImpl.newGetLongIllegalArgumentException(UnsafeFieldAccessorImpl.java:136)
	at sun.reflect.UnsafeDoubleFieldAccessorImpl.getLong(UnsafeDoubleFieldAccessorImpl.java:60)
	at java.lang.reflect.Field.getLong(Field.java:611)
	at org.apache.hadoop.hdds.conf.ConfigurationReflectionUtil.updateConfigurationFromObject(ConfigurationReflectionUtil.java:247)
	at org.apache.hadoop.hdds.conf.ConfigurationReflectionUtil.updateConfiguration(ConfigurationReflectionUtil.java:199)
	at org.apache.hadoop.hdds.conf.ConfigurationTarget.setFromObject(ConfigurationTarget.java:55)
	at org.apache.hadoop.hdds.scm.TestUtils.getScmSimple(TestUtils.java:484)
	at org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.createSCM(MiniOzoneClusterImpl.java:634)
	at org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.build(MiniOzoneClusterImpl.java:522)
	at org.apache.hadoop.ozone.client.rpc.TestOzoneRpcClientAbstract.startCluster(TestOzoneRpcClientAbstract.java:173)
	at org.apache.hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis.init(TestOzoneRpcClientWithRatis.java:71)
{code}



> Fix set configs in SCMHAConfigration 
> -------------------------------------
>
>                 Key: HDDS-4624
>                 URL: https://issues.apache.org/jira/browse/HDDS-4624
>             Project: Hadoop Distributed Data Store
>          Issue Type: Sub-task
>            Reporter: Rui Wang
>            Assignee: Rui Wang
>            Priority: Major
>
> If running the following code:
> {code:java}
>     SCMHAConfiguration scmhaConfiguration = conf.getObject(
>         SCMHAConfiguration.class);
>     scmhaConfiguration.setRatisStorageDir("scm-ratis");
>     conf.setFromObject(scmhaConfiguration);
> {code}
> Will get the following exception:
> {code:java}
> java.lang.IllegalArgumentException: Attempt to get double field "org.apache.hadoop.hdds.scm.ha.SCMHAConfiguration.raftSegmentSize" with illegal data type conversion to long
> 	at sun.reflect.UnsafeFieldAccessorImpl.newGetIllegalArgumentException(UnsafeFieldAccessorImpl.java:69)
> 	at sun.reflect.UnsafeFieldAccessorImpl.newGetLongIllegalArgumentException(UnsafeFieldAccessorImpl.java:136)
> 	at sun.reflect.UnsafeDoubleFieldAccessorImpl.getLong(UnsafeDoubleFieldAccessorImpl.java:60)
> 	at java.lang.reflect.Field.getLong(Field.java:611)
> 	at org.apache.hadoop.hdds.conf.ConfigurationReflectionUtil.updateConfigurationFromObject(ConfigurationReflectionUtil.java:247)
> 	at org.apache.hadoop.hdds.conf.ConfigurationReflectionUtil.updateConfiguration(ConfigurationReflectionUtil.java:199)
> 	at org.apache.hadoop.hdds.conf.ConfigurationTarget.setFromObject(ConfigurationTarget.java:55)
> 	at org.apache.hadoop.hdds.scm.TestUtils.getScmSimple(TestUtils.java:484)
> 	at org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.createSCM(MiniOzoneClusterImpl.java:634)
> 	at org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.build(MiniOzoneClusterImpl.java:522)
> 	at org.apache.hadoop.ozone.client.rpc.TestOzoneRpcClientAbstract.startCluster(TestOzoneRpcClientAbstract.java:173)
> 	at org.apache.hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis.init(TestOzoneRpcClientWithRatis.java:71)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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