Bug 50675 - CVS Data Set Config incompatible with Remote Start
CVS Data Set Config incompatible with Remote Start
Status: RESOLVED FIXED
Product: JMeter
Classification: Unclassified
Component: Main
2.4
PC Windows XP
: P2 normal (vote)
: ---
Assigned To: JMeter issues mailing list
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2011-01-27 12:43 UTC by c4339981
Modified: 2011-01-28 18:07 UTC (History)
0 users



Attachments
Test case for bug (1.87 KB, application/octet-stream)
2011-01-27 12:43 UTC, c4339981
Details

Note You need to log in before you can comment on or make changes to this bug.
Description c4339981 2011-01-27 12:43:12 UTC
Created attachment 26565 [details]
Test case for bug

I have a test which generates HTTP requests based on values parsed out of a text file. For this, obviously I use a CVS Data Set Config in conjunction with a HTTP Request.

This test works fine when run locally, but when run via Remote Start, the URLs they request contain ${VARIABLE} instead of the variable parsed from the txt file.

This was very surprising to me, not the least because none of the Jmeter docs seem to mention any such restriction, and moreover because the whole internet seems to have no mentions of anyone else having this problem. This "bug" might be a software bug, or it might be a documentation bug. If Remote Start tests can't use CVS values, then the docs should have a gigantic red box advertising that.

I have attached a minimal test case. If you run it locally, notice in the Results Tree that the requests contain values from the text file; run it remote and notice that they contain the raw variable "${PARSED_PARAM}".
Comment 1 Sebb 2011-01-27 17:40:55 UTC
I can confirm the bug, and hope to address it before too long.
Comment 2 Sebb 2011-01-27 18:03:20 UTC
Could you check the jmeter server log file please?

I suspect the problem is that the server cannot find the CSV data file.

The problem is that the JMX file is read by the client, which saves its location.
However, this is not passed on to the server, so it defaults to the server launch directory, which may mean it cannot find the data file.

A work-round is to adjust the JMeter starting directory or the relative file name or copy the data file to where it can be found.
Comment 3 Sebb 2011-01-28 07:58:47 UTC
(In reply to comment #1)
> I can confirm the bug, and hope to address it before too long.

I'm not sure it's really a bug:

The client does not send the JMX file location across to the server, but what could it send anyway?

An absolute pathname would in general be meaningless unless the directory structures are identical - the server(s) may run different OSes.

For relative paths there needs to be a fixed known point on each system - e.g. user.dir, the launch directory. But relative paths will generally only work if the JMX files all in subdirectories of the launch directory.

So there is no general solution, but in many cases it might be sufficient to calculate the calculate the relative path from user.dir to the JMX file, and send that across to establish the base directory.
Comment 4 Sebb 2011-01-28 18:07:43 UTC
I've committed some changes to SVN which resolve the issue for me:

URL: http://svn.apache.org/viewvc?rev=1064920&view=rev
Log:
Bug 50675 - CVS Data Set Config incompatible with Remote Start
Fixed RMI startup to provide location of JMX file relative to user.dir.

Modified:
   jakarta/jmeter/trunk/bin/testfiles/BatchTestLocal.csv
   jakarta/jmeter/trunk/bin/testfiles/BatchTestLocal.jmx
   jakarta/jmeter/trunk/bin/testfiles/BatchTestLocal.xml
   jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java
   jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngine.java
   jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java
   jakarta/jmeter/trunk/xdocs/changes.xml

If you want to try this in your case, use nightly build 1064920 or later.

Any problems, please re-open the issue and attach client and server log files (info level)