From 25da034fb3bb8edb393ae7908ee0d292efbb4ed9 Mon Sep 17 00:00:00 2001 From: Pavel Yaskevich Date: Fri, 6 Apr 2012 22:32:12 +0300 Subject: [PATCH] fix terminination of the stress.java when errors were encountered patch by Pavel Yaskevich; reviewed by Brandon Williams for CASSANDRA-4128 --- CHANGES.txt | 2 ++ tools/stress/src/org/apache/cassandra/stress/Stress.java | 2 +- .../src/org/apache/cassandra/stress/StressAction.java | 6 +++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index ceccc71f6e..1d1b4fddb0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,6 +9,8 @@ (CASSANDRA-4088) * relax path length requirement for sstable files when upgrading on non-Windows platforms (CASSANDRA-4110) + * fix terminination of the stress.java when errors were encountered + (CASSANDRA-4128) 1.1-beta2 diff --git a/tools/stress/src/org/apache/cassandra/stress/Stress.java b/tools/stress/src/org/apache/cassandra/stress/Stress.java index 36f0410daa..c5e65f8f6e 100644 --- a/tools/stress/src/org/apache/cassandra/stress/Stress.java +++ b/tools/stress/src/org/apache/cassandra/stress/Stress.java @@ -88,7 +88,7 @@ public final class Stress } else { - new StressAction(session, outStream).run(); + new StressAction(session, outStream).start(); } } diff --git a/tools/stress/src/org/apache/cassandra/stress/StressAction.java b/tools/stress/src/org/apache/cassandra/stress/StressAction.java index 8d6a0f58a5..d175170d99 100644 --- a/tools/stress/src/org/apache/cassandra/stress/StressAction.java +++ b/tools/stress/src/org/apache/cassandra/stress/StressAction.java @@ -137,6 +137,9 @@ public class StressAction extends Thread } } + if (producer.isAlive()) + producer.interrupt(); // if producer is still alive it means that we had errors in the consumers + // marking an end of the output to the client output.println("END"); } @@ -161,7 +164,8 @@ public class StressAction extends Thread } catch (InterruptedException e) { - System.err.println("Producer error - " + e.getMessage()); + if (e.getMessage() != null) + System.err.println("Producer error - " + e.getMessage()); return; } }