You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "haosdent (JIRA)" <ji...@apache.org> on 2016/11/25 11:28:58 UTC

[jira] [Commented] (MESOS-6644) Mesos master failed to devolve Scheduler HTTP v1 Call

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

haosdent commented on MESOS-6644:
---------------------------------

After compare {{diff include/mesos/scheduler/scheduler.proto}}/{{include/mesos/v1/scheduler/scheduler.proto}} and {{include/mesos/mesos.proto}}/{{include/mesos/v1/mesos.proto}}, it looks no big different. I suspect the content of message affect protobuf parsing, especially the {{data}} field. 

> Mesos master failed to devolve Scheduler HTTP v1 Call
> -----------------------------------------------------
>
>                 Key: MESOS-6644
>                 URL: https://issues.apache.org/jira/browse/MESOS-6644
>             Project: Mesos
>          Issue Type: Bug
>          Components: HTTP API
>    Affects Versions: 0.27.2
>            Reporter: Zhongbo Tian
>
> Master failed with an assertion:
> {code:none}
> Check failed: t.ParsePartialFromString(data) Failed to parse mesos.scheduler.Call while devolving from mesos.v1.scheduler.Call
> {code}
> it is rare and hard to catch, so we patch the master to trying to dump the failed message:
> {code:none}
> diff --git a/src/internal/devolve.cpp b/src/internal/devolve.cpp
> index efcc5d6..0c457a9 100644
> --- a/src/internal/devolve.cpp
> +++ b/src/internal/devolve.cpp
> @@ -42,7 +42,8 @@ static T devolve(const google::protobuf::Message& message)
>    // be set and we don't want an exception to get thrown.
>    CHECK(t.ParsePartialFromString(data))
>      << "Failed to parse " << t.GetTypeName()
> -    << " while devolving from " << message.GetTypeName();
> +    << " while devolving from " << message.GetTypeName()
> +    << " data: [" << data << "]";
>  
>    return t;
> }
> {code}
> and we get a partial dump of the message (seems glog only keep 32k logging maximum"), pls get the base64-ed dumped message here
> {code:none}
> curl -Ls https://gist.github.com/windreamer/48fb1b99ee3d4398f746766ee5879149/raw/8e5038c7d47c3db297bd12724ac1cca67ba93f53/dumped.base64| base64 -d
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)