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

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

GitHub user tillrohrmann opened a pull request:

    https://github.com/apache/flink/pull/3324

    [backport] [FLINK-5773] Use akka.actor.Status.Failure class to send 
failures via AskSupport

    Backport of #3321 onto the `release-1.2` branch.
    
    Akka's AskSupport trait requires that failures are wrapped in a 
akka.actor.Status.Failure
    to be recognized. Internally the trait will unwrap the failure and wrap it 
in a
    scala.util.Failure instance. However, it does not recognize the scala 
Failure when given
    to the AskSupport trait. As a consequence it would wrap scala.util.Failure 
in a
    scala.util.Success instance.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tillrohrmann/flink FLINK-5773backport

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/3324.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3324
    
----
commit 322c5ada58f407939a375c42c6f4e134f3527cde
Author: Till Rohrmann <trohrm...@apache.org>
Date:   2017-02-15T13:16:26Z

    [FLINK-5773] Use akka.actor.Status.Failure class to send failures via 
AskSupport
    
    Akka's AskSupport trait requires that failures are wrapped in a 
akka.actor.Status.Failure
    to be recognized. Internally the trait will unwrap the failure and wrap it 
in a
    scala.util.Failure instance. However, it does not recognize the scala 
Failure when given
    to the AskSupport trait. As a consequence it would wrap scala.util.Failure 
in a
    scala.util.Success instance.

----


> Cannot cast scala.util.Failure to 
> org.apache.flink.runtime.messages.Acknowledge
> -------------------------------------------------------------------------------
>
>                 Key: FLINK-5773
>                 URL: https://issues.apache.org/jira/browse/FLINK-5773
>             Project: Flink
>          Issue Type: Bug
>          Components: Distributed Coordination
>    Affects Versions: 1.2.0, 1.3.0
>            Reporter: Colin Breame
>            Assignee: Till Rohrmann
>             Fix For: 1.3.0, 1.2.1
>
>
> The exception below happens when I set the 
> StreamExecutionEnvironment.setMaxParallelism() to anything less than 4.
> Let me know if you need more information.
> {code}
> Caused by: java.lang.ClassCastException: Cannot cast scala.util.Failure to 
> org.apache.flink.runtime.messages.Acknowledge
>       at java.lang.Class.cast(Class.java:3369)
>       at scala.concurrent.Future$$anonfun$mapTo$1.apply(Future.scala:405)
>       at scala.util.Success$$anonfun$map$1.apply(Try.scala:206)
>       at scala.util.Try$.apply(Try.scala:161)
>       at scala.util.Success.map(Try.scala:206)
>       at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:235)
>       at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:235)
>       at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
>       at 
> scala.concurrent.Future$InternalCallbackExecutor$Batch$$anonfun$run$1.processBatch$1(Future.scala:643)
>       at 
> scala.concurrent.Future$InternalCallbackExecutor$Batch$$anonfun$run$1.apply$mcV$sp(Future.scala:658)
>       at 
> scala.concurrent.Future$InternalCallbackExecutor$Batch$$anonfun$run$1.apply(Future.scala:635)
>       at 
> scala.concurrent.Future$InternalCallbackExecutor$Batch$$anonfun$run$1.apply(Future.scala:635)
>       at 
> scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
>       at 
> scala.concurrent.Future$InternalCallbackExecutor$Batch.run(Future.scala:634)
>       at 
> scala.concurrent.Future$InternalCallbackExecutor$.scala$concurrent$Future$InternalCallbackExecutor$$unbatchedExecute(Future.scala:694)
>       at 
> scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:685)
>       at 
> scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40)
>       at 
> scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248)
>       at akka.pattern.PromiseActorRef.$bang(AskSupport.scala:266)
>       at 
> org.apache.flink.runtime.taskmanager.TaskManager.submitTask(TaskManager.scala:1206)
>       at 
> org.apache.flink.runtime.taskmanager.TaskManager.org$apache$flink$runtime$taskmanager$TaskManager$$handleTaskMessage(TaskManager.scala:458)
>       at 
> org.apache.flink.runtime.taskmanager.TaskManager$$anonfun$handleMessage$1.applyOrElse(TaskManager.scala:280)
>       at 
> scala.runtime.AbstractPartialFunction$mcVL$sp.apply$mcVL$sp(AbstractPartialFunction.scala:33)
>       at 
> scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:33)
>       at 
> scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:25)
>       at 
> org.apache.flink.runtime.LeaderSessionMessageFilter$$anonfun$receive$1.applyOrElse(LeaderSessionMessageFilter.scala:36)
>       at 
> scala.runtime.AbstractPartialFunction$mcVL$sp.apply$mcVL$sp(AbstractPartialFunction.scala:33)
>       at 
> scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:33)
>       at 
> scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:25)
>       at 
> org.apache.flink.runtime.LogMessages$$anon$1.apply(LogMessages.scala:33)
>       at 
> org.apache.flink.runtime.LogMessages$$anon$1.apply(LogMessages.scala:28)
>       at scala.PartialFunction$class.applyOrElse(PartialFunction.scala:118)
>       at 
> org.apache.flink.runtime.LogMessages$$anon$1.applyOrElse(LogMessages.scala:28)
>       at akka.actor.Actor$class.aroundReceive(Actor.scala:467)
>       at 
> org.apache.flink.runtime.taskmanager.TaskManager.aroundReceive(TaskManager.scala:122)
>       at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
>       at akka.actor.ActorCell.invoke(ActorCell.scala:487)
>       at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
>       at akka.dispatch.Mailbox.run(Mailbox.scala:220)
>       ... 5 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to