[
https://issues.apache.org/jira/browse/AURORA-771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14163577#comment-14163577
]
Mark Chu-Carroll edited comment on AURORA-771 at 10/8/14 3:03 PM:
------------------------------------------------------------------
The problem with that is that at the moment, the server sends messages using
that message field for many reasons - warnings about potential problems,
deprecations, automatic configuration field updates, and actual errors.
There's no identifying marker on any of the messages in the responseDetail
field to allow the client to distinguish the error messages from other messages
sent by the server. All the client can do to distinguish those is scrape the
messages, and attempt to render them correctly.
If the scheduler had a "message type" field in the ResponseDetail, which
distinguished errors from non-errors, it would be much easier to correctly
generate good errors. When we originally discussed adding the ResponseDetail, I
think we talked about having a field to indicate error/severity. What happened
to that? Would it be a big problem to add it, in order to give the client the
info it needs to really get this right?
was (Author: mchucarroll):
The problem with that is that at the moment, the server sends messages using
that message field for many reasons - warnings about potential problems,
deprecations, automatic configuration field updates, and actual errors.
There's no identifying marker on any of the messages in the
> 'see log for details' in client output is confusing
> ---------------------------------------------------
>
> Key: AURORA-771
> URL: https://issues.apache.org/jira/browse/AURORA-771
> Project: Aurora
> Issue Type: Story
> Components: Client, Usability
> Reporter: Bill Farner
> Assignee: Mark Chu-Carroll
> Priority: Critical
>
> This approach is taken in several places in response to a non-successful RPC:
> {noformat}
> $ grep -R ' see log for details' src/main/python/
> src/main/python/apache/aurora/client/cli/cron.py: err_msg=("Error
> scheduling job %s; see log for details" % context.options.jobspec))
> src/main/python/apache/aurora/client/cli/cron.py: err_msg=("Error
> descheduling job %s; see log for details" % context.options.jobspec))
> src/main/python/apache/aurora/client/cli/cron.py: err_msg=("Error
> starting cron job %s; see log for details" % context.options.jobspec))
> src/main/python/apache/aurora/client/cli/cron.py: err_msg=("Error
> getting cron status for %s; see log for details" % jobkey))
> src/main/python/apache/aurora/client/cli/jobs.py: raise
> context.CommandError(EXIT_COMMAND_FAILURE, "Error reported by scheduler; see
> log for details")
> src/main/python/apache/aurora/client/cli/jobs.py: err_msg="Error
> loading configuration; see log for details")
> src/main/python/apache/aurora/client/cli/jobs.py:
> context.print_err("Kill of shards %s failed with error; see log for details"
> % batch)
> src/main/python/apache/aurora/client/cli/jobs.py:
> context.print_err("Error restarting job %s; see log for details" % str(job))
> src/main/python/apache/aurora/client/cli/jobs.py: "Server could not
> find running job to update: see log for details")
> src/main/python/apache/aurora/client/cli/jobs.py: err_msg="Server
> could not populate job config for comparison; see log for details.")
> src/main/python/apache/aurora/client/cli/jobs.py: err_msg="Update
> failed; see log for details.")
> src/main/python/apache/aurora/client/cli/update.py: err_msg="Failed to
> start scheduler-driven update; see log for details.")
> src/main/python/apache/aurora/client/cli/update.py: err_msg="Failed to
> pause scheduler-driven update; see log for details")
> src/main/python/apache/aurora/client/cli/update.py: err_msg="Failed to
> resume scheduler-driven update; see log for details")
> src/main/python/apache/aurora/client/cli/update.py: err_msg="Failed to
> abort scheduler-driven update; see log for details")
> {noformat}
> Take this command and output for example:
> {noformat}
> $ aurora2 beta-update start devcluster/www-data/devel/hello_world
> /vagrant/hello_world.aurora
> log(info): Starting update for: hello_world
> log(info): Starting new HTTP connection (1): 192.168.33.7
> log(info): Starting new HTTP connection (1): 192.168.33.7
> log(info): Message from scheduler: Job is unchanged by proposed update.
> Error: Failed to start scheduler-driven update; see log for details.
> log(info): Error executing command: Failed to start scheduler-driven update;
> see log for details.
> Error executing command: Failed to start scheduler-driven update; see log for
> details.
> {noformat}
> In this case, the lines containing "see log for details" makes me think that
> i'm expected to look at a log file somewhere, not that i should read the line
> immediately preceding. It would be great if this output looked more like:
> {noformat}
> $ aurora2 beta-update start devcluster/www-data/devel/hello_world
> /vagrant/hello_world.aurora
> Invalid request: Job is unchanged by proposed update.
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)