search_path and plugin_dependency_paths property on remote hosts

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

search_path and plugin_dependency_paths property on remote hosts

Andrew Burton
Hi list,

When running JMeter in master-slave mode, I have a number of JARs that are
in a shared directory which is mounted by all of the slaves when they
launch.

On the master, I use the search_paths and plugin_dependency_paths command
line options to specify that this is where JMeter should look for all the
JARs. This works fine for JMeter when running in non-distributed mode, but
I get the following error on the master when running in distributed mode:

    Apr 12, 2019 2:49:41 PM java.util.prefs.FileSystemPreferences$1 run
    INFO: Created user preferences directory.
    Created the tree successfully using
/testartifacts/src/test/jmeter/scenario-eom.jmx
    Configuring remote engine: 10.244.0.25
    Starting remote engines
    Starting the test @ Fri Apr 12 14:49:48 AEST 2019 (1555044588419)
    Error in rconfigure() method java.rmi.ServerException: RemoteException
occurred in server thread; nested exception is:
        java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is:
        java.lang.ClassNotFoundException:
au.com.mycompany.jmeter.reporters.TimingListener (no security manager: RMI
class loader disabled)
    Remote engines have been started
    Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445

I use -J and -G with no success. Do I need a different way to specify the
classpaths (and the location of the JARs) on the servers?

I don't want to download the JARs to the JMeter directory, as explicitly
setting search_paths and plugin_dependency_paths means I can manage the
JARs in one place, rather than having to do it on each server.

Thanks

Andrew
Reply | Threaded
Open this post in threaded view
|

Re: search_path and plugin_dependency_paths property on remote hosts

Andrew Burton
Thinking a little, I realised that setting the search and dependency paths
via the master had no impact on the server, since the server has already
started.

Would setting the classpath on the server be a way to specify alternate JAR
paths?

On Fri, Apr 12, 2019 at 4:32 PM Andrew Burton <[hidden email]>
wrote:

> Hi list,
>
> When running JMeter in master-slave mode, I have a number of JARs that are
> in a shared directory which is mounted by all of the slaves when they
> launch.
>
> On the master, I use the search_paths and plugin_dependency_paths command
> line options to specify that this is where JMeter should look for all the
> JARs. This works fine for JMeter when running in non-distributed mode, but
> I get the following error on the master when running in distributed mode:
>
>     Apr 12, 2019 2:49:41 PM java.util.prefs.FileSystemPreferences$1 run
>     INFO: Created user preferences directory.
>     Created the tree successfully using
> /testartifacts/src/test/jmeter/scenario-eom.jmx
>     Configuring remote engine: 10.244.0.25
>     Starting remote engines
>     Starting the test @ Fri Apr 12 14:49:48 AEST 2019 (1555044588419)
>     Error in rconfigure() method java.rmi.ServerException: RemoteException
> occurred in server thread; nested exception is:
>         java.rmi.UnmarshalException: error unmarshalling arguments; nested
> exception is:
>         java.lang.ClassNotFoundException:
> au.com.mycompany.jmeter.reporters.TimingListener (no security manager: RMI
> class loader disabled)
>     Remote engines have been started
>     Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
>
> I use -J and -G with no success. Do I need a different way to specify the
> classpaths (and the location of the JARs) on the servers?
>
> I don't want to download the JARs to the JMeter directory, as explicitly
> setting search_paths and plugin_dependency_paths means I can manage the
> JARs in one place, rather than having to do it on each server.
>
> Thanks
>
> Andrew
>
Reply | Threaded
Open this post in threaded view
|

Re: search_path and plugin_dependency_paths property on remote hosts

Philippe Mouawad
Hello,
As you wrote, you need to set on both client and server nodes the classpath
and they should be targeting same jars for any class involved in test plan
as it is sent by client to servers.

I hope I answer your question.
Regards

On Sunday, April 14, 2019, Andrew Burton <[hidden email]> wrote:

> Thinking a little, I realised that setting the search and dependency paths
> via the master had no impact on the server, since the server has already
> started.
>
> Would setting the classpath on the server be a way to specify alternate JAR
> paths?
>
> On Fri, Apr 12, 2019 at 4:32 PM Andrew Burton <[hidden email]>
> wrote:
>
> > Hi list,
> >
> > When running JMeter in master-slave mode, I have a number of JARs that
> are
> > in a shared directory which is mounted by all of the slaves when they
> > launch.
> >
> > On the master, I use the search_paths and plugin_dependency_paths command
> > line options to specify that this is where JMeter should look for all the
> > JARs. This works fine for JMeter when running in non-distributed mode,
> but
> > I get the following error on the master when running in distributed mode:
> >
> >     Apr 12, 2019 2:49:41 PM java.util.prefs.FileSystemPreferences$1 run
> >     INFO: Created user preferences directory.
> >     Created the tree successfully using
> > /testartifacts/src/test/jmeter/scenario-eom.jmx
> >     Configuring remote engine: 10.244.0.25
> >     Starting remote engines
> >     Starting the test @ Fri Apr 12 14:49:48 AEST 2019 (1555044588419)
> >     Error in rconfigure() method java.rmi.ServerException:
> RemoteException
> > occurred in server thread; nested exception is:
> >         java.rmi.UnmarshalException: error unmarshalling arguments;
> nested
> > exception is:
> >         java.lang.ClassNotFoundException:
> > au.com.mycompany.jmeter.reporters.TimingListener (no security manager:
> RMI
> > class loader disabled)
> >     Remote engines have been started
> >     Waiting for possible Shutdown/StopTestNow/Heapdump message on port
> 4445
> >
> > I use -J and -G with no success. Do I need a different way to specify the
> > classpaths (and the location of the JARs) on the servers?
> >
> > I don't want to download the JARs to the JMeter directory, as explicitly
> > setting search_paths and plugin_dependency_paths means I can manage the
> > JARs in one place, rather than having to do it on each server.
> >
> > Thanks
> >
> > Andrew
> >
>


