You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jeff Jirsa (JIRA)" <ji...@apache.org> on 2017/03/21 00:32:41 UTC

[jira] [Updated] (CASSANDRA-13356) BootstrapMonitor.progress does not store all error messages

     [ https://issues.apache.org/jira/browse/CASSANDRA-13356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeff Jirsa updated CASSANDRA-13356:
-----------------------------------
    Description: 
The BootstrapMonitor.progress ignores error messages when for ProgressEventType.ERROR. Indeed, RepairRunner.progress once had a similar bug, but is fixed. The fixed code is:

{code}
 public void progress(String tag, ProgressEvent event)
    {
        ProgressEventType type = event.getType();
        String message = String.format("[%s] %s", format.format(System.currentTimeMillis()), event.getMessage());
        if (type == ProgressEventType.PROGRESS)
        {
            message = message + " (progress: " + (int)event.getProgressPercentage() + "%)";
        }
        out.println(message);
        if (type == ProgressEventType.ERROR)
        {
            error = new RuntimeException("Repair job has failed with the error message: " + message);
        }
        if (type == ProgressEventType.COMPLETE)
        {
            condition.signalAll();
        }
    }
{code}

Please refer to CASSANDRA-12508 for details.

  was:
The BootstrapMonitor.progress ignores error messages when for ProgressEventType.ERROR. Indeed, RepairRunner.progress once had a similar bug, but is fixed. The fixed code is:
 public void progress(String tag, ProgressEvent event)
    {
        ProgressEventType type = event.getType();
        String message = String.format("[%s] %s", format.format(System.currentTimeMillis()), event.getMessage());
        if (type == ProgressEventType.PROGRESS)
        {
            message = message + " (progress: " + (int)event.getProgressPercentage() + "%)";
        }
        out.println(message);
        if (type == ProgressEventType.ERROR)
        {
            error = new RuntimeException("Repair job has failed with the error message: " + message);
        }
        if (type == ProgressEventType.COMPLETE)
        {
            condition.signalAll();
        }
    }
Please refer to CASSANDRA-12508 for details.


> BootstrapMonitor.progress does not store all error messages
> -----------------------------------------------------------
>
>                 Key: CASSANDRA-13356
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13356
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>            Reporter: Hao Zhong
>             Fix For: 4.x
>
>
> The BootstrapMonitor.progress ignores error messages when for ProgressEventType.ERROR. Indeed, RepairRunner.progress once had a similar bug, but is fixed. The fixed code is:
> {code}
>  public void progress(String tag, ProgressEvent event)
>     {
>         ProgressEventType type = event.getType();
>         String message = String.format("[%s] %s", format.format(System.currentTimeMillis()), event.getMessage());
>         if (type == ProgressEventType.PROGRESS)
>         {
>             message = message + " (progress: " + (int)event.getProgressPercentage() + "%)";
>         }
>         out.println(message);
>         if (type == ProgressEventType.ERROR)
>         {
>             error = new RuntimeException("Repair job has failed with the error message: " + message);
>         }
>         if (type == ProgressEventType.COMPLETE)
>         {
>             condition.signalAll();
>         }
>     }
> {code}
> Please refer to CASSANDRA-12508 for details.



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