Donate Share

The Grinder

File Release Notes and Changelog

Release Name: 3.2

Notes:
The Grinder 3.2
---------------

  Add net.grinder.ScriptContext startWorkerThread() and
  startWorkerThread(testRunner) methods which scripts can use to start
  additional worker threads.

  Fulfil feature request 1694369 - Ability to stop worker threads from
  script. See the ScriptContext stopThisWorkerThread() and stopWorkerThread()
  methods.

  Fix bug 2018168 - HTTP filter generates invalid Jython variable
  names.

  Address bug 2058502 - Add example script showing how to ramp up threads.
  Thanks to Travis Bear for the prompt.

  Fix bug 2092881 - Agents do not start first time after reset if console
  overrides consoleHost or consolePort properties. Thanks to HappySpaceInvader
  for the report.

  Fix bug 2138601 - Moving table columns results in incorrect formatting.
  Thanks to Walter Tuvell for the report.

  Fulfil feature request 2201502. Add stream based versions of POST, PUT,
  OPTIONS to HTTPRequest. This allows arbitrarily large amount of data can be
  sent without requiring a corresponding amount of memory. Thanks to Walter
  Tuvell for the suggestion.

  Fix bug 1576609 - "Accept Cookie" rules too strict. I've relaxed the
  rules about what cookie domains are acceptable to The Grinder, better to
  align it with current browser implementations. Thanks to Bryan Cornies for
  the report.

  Fix bug 1580340 - Can't invoke static methods through a wrapped Java class.

  Fix bug 2314157 - Log4j classes reloaded by IsolatingClassLoader. This bug
  was really a feature request to allow specific classes to be shared when
  running with grinder.debug.singleprocess=true. This is important because
  GrinderStone uses the single process mode.  Classes can now be share with
  the new grinder.debug.singleprocess.sharedclasses property. Thanks to
  Fei Fan for requesting this.

  Dutch console translation from Marc Van Giel.

  Fulfil feature request 2412104 - Support streaming HTTP responses. Thanks
  to Randy Shaffer for requesting this feature, and to Olivier Merlin for
  testing an initial patch.

  Fulfil feature request 2298825 - Worker number which is reset for each test
  run. Added ScriptContext.getFirstProcessNumber() which a script can use with
  getProcessNumber() to calculate a zero based value for indexing into test
  data.

  Fix bug 2412121 - Not compatible with servers that only provide SSLv3. I've
  altered the TCPProxy and the HTTPClient library so that the SSL sockets they
  create enable all the protocols and cipher suites supported by the underlying
  JVM. These can be overridden if necessary with the https.cipherSuites and
  https.protocols Java system properties. Thanks to Lorance Stinson for the
  report and for testing various candidate patches.

  Fulfill feature request 1677083 - Agent should produce TPS when run without
  Console. Thanks to MattyM76 for requesting this feature.


