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

Tsz-wo Sze commented on RATIS-703:
----------------------------------

> ... the compiler cannot decide if it should use the returning CheckedSupplier 
> or the non-returning one in CheckedRunnable ...

In this example, it is still unambiguous.  If the return value of 
assertNotLeaderException is void, then it is CheckedRunnable.  Otherwise, 
assertNotLeaderException has a non-void return value, i.e. CheckedSupplier.

Could you try updating you JDK?  Mine is
{code}
$java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
{code}

> Intermittent ambiguous method reference
> ---------------------------------------
>
>                 Key: RATIS-703
>                 URL: https://issues.apache.org/jira/browse/RATIS-703
>             Project: Ratis
>          Issue Type: Bug
>            Reporter: Henrik Hegardt
>            Assignee: Henrik Hegardt
>            Priority: Major
>         Attachments: RATIS-703.00.patch
>
>
> I'm getting intermittent ambiguous method reference compilation errors. It 
> seems like it's a real bug since the method is ambigious when the referenced 
> generic types have been ereased. Though I'm not sure why this is not always 
> failing, it should, but it's probably a bug in Javac. I'm running Eclipse and 
> it consistently complains about it.
> Output from Maven:
> [ERROR] 
> testRevertConfigurationChange(org.apache.ratis.server.simulation.TestRaftReconfigurationWithSimulatedRpc)
>  Time elapsed: 0.108 s <<< ERROR!
>  java.lang.Error: 
>  Unresolved compilation problems: 
>  The method attempt(CheckedSupplier<Boolean,RuntimeException>, int, 
> TimeDuration, String, Logger) is ambiguous for the type JavaUtils
>  The method attempt(CheckedSupplier<Boolean,RuntimeException>, int, 
> TimeDuration, String, Logger) is ambiguous for the type JavaUtils
> [INFO] Running 
> org.apache.ratis.server.simulation.TestServerRestartWithSimulatedRpc
>  [ERROR] Tests run: 5, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 
> 4.013 s <<< FAILURE! - in 
> org.apache.ratis.server.simulation.TestServerRestartWithSimulatedRpc
>  [ERROR] 
> testRestartCommitIndex(org.apache.ratis.server.simulation.TestServerRestartWithSimulatedRpc)
>  Time elapsed: 0.081 s <<< ERROR!
>  java.lang.Error: 
>  Unresolved compilation problems: 
>  The method attempt(CheckedSupplier<Boolean,RuntimeException>, int, 
> TimeDuration, String, Logger) is ambiguous for the type JavaUtils
>  The method attempt(CheckedSupplier<Boolean,RuntimeException>, int, 
> TimeDuration, String, Logger) is ambiguous for the type JavaUtils
> [ERROR] 
> testRestartFollower(org.apache.ratis.server.simulation.TestServerRestartWithSimulatedRpc)
>  Time elapsed: 0.074 s <<< ERROR!
>  java.lang.Error: 
>  Unresolved compilation problem: 
>  The method attempt(CheckedSupplier<Boolean,RuntimeException>, int, 
> TimeDuration, String, Logger) is ambiguous for the type JavaUtils
> A fix (but ugly) would just to be to re arrange the arguments.
>  



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

Reply via email to