--


[image: logo Ubik Ingenierie] <https://www.ubik-ingenierie.com> Philippe
Mouawad
Senior Performance Expert
320914981 <+33320914981> | [hidden email]
[image: ubik-ingenierie.com] ubik-ingenierie.com
<https://www.ubik-ingenierie.com> | [image: 03.20.91.49.81] 03.20.91.49.81
<+33320914981> | [image: 23 rue du chemin de fer , 59100 , Roubaix] 23 rue
du chemin de fer, 59100, Roubaix
<https://www.openstreetmap.org/#map=18/50.69454/3.16455>
Philippe M.
@philmdot
http://ubikloadpack.com
Reply | Threaded
Open this post in threaded view
|

Re: search_path and plugin_dependency_paths property on remote hosts

Andrew Burton
Just to be specific, on the server this is done through the use of the
-Duser.classpath=/path1:/path2 (on Linux) or
-Duser.classpath=c:\path1;c:\path2 (on Windows).

I found the documentation confusing in that there is the distinction
between the lib and lib/ext directories on the client (for search_paths and
dependency_paths), but the user.classpath option does not care? What
scenarios would I use search_paths / plugin_dependency_paths instead of
user.classpath, and vice versa?


On Sun, Apr 14, 2019 at 10:39 PM Philippe Mouawad <
[hidden email]> wrote:

> Hello,
> As you wrote, you need to set on both client and server nodes the classpath
> and they should be targeting same jars for any class involved in test plan
> as it is sent by client to servers.
>
> I hope I answer your question.
> Regards
>
> On Sunday, April 14, 2019, Andrew Burton <[hidden email]>
> wrote:
>
> > Thinking a little, I realised that setting the search and dependency
> paths
> > via the master had no impact on the server, since the server has already
> > started.
> >
> > Would setting the classpath on the server be a way to specify alternate
> JAR
> > paths?
> >
> > On Fri, Apr 12, 2019 at 4:32 PM Andrew Burton <
> [hidden email]>
> > wrote:
> >
> > > Hi list,
> > >
> > > When running JMeter in master-slave mode, I have a number of JARs that
> > are
> > > in a shared directory which is mounted by all of the slaves when they
> > > launch.
> > >
> > > On the master, I use the search_paths and plugin_dependency_paths
> command
> > > line options to specify that this is where JMeter should look for all
> the
> > > JARs. This works fine for JMeter when running in non-distributed mode,
> > but
> > > I get the following error on the master when running in distributed
> mode:
> > >
> > >     Apr 12, 2019 2:49:41 PM java.util.prefs.FileSystemPreferences$1 run
> > >     INFO: Created user preferences directory.
> > >     Created the tree successfully using
> > > /testartifacts/src/test/jmeter/scenario-eom.jmx
> > >     Configuring remote engine: 10.244.0.25
> > >     Starting remote engines
> > >     Starting the test @ Fri Apr 12 14:49:48 AEST 2019 (1555044588419)
> > >     Error in rconfigure() method java.rmi.ServerException:
> > RemoteException
> > > occurred in server thread; nested exception is:
> > >         java.rmi.UnmarshalException: error unmarshalling arguments;
> > nested
> > > exception is:
> > >         java.lang.ClassNotFoundException:
> > > au.com.mycompany.jmeter.reporters.TimingListener (no security manager:
> > RMI
> > > class loader disabled)
> > >     Remote engines have been started
> > >     Waiting for possible Shutdown/StopTestNow/Heapdump message on port
> > 4445
> > >
> > > I use -J and -G with no success. Do I need a different way to specify
> the
> > > classpaths (and the location of the JARs) on the servers?
> > >
> > > I don't want to download the JARs to the JMeter directory, as
> explicitly
> > > setting search_paths and plugin_dependency_paths means I can manage the
> > > JARs in one place, rather than having to do it on each server.
> > >
> > > Thanks
> > >
> > > Andrew
> > >
> >
>
>
> --
>
>
> [image: logo Ubik Ingenierie] <https://www.ubik-ingenierie.com> Philippe
> Mouawad
> Senior Performance Expert
> 320914981 <+33320914981> | [hidden email]
> [image: ubik-ingenierie.com] ubik-ingenierie.com
> <https://www.ubik-ingenierie.com> | [image: 03.20.91.49.81] 03.20.91.49.81
> <+33320914981> | [image: 23 rue du chemin de fer , 59100 , Roubaix] 23 rue
> du chemin de fer, 59100, Roubaix
> <https://www.openstreetmap.org/#map=18/50.69454/3.16455>
>