Merge branch 'cassandra-3.0' into cassandra-3.11

This commit is contained in:
Mick Semb Wever 2018-05-14 19:06:40 +10:00
commit 704f9b093a
No known key found for this signature in database
GPG Key ID: E91335D77E3E87CB
3 changed files with 4 additions and 2 deletions

View File

@ -14,6 +14,7 @@
* RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163)
* Fix wildcard GROUP BY queries (CASSANDRA-14209)
Merged from 3.0:
* Fix deprecated repair error notifications from 3.x clusters to legacy JMX clients (CASSANDRA-13121)
* Cassandra not starting when using enhanced startup scripts in windows (CASSANDRA-14418)
* Fix progress stats and units in compactionstats (CASSANDRA-12244)
* Better handle missing partition columns in system_schema.columns (CASSANDRA-14379)

View File

@ -106,7 +106,7 @@ public class RepairRunnable extends WrappedRunnable implements ProgressEventNoti
protected void fireErrorAndComplete(String tag, int progressCount, int totalProgress, String message)
{
fireProgressEvent(tag, new ProgressEvent(ProgressEventType.ERROR, progressCount, totalProgress, message));
fireProgressEvent(tag, new ProgressEvent(ProgressEventType.ERROR, progressCount, totalProgress, String.format("Repair command #%d failed with error %s", cmd, message)));
fireProgressEvent(tag, new ProgressEvent(ProgressEventType.COMPLETE, progressCount, totalProgress, String.format("Repair command #%d finished with error", cmd)));
}

View File

@ -35,7 +35,7 @@ import static org.apache.cassandra.service.ActiveRepairService.Status;
*/
public class LegacyJMXProgressSupport implements ProgressListener
{
protected static final Pattern SESSION_FAILED_MATCHER = Pattern.compile("Repair session .* for range .* failed with error .*");
protected static final Pattern SESSION_FAILED_MATCHER = Pattern.compile("Repair session .* for range .* failed with error .*|Repair command .* failed with error .*");
protected static final Pattern SESSION_SUCCESS_MATCHER = Pattern.compile("Repair session .* for range .* finished");
private final AtomicLong notificationSerialNumber = new AtomicLong();
@ -86,6 +86,7 @@ public class LegacyJMXProgressSupport implements ProgressListener
return Optional.of(Status.STARTED);
case COMPLETE:
return Optional.of(Status.FINISHED);
case ERROR:
case PROGRESS:
if (SESSION_FAILED_MATCHER.matcher(event.getMessage()).matches())
{