You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@jmeter.apache.org by bu...@apache.org on 2018/11/27 13:15:00 UTC

[Bug 62956] New: ClientJMeterEngine leaves master hanging after slaves finishes the tests

https://bz.apache.org/bugzilla/show_bug.cgi?id=62956

            Bug ID: 62956
           Summary: ClientJMeterEngine leaves master hanging after slaves
                    finishes the tests
           Product: JMeter
           Version: 4.0
          Hardware: PC
                OS: Mac OS X 10.1
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: Main
          Assignee: issues@jmeter.apache.org
          Reporter: shuai.alex.shao@oracle.com
  Target Milestone: JMETER_5.1

Created attachment 36279
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=36279&action=edit
Both WebsocketLoadtest class and Driver class code

Hello, I am using Jmeter 4.0 for distributed testing.

On my slaves, ./bin/jmeter-server is started correctly, and master is trying to
do a websocket connection test (trivial in logic) via the slaves.

So I have a WebsocketLoadtest class which implements JavaSamplerClient for the
testing logic, and a Driver class, for driving the test. The two classes are
attached.

The test plan jmx file is generated by code as follows:

<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="4.0" jmeter="4.0 r1823414">
  <org.apache.jorphan.collections.HashTree>
    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Java Load
Test Plan">
      <elementProp name="TestPlan.user_defined_variables"
elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments"
testname="User Defined Variables" enabled="true">
        <collectionProp name="Arguments.arguments"/>
      </elementProp>
    </TestPlan>
    <org.apache.jorphan.collections.HashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup"
testname="Thread Group">
        <intProp name="ThreadGroup.num_threads">2</intProp>
        <intProp name="ThreadGroup.ramp_time">2</intProp>
        <elementProp name="ThreadGroup.main_controller"
elementType="LoopController" guiclass="LoopControlPanel"
testclass="LoopController">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <intProp name="LoopController.loops">1</intProp>
        </elementProp>
      </ThreadGroup>
      <org.apache.jorphan.collections.HashTree>
        <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler"
testname="Jmeter_LoadTest_WebsocketLoadtest">
          <elementProp name="arguments" elementType="Arguments">
            <collectionProp name="Arguments.arguments">
              <elementProp name="SleepTime" elementType="Argument">
                <stringProp name="Argument.name">SleepTime</stringProp>
                <stringProp name="Argument.value">1000</stringProp>
              </elementProp>
            </collectionProp>
          </elementProp>
          <stringProp name="classname">WebsocketLoadtest</stringProp>
        </JavaSampler>
        <org.apache.jorphan.collections.HashTree/>
      </org.apache.jorphan.collections.HashTree>
    </org.apache.jorphan.collections.HashTree>
  </org.apache.jorphan.collections.HashTree>
</jmeterTestPlan>







Now the issue is that when I trigger the Driver class, the slave seems to be
handling fine and showing:

Starting the test on host slc16lff.us.oracle.com @ Tue Nov 27 05:06:00 PST 2018
(1543323960666)
Finished the test on host slc16lff.us.oracle.com @ Tue Nov 27 05:06:02 PST 2018
(1543323962952)

However on master the main thread just hangs there (I trigger the Driver class
by gradle):

> Task :jmeterLoadTest
Test completed. See test.jtl file for results
JMeter .jmx script is available as javaTestPlan.jmx in build folder
summary +      1 in 00:00:00 =    3.9/s Avg:     0 Min:     0 Max:     0 Err:  
  1 (100.00%) Active: 0 Started: 0 Finished: 0
summary +      1 in 00:00:02 =    0.6/s Avg:     0 Min:     0 Max:     0 Err:  
  1 (100.00%) Active: 0 Started: 0 Finished: 0
summary =      2 in 00:00:02 =    1.1/s Avg:     0 Min:     0 Max:     0 Err:  
  2 (100.00%)
<===========--> 85% EXECUTING [4m 15s


Could you please help check if there's anything wrong with the way I form the
JMX file? I do notice that if I don't add the ResultCollector to the
testPlanTree then the main thread on master ends normally, however that's not
ideal because I lose all the testing result.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 62956] ClientJMeterEngine leaves master hanging after slaves finishes the tests

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62956

Philippe Mouawad <p....@ubik-ingenierie.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|NEW                         |RESOLVED
                 CC|                            |p.mouawad@ubik-ingenierie.c
                   |                            |om

--- Comment #3 from Philippe Mouawad <p....@ubik-ingenierie.com> ---
Bugzilla is not a support forum particularly for custom code.
Please ask on user mailing list.

For websocket testing, I would advise you to use:

https://bitbucket.org/pjtr/jmeter-websocket-samplers/

which can be installed with jmeter-plugins.

Regards

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 62956] ClientJMeterEngine leaves master hanging after slaves finishes the tests

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62956

Philippe Mouawad <p....@ubik-ingenierie.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|JMETER_5.1                  |---

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 62956] ClientJMeterEngine leaves master hanging after slaves finishes the tests

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62956

--- Comment #2 from shuai.alex.shao@oracle.com ---
One thing noticed is that the generated test plan doesn't contain
ResultCollector attribute, even though the java code tries to add that with:

        ResultCollector logger = new ResultCollector(summer);
        logger.setFilename(REPORT_FILE);
        testPlanTree.add(testPlanTree.getArray()[0], logger);

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 62956] ClientJMeterEngine leaves master hanging after slaves finishes the tests

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62956

--- Comment #1 from shuai.alex.shao@oracle.com ---
Created attachment 36280
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=36280&action=edit
jmeter log

jmeter log during the test

-- 
You are receiving this mail because:
You are the assignee for the bug.