[ 
https://issues.apache.org/jira/browse/HDFS-15580?focusedWorklogId=485085&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-485085
 ]

ASF GitHub Bot logged work on HDFS-15580:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 16/Sep/20 11:13
            Start Date: 16/Sep/20 11:13
    Worklog Time Spent: 10m 
      Work Description: aajisaka opened a new pull request #2309:
URL: https://github.com/apache/hadoop/pull/2309


   JIRA: https://issues.apache.org/jira/browse/HDFS-15580
   
   In Java 12 or upper, we cannot use reflection to update a final variable.
   
   - Make DataNode layout version non-final
   - Create getter and setter for the layout version
   - The getter is annotated by `@VisibleForTesting`


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

            Worklog Id:     (was: 485085)
    Remaining Estimate: 0h
            Time Spent: 10m

> [JDK 12] DFSTestUtil#addDataNodeLayoutVersion fails
> ---------------------------------------------------
>
>                 Key: HDFS-15580
>                 URL: https://issues.apache.org/jira/browse/HDFS-15580
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: test
>            Reporter: Akira Ajisaka
>            Assignee: Akira Ajisaka
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> DFSTestUtil#addDataNodeLayoutVersion uses reflection to update final 
> variables, however, it is not allowed in Java 12+. Please see 
> https://bugs.openjdk.java.net/browse/JDK-8210522 for the detail.
> {noformat}
> [ERROR] 
> testWithLayoutChangeAndFinalize(org.apache.hadoop.hdfs.server.datanode.TestDataNodeRollingUpgrade)
>   Time elapsed: 11.159 s  <<< ERROR!
> java.lang.NoSuchFieldException: modifiers
>       at java.base/java.lang.Class.getDeclaredField(Class.java:2569)
>       at 
> org.apache.hadoop.hdfs.DFSTestUtil.addDataNodeLayoutVersion(DFSTestUtil.java:1961)
>       at 
> org.apache.hadoop.hdfs.server.datanode.TestDataNodeRollingUpgrade.testWithLayoutChangeAndFinalize(TestDataNodeRollingUpgrade.java:364)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
>       at 
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
>       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>       at java.base/java.lang.Thread.run(Thread.java:832)
> {noformat}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to