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

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

GitHub user GJL opened a pull request:

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

    [FLINK-8754][flip6] Make TaskManagerInfo implement Serializable

    ## What is the purpose of the change
    
    *`TaskManagerInfo` can be returned from RPC calls, e.g., 
`ResourceManagerGateway#requestTaskManagerInfo(ResourceID, Time)`. All messages 
passed via RPC must be serializable. This PR makes `TaskManagerInfo` 
serializable.*
    
    
    ## Brief change log
    
      - *Make TaskManagerInfo implement Serializable*
    
    
    ## Verifying this change
    
    This change is a trivial rework / code cleanup without any test coverage.
    
    ## Does this pull request potentially affect one of the following parts:
    
      - Dependencies (does it add or upgrade a dependency): (yes / **no**)
      - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: (yes / **no**)
      - The serializers: (yes / **no** / don't know)
      - The runtime per-record code paths (performance sensitive): (yes / 
**no** / don't know)
      - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / **no** / don't know)
      - The S3 file system connector: (yes / **no** / don't know)
    
    ## Documentation
    
      - Does this pull request introduce a new feature? (yes / **no**)
      - If yes, how is the feature documented? (**not applicable** / docs / 
JavaDocs / not documented)


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

    $ git pull https://github.com/GJL/flink FLINK-8754

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

    https://github.com/apache/flink/pull/5566.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 #5566
    
----
commit e024c388516e6644ee2fa837069c87992043ee87
Author: gyao <gary@...>
Date:   2018-02-23T09:10:11Z

    [FLINK-8754][flip6] Make TaskManagerInfo implement Serializable

----


> TaskManagerInfo is not serializable
> -----------------------------------
>
>                 Key: FLINK-8754
>                 URL: https://issues.apache.org/jira/browse/FLINK-8754
>             Project: Flink
>          Issue Type: Bug
>          Components: Distributed Coordination
>    Affects Versions: 1.5.0
>            Reporter: Gary Yao
>            Assignee: Gary Yao
>            Priority: Blocker
>              Labels: flip-6
>             Fix For: 1.5.0
>
>
> Taskmanager info cannot be fetched reliably through REST API.
> *Steps to reproduce*
>  # Start flink on a cluster (519639c64039563ac4f2a875a8cfa630b25e4e8b)
>  # 
> {code:java}
> curl host:port/taskmanagers{code}
>  # Search for stacktrace in taskmanager log
> {noformat}
> akka.remote.MessageSerializer$SerializationException: Failed to serialize 
> remote message [class java.util.ArrayList] using serializer [class 
> akka.serialization.JavaSerializer].
>      at akka.remote.MessageSerializer$.serialize(MessageSerializer.scala:61)
>      at 
> akka.remote.EndpointWriter$$anonfun$serializeMessage$1.apply(Endpoint.scala:889)
>      at 
> akka.remote.EndpointWriter$$anonfun$serializeMessage$1.apply(Endpoint.scala:889)
>      at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)
>      at akka.remote.EndpointWriter.serializeMessage(Endpoint.scala:888)
>      at akka.remote.EndpointWriter.writeSend(Endpoint.scala:780)
>      at akka.remote.EndpointWriter$$anonfun$4.applyOrElse(Endpoint.scala:755)
>      at akka.actor.Actor$class.aroundReceive(Actor.scala:502)
>      at akka.remote.EndpointActor.aroundReceive(Endpoint.scala:446)
>      at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
>      at akka.actor.ActorCell.invoke(ActorCell.scala:495)
>      at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
>      at akka.dispatch.Mailbox.run(Mailbox.scala:224)
>      at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
>      at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
>      at 
> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
>      at 
> scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
>      at 
> scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
> Caused by: java.io.NotSerializableException: 
> org.apache.flink.runtime.rest.messages.taskmanager.TaskManagerInfo
>      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
>      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
>      at java.util.ArrayList.writeObject(ArrayList.java:762)
> {noformat}



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

Reply via email to