From a229140fac2465a6db4f0f6028ff3bfefc97bee2 Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Mon, 28 Nov 2011 14:43:46 +0100 Subject: [PATCH] Fixed race in trading perf test. Fixes #1383 --- .../akka/performance/trading/domain/Orderbook.scala | 9 ++++----- .../akka/performance/trading/domain/TradeObserver.scala | 8 +++----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/akka-actor-tests/src/test/scala/akka/performance/trading/domain/Orderbook.scala b/akka-actor-tests/src/test/scala/akka/performance/trading/domain/Orderbook.scala index a3bd2febc0..e1541d7a03 100644 --- a/akka-actor-tests/src/test/scala/akka/performance/trading/domain/Orderbook.scala +++ b/akka-actor-tests/src/test/scala/akka/performance/trading/domain/Orderbook.scala @@ -51,11 +51,10 @@ object Orderbook { val useDummyOrderbook = System.getProperty("benchmark.useDummyOrderbook", "false").toBoolean - def apply(symbol: String, standby: Boolean): Orderbook = standby match { - case false if !useDummyOrderbook ⇒ new Orderbook(symbol) with SimpleTradeObserver - case true if !useDummyOrderbook ⇒ new Orderbook(symbol) with StandbyTradeObserver - case false if useDummyOrderbook ⇒ new DummyOrderbook(symbol) with SimpleTradeObserver - case true if useDummyOrderbook ⇒ new DummyOrderbook(symbol) with StandbyTradeObserver + def apply(symbol: String, standby: Boolean): Orderbook = (useDummyOrderbook, standby) match { + case (false, false) ⇒ new Orderbook(symbol) with NopTradeObserver + case (false, true) ⇒ new Orderbook(symbol) with TotalTradeObserver + case (true, _) ⇒ new DummyOrderbook(symbol) with NopTradeObserver } } diff --git a/akka-actor-tests/src/test/scala/akka/performance/trading/domain/TradeObserver.scala b/akka-actor-tests/src/test/scala/akka/performance/trading/domain/TradeObserver.scala index 123d785e17..c7de6ddcc0 100644 --- a/akka-actor-tests/src/test/scala/akka/performance/trading/domain/TradeObserver.scala +++ b/akka-actor-tests/src/test/scala/akka/performance/trading/domain/TradeObserver.scala @@ -6,15 +6,13 @@ abstract trait TradeObserver { def trade(bid: Bid, ask: Ask) } -trait SimpleTradeObserver extends TradeObserver { +trait TotalTradeObserver extends TradeObserver { override def trade(bid: Bid, ask: Ask) { - if (!Orderbook.useDummyOrderbook) { - TotalTradeCounter.counter.incrementAndGet - } + TotalTradeCounter.counter.incrementAndGet } } -trait StandbyTradeObserver extends TradeObserver { +trait NopTradeObserver extends TradeObserver { override def trade(bid: Bid, ask: Ask) { } }