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

ASF GitHub Bot commented on FLINK-11122:
----------------------------------------

StefanRRichter commented on a change in pull request #7273: [FLINK-11122][core] 
Change signature of WrappingProxyUtil#stripProxy(T)
URL: https://github.com/apache/flink/pull/7273#discussion_r240536853
 
 

 ##########
 File path: 
flink-core/src/main/java/org/apache/flink/util/WrappingProxyUtil.java
 ##########
 @@ -31,15 +33,19 @@ private WrappingProxyUtil() {
        }
 
        @SuppressWarnings("unchecked")
-       public static <T> T stripProxy(T object) {
+       public static <T> T stripProxy(@Nullable final WrappingProxy<T> 
wrappingProxy) {
+               if (wrappingProxy == null) {
+                       return null;
+               }
 
-               T previous = null;
+               WrappingProxy<T> previous = null;
+               Object delegate = wrappingProxy.getWrappedDelegate();
 
-               while (object instanceof WrappingProxy && previous != object) {
-                       previous = object;
-                       object = ((WrappingProxy<T>) 
object).getWrappedDelegate();
+               while (delegate instanceof WrappingProxy && previous != 
delegate) {
 
 Review comment:
   Otherwise you can generate an endless-loop. See FLINK-7524.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> SafetyNetCloseableRegistryTest fails with ClassCastException
> ------------------------------------------------------------
>
>                 Key: FLINK-11122
>                 URL: https://issues.apache.org/jira/browse/FLINK-11122
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Tests
>            Reporter: Gary Yao
>            Assignee: Gary Yao
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.8.0
>
>
> When compiling and running {{SafetyNetCloseableRegistryTest}} with Java 9, 
> some tests fail with a {{ClassCastException}}
> {noformat}
> java.lang.AssertionError: java.lang.ClassCastException: 
> org.apache.flink.core.fs.local.LocalDataOutputStream cannot be cast to 
> org.apache.flink.core.fs.WrappingProxyCloseable
>       at 
> org.apache.flink.core.fs.SafetyNetCloseableRegistry$PhantomDelegatingCloseableRef.<init>(SafetyNetCloseableRegistry.java:156)
>       at 
> org.apache.flink.core.fs.SafetyNetCloseableRegistry.doRegister(SafetyNetCloseableRegistry.java:99)
>       at 
> org.apache.flink.core.fs.SafetyNetCloseableRegistry.doRegister(SafetyNetCloseableRegistry.java:50)
>       at 
> org.apache.flink.util.AbstractCloseableRegistry.registerCloseable(AbstractCloseableRegistry.java:79)
>       at 
> org.apache.flink.core.fs.ClosingFSDataOutputStream.wrapSafe(ClosingFSDataOutputStream.java:101)
>       at 
> org.apache.flink.core.fs.SafetyNetWrapperFileSystem.create(SafetyNetWrapperFileSystem.java:127)
>       at 
> org.apache.flink.core.fs.SafetyNetCloseableRegistryTest$3.go(SafetyNetCloseableRegistryTest.java:120)
>       at 
> org.apache.flink.core.testutils.CheckedThread.run(CheckedThread.java:74)
> {noformat}
> This is due to the problematic signature in 
> {{WrappingProxyUtil#stripProxy(T)}}, which expects a generic type {{T}} and 
> also returns {{T}}. 



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

Reply via email to