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

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

GJL 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_r240925036
 
 

 ##########
 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) {
+                       previous = (WrappingProxy<T>) delegate;
+                       delegate = ((WrappingProxy<T>) 
delegate).getWrappedDelegate();
 
 Review comment:
   As discussed offline, all proxies must be assignable to T as well.

----------------------------------------------------------------
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