cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Jirsa (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-13356) BootstrapMonitor.progress does not store all error messages
Date Tue, 21 Mar 2017 00:32:41 GMT

     [ 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)

Mime
View raw message