Changes: 2009-02-14 [r3974] Philip Aston * etc/localpaths.properties: Update path. 2009-02-14 [r3973] Philip Aston * etc/buildenv.sh: Still haven't switched to Java 5, use 1.4 for build. 2009-02-14 [r3972] Philip Aston * .settings/org.eclipse.jdt.core.prefs, .classpath, .settings/org.eclipse.jdt.ui.prefs, .settings/com.cenqua.clover.core.prefs, .pydevproject: Update cruft. 2009-02-14 [r3971] Philip Aston * etc/checkstyle.xml: Hmm.. checkstyle has started bitching about the common properties that are not intended for translation. Disable the translation module. 2009-01-11 [r3969] Philip Aston * build.xml, LICENSE, src/net/grinder/console/common/resources/about.html: Happy New Year. 2009-01-11 [r3968] Philip Aston * src/net/grinder/statistics/StatisticsServices.java, src/net/grinder/console/model/SampleModelImplementation.java, src/net/grinder/statistics/CommonStatisticsViews.java, src/net/grinder/statistics/StatisticsServicesImplementation.java: DRY - only create one TPS expression. 2009-01-11 [r3967] Philip Aston * src/net/grinder/console/model/SampleModelViewsImplementation.java, tests-src/net/grinder/console/model/TestSampleModelViewsImplementation.java, tests-src/net/grinder/console/swingui/TestCumulativeStatisticsTableModel.java, src/net/grinder/statistics/CommonStatisticsViews.java, src/net/grinder/engine/process/GrinderProcess.java, tests-src/net/grinder/console/swingui/TestSampleStatisticsTableModel.java, CHANGES: Fulfill feature request 1677083 - agent should produce TPS when run without console. 2009-01-11 [r3966] Philip Aston * tests-src/net/grinder/engine/process/TestProcessContextImplementation.java: Report total elapsed time on exit. 2009-01-11 [r3965] Philip Aston * src/net/grinder/engine/process/ProcessContext.java, src/net/grinder/engine/process/GrinderProcess.java, src/net/grinder/engine/process/ProcessContextImplementation.java: Report total elapsed time on exit. 2008-12-28 [r3964] Philip Aston * src/net/grinder/tools/tcpproxy/TCPProxySSLSocketFactoryImplementation.java, src/HTTPClient/HTTPConnection.java, CHANGES: Yet another attempt at fixing 2412121. 2008-12-19 [r3963] Philip Aston * src/net/grinder/tools/tcpproxy/TCPProxySSLSocketFactoryImplementation.java, CHANGES: Fix bug 2412121 - Not compatible with servers that only provide SSLv3. 2008-12-19 [r3962] Philip Aston * src/net/grinder/tools/tcpproxy/TCPProxySSLSocketFactoryImplementation.java, src/HTTPClient/HTTPConnection.java, CHANGES: Fix bug 2412121 - Not compatible with servers that only provide SSLv3. 2008-12-14 [r3961] Philip Aston * src/net/grinder/engine/messages/InitialiseGrinderMessage.java, src/net/grinder/engine/agent/AbstractWorkerFactory.java, src/net/grinder/engine/process/GrinderProcess.java, src/net/grinder/engine/process/ProcessContextImplementation.java, tests-src/net/grinder/engine/process/TestProcessContextImplementation.java, tests-src/net/grinder/engine/messages/TestWorkerMessages.java, src/net/grinder/script/Grinder.java, CHANGES, src/net/grinder/engine/process/ScriptContextImplementation.java, tests-src/net/grinder/engine/process/TestScriptContextImplementation.java: Fulfil feature request 2298825 - worker number which is reset for each test run. 2008-12-14 [r3960] Philip Aston * src/net/grinder/engine/agent/AgentImplementation.java, tests-src/net/grinder/engine/agent/StubAgentIdentity.java, src/net/grinder/engine/agent/DebugThreadWorker.java, src/net/grinder/engine/agent/ProcessWorker.java, tests-src/net/grinder/engine/agent/TestDebugThreadWorker.java, src/net/grinder/engine/agent/AgentIdentityImplementation.java, tests-src/net/grinder/engine/agent/TestAgentIdentityImplementation.java, tests-src/net/grinder/engine/agent/TestDebugThreadWorkerFactory.java, tests-src/net/grinder/engine/agent/TestProcessWorkerFactory.java, src/net/grinder/engine/agent/AbstractProcessIdentityImplementation.java: Previously worker process numbers were re-used if a worker was forcibly terminated. Consequently the worker number could get out of step with the worker name. Worker process numbers are reused no longer. 2008-12-10 [r3957-3958] Philip Aston * CHANGES, src/net/grinder/plugin/http/HTTPRequest.java: Fulfill feature request 2412104 - support streaming HTTP responses. * tests-src/net/grinder/plugin/http/HTTPRequestHandler.java: Remove circular dependency. 2008-12-10 [r3955] Philip Aston * tests-src/net/grinder/plugin/http/TestHTTPRequest.java: Remove circular dependency. 2008-12-04 [r3954] Philip Aston * src/net/grinder/console/common/resources/Console_nl.properties (added), AUTHORS, CHANGES: Dutch console translation from Marc Van Giel. 2008-11-23 [r3947] Philip Aston * tests-src/net/grinder/engine/agent/TestAgentImplementation.java, src/net/grinder/engine/agent/DebugThreadWorker.java, src/net/grinder/engine/agent/IsolatedGrinderProcessRunner.java, tests-src/net/grinder/engine/agent/TestDebugThreadWorker.java, CHANGES, src/net/grinder/engine/agent/DebugThreadWorkerFactory.java, tests-src/net/grinder/engine/agent/TestDebugThreadWorkerFactory.java: Fix bug 2314157 - add grinder.debug.singleprocess.sharedclasses property. 2008-11-23 [r3946] Philip Aston * tests-src/net/grinder/testutility/RedirectStandardStreams.java: toString() 2008-11-16 [r3944] Philip Aston * CHANGES: Note FR for HTTP streaming. 2008-11-16 [r3943] Philip Aston * src/net/grinder/engine/process/jython/InstrumentedPyJavaInstanceForPyMethodsAndPyFunctions.java (removed), src/net/grinder/engine/process/jython/InstrumentedPyJavaInstanceForPyFunctions.java (added), src/net/grinder/engine/process/jython/InstrumentedPyReflectedFunction.java, src/net/grinder/engine/process/jython/InstrumentedPyInstance.java, src/net/grinder/engine/process/jython/InstrumentedPyJavaClass.java, src/net/grinder/engine/process/jython/InstrumentedPyJavaInstanceForJavaInstances.java, src/net/grinder/engine/process/jython/InstrumentationHelper.java (added), src/net/grinder/engine/process/jython/InstrumentedPyJavaInstanceForPyMethods.java (added), src/net/grinder/engine/process/jython/AbstractInstrumentedPyJavaInstance.java, src/net/grinder/engine/process/jython/JythonScriptEngine.java, tests-src/net/grinder/engine/process/jython/TestJythonScriptEngine.java: Refactor to remove duplicate code. 2008-11-16 [r3942] Philip Aston * tests-src/net/grinder/engine/process/jython/TestJythonScriptEngine.java: More tests. 2008-11-15 [r3941] Philip Aston * etc/checkstyle-suppressions.xml, src/net/grinder/engine/process/jython/InstrumentedPyJavaClass.java (added), CHANGES, src/net/grinder/engine/process/jython/JythonScriptEngine.java, tests-src/net/grinder/engine/process/jython/TestJythonScriptEngine.java: Fix bug 1580340 - Can't invoke static methods through a wrapped Java class. 2008-11-13 [r3940] Philip Aston * src/net/grinder/util/DelayedCreationFileWriter.java, src/net/grinder/communication/ClientReceiver.java, src/net/grinder/util/FileContents.java, src/net/grinder/console/swingui/Editor.java, src/net/grinder/communication/FanOutStreamSender.java, src/net/grinder/statistics/TestStatisticsMap.java, src/net/grinder/util/SleeperImplementation.java, src/net/grinder/util/URIParser.java, src/net/grinder/console/ConsoleFoundation.java, src/net/grinder/engine/process/WorkerThreadSynchronisation.java, src/net/grinder/util/ListenerSupport.java, src/net/grinder/console/distribution/FileDistribution.java, src/net/grinder/plugin/http/SlowClientBandwidthLimiterFactory.java, src/net/grinder/console/distribution/AgentCacheState.java, src/net/grinder/console/swingui/FileTreeModel.java, src/net/grinder/console/communication/server/messages/StartWorkerProcessesMessage.java, src/net/grinder/engine/agent/AgentIdentityImplementation.java, src/net/grinder/engine/process/jython/JythonScriptEngine.java, src/net/grinder/console/communication/ProcessControl.java, src/net/grinder/communication/AbstractFanOutSender.java, src/net/grinder/common/UncheckedInterruptedException.java, src/net/grinder/engine/process/DispatchContext.java, src/net/grinder/communication/FanOutServerSender.java, src/net/grinder/console/communication/ProcessControlImplementation.java, src/net/grinder/tools/tcpproxy/ConnectionDetails.java, src/net/grinder/communication/SocketWrapper.java, src/net/grinder/engine/agent/WorkerLauncher.java, src/net/grinder/script/Statistics.java, src/net/grinder/console/communication/ProcessStatusImplementation.java, src/net/grinder/console/communication/ConsoleCommunication.java, src/net/grinder/common/GrinderProperties.java, src/net/grinder/engine/process/StopWatch.java, src/net/grinder/util/thread/InterruptibleRunnable.java, src/net/grinder/console/model/SampleModel.java, src/net/grinder/communication/Acceptor.java, src/net/grinder/console/communication/ConsoleCommunicationImplementation.java: Javadoc fixes. 2008-11-13 [r3938-3939] Philip Aston * src/net/grinder/console/communication/server/messages/ResultMessage.java, tests-src/net/grinder/console/client/TestConsoleConnectionImplementation.java: Payload must be serializable. * tests-src/net/grinder/util/thread/TestThreadPool.java: Use junit assert. 2008-11-13 [r3937] Philip Aston * build.xml: Fix javadoc generation. Don't generate javadoc for the unit tests. 2008-11-09 [r3936] Philip Aston * src/net/grinder/engine/process/ProcessContext.java, src/net/grinder/engine/process/ThreadStopper.java (added), src/net/grinder/engine/process/GrinderProcess.java, src/net/grinder/engine/process/ProcessContextImplementation.java, tests-src/net/grinder/engine/process/TestProcessContextImplementation.java, src/net/grinder/engine/process/ScriptEngine.java, src/net/grinder/engine/process/ShutdownException.java, src/net/grinder/engine/process/PluginRegistryImplementation.java, CHANGES, src/net/grinder/common/SkeletonThreadLifeCycleListener.java (added), src/net/grinder/engine/process/SSLControlImplementation.java, src/net/grinder/script/Grinder.java, src/net/grinder/engine/process/ThreadContext.java, tests-src/net/grinder/engine/process/TestScriptContextImplementation.java, src/net/grinder/engine/process/ScriptContextImplementation.java, src/net/grinder/plugin/http/HTTPPluginThreadState.java, src/net/grinder/engine/process/ThreadContextImplementation.java, tests-src/net/grinder/engine/process/TestThreadContextImplementation.java: Fulfil feature request 1694369 - Ability to stop worker threads from script. 2008-11-07 [r3934] Philip Aston * src/net/grinder/engine/process/GrinderProcess.java, src/net/grinder/engine/process/ScriptEngine.java, src/net/grinder/script/Grinder.java, src/net/grinder/engine/process/ThreadStarter.java, CHANGES, src/net/grinder/engine/process/jython/JythonScriptExecutionException.java, src/net/grinder/engine/process/ScriptContextImplementation.java, tests-src/net/grinder/engine/process/TestScriptContextImplementation.java, src/net/grinder/engine/process/jython/JythonScriptEngine.java, tests-src/net/grinder/engine/process/jython/TestJythonScriptEngine.java, src/net/grinder/engine/process/GrinderThread.java, tests-src/net/grinder/engine/process/TestGrinderThread.java: Added net.grinder.ScriptContext.startWorkerThread(testRunner). 2008-11-07 [r3933] Philip Aston * tests-src/net/grinder/testutility/CallData.java: Copy with null parameters. 2008-10-25 [r3932] Philip Aston * build.xml, etc/localpaths.properties, src/net/grinder/tools/tcpproxy/AbstractTCPProxyEngine.java, etc/checkstyle-suppressions.xml, etc/checkstyle.properties, src/net/grinder/script/Grinder.java, etc/checkstyle.xml: Checkstyle fixes. 2008-10-25 [r3930-3931] Philip Aston * src/net/grinder/engine/process/ProcessContext.java, src/net/grinder/engine/process/GrinderProcess.java, src/net/grinder/engine/process/ProcessContextImplementation.java, tests-src/net/grinder/engine/process/TestGrinderProcess.java, tests-src/net/grinder/engine/process/TestProcessContextImplementation.java, etc/checkstyle.properties, CHANGES, tests-src/net/grinder/engine/process/jython/TestJythonScriptEngine.java, src/net/grinder/engine/process/jython/JythonScriptEngine.java, etc/checkstyle-suppressions.xml, src/net/grinder/script/Grinder.java, src/net/grinder/engine/process/ThreadStarter.java (added), src/net/grinder/engine/process/WorkerThreadSynchronisation.java, src/net/grinder/engine/process/ScriptContextImplementation.java, tests-src/net/grinder/engine/process/TestScriptContextImplementation.java, tests-src/net/grinder/engine/process/TestGrinderThread.java, src/net/grinder/engine/process/GrinderThread.java: Added net.grinder.ScriptContext.startWorkerThread(). * src/net/grinder/engine/communication/ConsoleListener.java: shutdown -> shut down 2008-10-25 [r3929] Philip Aston * .settings/com.cenqua.clover.core.prefs: Filter tests-src from clover compilation. 2008-10-23 [r3928] Philip Aston * TODO: Idea for surrogate tasks. 2008-10-18 [r3925-3926] Philip Aston * .settings/com.cenqua.clover.core.prefs, .pydevproject: More cruft. * src/HTTPClient/Cookie.java, tests-src/HTTPClient/TestCookie.java, CHANGES: Fix bug 1576609 - "Accept Cookie" rules too strict. 2008-10-18 [r3924] Philip Aston * .classpath: Fluff. 2008-10-13 [r3923] Philip Aston * tests-src/net/grinder/console/swingui/TestCumulativeStatisticsTableModel.java (added), tests-src/net/grinder/console/swingui/TestSampleStatisticsTableModel.java (added), tests-src/net/grinder/console/common/StubResources.java: Coverage. 2008-10-13 [r3922] Philip Aston * CHANGES, src/net/grinder/plugin/http/HTTPRequest.java, tests-src/net/grinder/plugin/http/TestHTTPRequest.java: Add stream based versions of POST, PUT, OPTIONS to HTTPRequest. 2008-10-05 [r3921] Philip Aston * src/net/grinder/console/swingui/CumulativeStatisticsTableModel.java, src/net/grinder/console/swingui/SampleStatisticsTableModel.java, src/net/grinder/console/swingui/DynamicStatisticsTableModel.java: Tsch - don't call non-final methods from constructors. 2008-10-05 [r3920] Philip Aston * .settings/com.cenqua.clover.core.prefs (added): Fluff. 2008-10-05 [r3919] Philip Aston * tests-src/net/grinder/tools/tcpproxy/TestHTTPProxyTCPProxyEngine.java: Workaround JRockit bug where it uses the wrong encoding in ByteArrayOutputStream.toString(). 2008-10-04 [r3917] Philip Aston * src/net/grinder/console/swingui/Table.java, CHANGES: Fix bug 2138601 - Moving table columns results in incorrect formatting. 2008-10-04 [r3916] Philip Aston * tests-src/net/grinder/tools/tcpproxy/TestPortForwarderTCPProxyEngine.java: Work around mysterious problem that has appeared where JRockit doesn't appear to use the correct default character encodings for ByteArrayOutputStream.toString(). 2008-09-28 [r3911] Philip Aston * src/net/grinder/engine/agent/AgentImplementation.java, CHANGES: Fix bug 2092881 - Agents do not start first time after reset if console overrides consoleHost or consolePort properties. 2008-09-28 [r3910] Philip Aston * tests-src/net/grinder/util/thread/TestThreadPool.java: Make sure we don't leave the interrupt flag set. 2008-09-28 [r3909] Philip Aston * tests-src/net/grinder/util/thread/TestThreadPool.java: Test can have a different outcome based on race. 2008-09-27 [r3907] Philip Aston * build.xml, examples/threadrampup.py (added), CHANGES: Address bug 2058502 - add example script showing how to ramp up threads. 2008-07-26 [r3905] Philip Aston * examples/proportion.py, examples/parallel.py, examples/ejb.py, examples/jdbc.py, examples/scriptlifecycle.py, examples/amazon.py, examples/email.py, examples/jaxrpc.py: threadID -> threadNumber. 2008-07-14 [r3903-3904] Philip Aston * src/net/grinder/plugin/http/tcpproxyfilter/HTTPRecordingImplementation.java, CHANGES: Fix bug 2018168 - HTTP filter generates invalid Jython variable names. * build.xml: Next might be 3.1.1. 2008-07-14 [r3902] Philip Aston * build.xml: Don't clean out the whole docs dir as it contains sources too.