• Bug
  • Status: Closed
  • 3 Minor
  • Resolution: Fixed
  • cdennis
  • Reporter: dfhare
  • October 25, 2008
  • 0
  • Watchers: 1
  • July 27, 2012
  • March 26, 2009

Attachments

Description

The implementation of signal() in com.tcclient.util.concurrent.locks.ConditionObject causes multiple threads to be signaled, instead of just one as required. Run the attached java program under normal java and you’ll see

% java -version java version “1.6.0_04” Java(TM) SE Runtime Environment (build 1.6.0_04-b12) Java HotSpot(TM) 64-Bit Server VM (build 10.0-b19, mixed mode)

% java -cp . TestTCLock Sending signal T0 got signal Sending signal T1 got signal Sending signal T2 got signal Sending signal T3 got signal [etc]

but run it under Terracotta and you’ll see: % /home/terracotta/bin/dso-java.sh -cp . TestTCLock Starting BootJarTool… 2008-10-25 10:06:05,823 INFO - Terracotta 2.7.0, as of 20081001-101049 (Revision 10251 by cruise@rh4mo0 from 2.7) 2008-10-25 10:06:06,363 INFO - Configuration loaded from the file at ‘/home/go/aniworker/tc-config.xml’.

Starting Terracotta client… 2008-10-25 10:06:10,299 INFO - Terracotta 2.7.0, as of 20081001-101049 (Revision 10251 by cruise@rh4mo0 from 2.7) 2008-10-25 10:06:10,852 INFO - Configuration loaded from the file at ‘/home/go/aniworker/tc-config.xml’. 2008-10-25 10:06:11,004 INFO - Log file: ‘/home/go/aniworker/terracotta/client-logs/terracotta-client.log’. 2008-10-25 10:06:14,046 INFO - Statistics buffer: ‘/home/go/aniworker/terracotta/client-statistics/20081025100613831’. Sending signal T0 got signal T8 got signal T6 got signal T5 got signal T4 got signal T3 got signal T2 got signal T1 got signal T7 got signal Sending signal T9 got signal T0 got signal Sending signal T6 got signal T8 got signal Sending signal T5 got signal T4 got signal Sending signal T3 got signal T2 got signal [etc]

Comments

Fiona OShea 2008-10-27

Look into in 2.7.x timeframe

Chris Dennis 2009-03-26

Must be merged to 3.0 branch after 3.0.0 is clear.