6 Replies Latest reply on Sep 30, 2015 4:19 PM by Eric Knutson

    Tabjolt "Failed to set up load test session" Errors

    Eric Knutson

      Hi,

       

      When I am trying to run TabJolt I get the result pasted below consistently and I have gone through my configuration many times:

      the first java error is "populateVizFromCSV". After the failed run I do get .tsv files that appear to have at least some results and they appear to be getting data from our server nodes. Is there a configuration I need to change? The closest thing I found was in the dataretriever.config file the paths to these files where named:


      <jmx duration="300" outputFile="d:\jmxcounter.csv">  

      <jmx duration="300" outputFile="d:\\zabbixcounter.csv">  

       

      So I changed them to this and got the same results:

       

      <jmx duration="300" outputFile="c:\tabjolt\results\jmxcounter.csv">  

      <jmx duration="300" outputFile="c:\tabjolt\results\zabbixcounter.csv">  

       

      Is this just because it is crashing before the .csv results are generated? Or maybe because .tsv results are generated and will not load into the Tabjolt postgres db and that is causing it to crash?

       

       

      What I get when I try a load test:

       

       

      PS C:\tabjolt> ./go --t=testplans\ViewVizLoadTest.jmx --d=240 --c=1

      Perf harness is started with parameters: --rootPath=C:\tabjolt --t=testplans\ViewVizLoadTest.jmx --d=240 --c=1

      -------------start collecting JMX counters--------------

      Output File:C:\tabjolt/results/2015-09-29_14-49-42/jmxcounter.tsv

      -------------start collecting Zabbix counters--------------

      Output File:C:\tabjolt/results/2015-09-29_14-49-42/zabbixcounter.tsv

      -------------start windows performance counters collection-------------

      Output File:c:\tabjolt/results/2015-09-29_14-49-42/wincounter.tsv

      -------------start Jmeter load test run-------------

      Output file: C:\tabjolt/results/2015-09-29_14-49-42/result.jtl

      Command: [C:\tabjolt/bin/jmeter.bat, -n, -t=C:\tabjolt//testplans\ViewVizLoadTest.jmx, -j=C:\tabjolt/logs/jmeter_2015-09

      -29_14-49-42.log, -JthreadCount=1, -Jduration=240, -JconfigFolderPath=C:\tabjolt/config/, -Jlogpath=C:\tabjolt/results/2

      015-09-29_14-49-42/result.jtl]

      Created the tree successfully using C:\tabjolt//testplans\ViewVizLoadTest.jmx

      Starting the test @ Tue Sep 29 14:49:44 EDT 2015 (1443552584927)

      Waiting for possible shutdown message on port 4445

      FATAL [2015-09-29 14:49:45,780][setUp Thread Group 1-1] (LoadSessionSetup.java:57)   - Failed to set up load test sessio

      n. Stopping the test run.

      java.lang.NullPointerException

              at com.tableausoftware.test.server.perfTestSuite.ViewFetcher.populateVizFromCSV(ViewFetcher.java:282)

              at com.tableausoftware.test.server.perfTestSuite.ViewFetcher.initialize(ViewFetcher.java:80)

              at com.tableausoftware.test.server.perfTestSuite.ViewFetcher.initialize(ViewFetcher.java:102)

              at com.tableausoftware.test.server.perfTestSuite.LoadSessionSetup.runTest(LoadSessionSetup.java:47)

              at org.apache.jmeter.protocol.java.sampler.JavaSampler.sample(JavaSampler.java:191)

              at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429)

              at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)

              at java.lang.Thread.run(Unknown Source)

      Tidying up ...    @ Tue Sep 29 14:49:45 EDT 2015 (1443552585875)

      ... end of run

      Jmeter process has exited. Waiting for the other processes to exit.

      Waiting for processes "Windows Perf Counter Data Retriever;JMX/Zabbix Counter Data Retriever" to complete. 30 seconds ha

      ve elapsed.

      Waiting for processes "Windows Perf Counter Data Retriever;JMX/Zabbix Counter Data Retriever" to complete. 60 seconds ha

      ve elapsed.

      Timeout of Waiting for processes "Windows Perf Counter Data Retriever;JMX/Zabbix Counter Data Retriever" to complete. K

      llinng the processes.

      killing process Windows Perf Counter Data Retriever

      Successfully killed process Windows Perf Counter Data Retriever

      killing process JMX/Zabbix Counter Data Retriever

      Successfully killed process JMX/Zabbix Counter Data Retriever

      All processes have exited.

      -------------start processing perf counters and run result-------------

      Finish processeing all Jmeter perf result samples.

      Unable to parse line "1443552766196     ODEONSP2001     P"

      Finished processing all perf counter records

      Failed to process perf counters and run result.

      org.postgresql.util.PSQLException: ERROR: division by zero

        Where: SQL statement "UPDATE test_runs

                      SET TPS_average=(

                                   totalSamples/totalseconds

                               )

                      WHERE id=runId"

      PL/pgSQL function sp_update_test_run_stats(integer) line 116 at SQL statement

              at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)

              at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)

              at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)

              at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:560)

              at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)

              at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:359)

              at com.tableausoftware.test.tools.ResultProcessor.DBHelper.updateTestRunStats(DBHelper.java:189)

              at com.tableausoftware.test.tools.ResultProcessor.ResultProcessor.startProcessing(ResultProcessor.java:86)

              at com.tableausoftware.test.tools.perfRunHarness.Main.startPerfResultsSaver(Main.java:111)

              at com.tableausoftware.test.tools.perfRunHarness.Main.main(Main.java:77)

       

       

      And I see lines such as this in the .tsv results file:

       

      1443547458376ODEONSP2001tableau.health.jmx:name=searchservicePerformanceMetrics.RequestFailedWithVersionConflictvizqlserver#10
      1443547458376ODEONSP2001tableau.health.jmx:name=searchservicePerformanceMetrics.AverageSendLatencyvizqlserver#10.0
      1443547458376ODEONSP2001tableau.health.jmx:name=searchservicePerformanceMetrics.RequestFailedvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.InProcessQueryCacheMissesvizqlserver#1114
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.SharedSessionsPossibleCandidateInsertsvizqlserver#15
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.ImageCacheMissesvizqlserver#112
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.SharedSessionsLoadWorkbookTotalHitsvizqlserver#14
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.InProcessAbstractQueryCacheMissesvizqlserver#1124
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.ExternalQueryCacheMissesvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.VisualModelCachePartialHitsvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.SharedSessionsPartialPossibleCandidateHitsvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.SessionsInFlightvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.SharedSessionsFullPossibleCandidateHitsvizqlserver#14
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.ExternalAbstractQueryCacheHitsvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.InProcessAbstractQueryCacheHitsvizqlserver#1100
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.SharedSessionsPartialSharedHitsvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.ExternalQueryCacheHitsvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.ImageCacheHitsvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.SharedSessionsFullSharedHitsvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.ActiveSessionsvizqlserver#1-3
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.VisualModelCacheMissesvizqlserver#18
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.VisualModelCacheHitsvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.InProcessQueryCacheHitsvizqlserver#110
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.SceneModelCacheMissesvizqlserver#18
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.SharedSessionsTransitionsToPrivateSessionDatavizqlserver#14
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.SceneModelCacheHitsvizqlserver#10
      1443547458373ODEONSP2001tableau.health.jmx:name=vizqlservicePerformanceMetrics.ExternalAbstractQueryCacheMissesvizqlserver#132
      1443547458396ODEONSP2001java.lang:type=MemoryNonHeapMemoryUsage.usedvizqlserver#1128508568
      1443547458396ODEONSP2001java.lang:type=MemoryNonHeapMemoryUsage.initvizqlserver#12555904
      1443547458396ODEONSP2001java.lang:type=MemoryNonHeapMemoryUsage.committedvizqlserver#1132964352
      1443547458396ODEONSP2001java.lang:type=MemoryNonHeapMemoryUsage.maxvizqlserver#1-1
      1443547458393ODEONSP2001java.lang:type=MemoryHeapMemoryUsage.maxvizqlserver#1514523136
      1443547458393ODEONSP2001java.lang:type=MemoryHeapMemoryUsage.usedvizqlserver#1182183080
      1443547458393ODEONSP2001java.lang:type=MemoryHeapMemoryUsage.initvizqlserver#1536870912
      1443547458393ODEONSP2001java.lang:type=MemoryHeapMemoryUsage.committedvizqlserver#1514523136
      1443547458403ODEONSP2001java.lang:type=RuntimeUptimevizqlserver#1123085826
        • 1. Re: Tabjolt "Failed to set up load test session" Errors
          kaifeng zeng

          The exception indicates that it is failing to read from vizpool.csv file. Did you follow the proper format? It has to be:

          /views/Regional/Economy

          1 of 1 people found this helpful
          • 2. Re: Tabjolt "Failed to set up load test session" Errors
            Eric Knutson

            Yes, I did do that, but you also have to add a number afterwards, don't you?  This is what I have in C:\TabJolt\config\vizpool.csv:

            /views/airvanaOMReporting/EfemtoReportingHistory/25

             

            Do you think it a path to the file? To me the paths look weird when it executes, but maybe it is normal. For example:

            ./go --t=testplans\InteractVizLoadTest.jmx --d=240 --c=1

             

            gives this output:

            Command: [C:\tabjolt/bin/jmeter.bat, -n, -t=C:\tabjolt//testplans\InteractVizLoadTest.jmx, -j=C:\tabjolt/logs/jmeter_201

            5-09-30_17-37-37.log, -JthreadCount=1, -Jduration=240, -JconfigFolderPath=C:\tabjolt/config/, -Jlogpath=C:\tabjolt/resul

            ts/2015-09-30_17-37-37/result.jtl]

             

            Not sure why there are double \\ in them

            • 3. Re: Tabjolt "Failed to set up load test session" Errors
              kaifeng zeng

              The number at the end is optional now. I am not sure if you have a new line or tab or space anywhere in the file. Could you please revert the file to the one you just downloaded from github and try.

               

              There is a new option in perftestconfig.yaml file. You can change "vizDataSource: csv" to "vizDataSource: web". It will get all the available vizzes from server and randomly load them without relying on vizpool.csv file. Note that you will need to enter admin user name and password to servertestconfig.yaml file to allow tabjolt to discover all the available vizzes.

              1 of 1 people found this helpful
              • 4. Re: Tabjolt "Failed to set up load test session" Errors
                Eric Knutson

                I think you are on to something...right before I read this I found out you can change uncomment this line and comment out the other in the log4j.properties file:

                # enable the following line and disable the line above, if you want to turn on verbose logging to troubleshoot issue

                log4j.rootLogger=ALL, stdout, logfile

                #log4j.logger.com.tableausoftware.test.tools=info, logfile

                 

                After I ran it in extra verbose mode I got this, which means you're right that there where tabs in the dataretriever.yaml file, and tabs are outlawed in yaml.

                [config] in tree of [C:\TabJolt\lib\ext]

                INFO  [2015-09-30 18:16:39,827][setUp Thread Group 1-1] (AbstractConfig.java:122)   - Reading configuration from [C:\Tab

                Jolt\config\ServerTestConfig.yaml]

                INFO  [2015-09-30 18:16:39,827][setUp Thread Group 1-1] (AbstractConfig.java:126)   - Using testConfigOverride:

                ERROR [2015-09-30 18:16:39,827][setUp Thread Group 1-1] (AbstractConfig.java:136)   - Failed to load config from yaml file.

                while scanning for the next token

                found character          '\t(TAB)' that cannot start any token. (Do not use \t(TAB) for indentation)

                in 'string', line 6, column 1:

                    ^

                        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:420)

                    

                Now I have a new problem! Getting this:

                INFO  [2015-09-30 18:26:38,146][setUp Thread Group 1-1] (AbstractConfig.java:126)   - Using testConfigOverride:

                ERROR [2015-09-30 18:26:38,240][setUp Thread Group 1-1] (AbstractConfig.java:136)   - Failed to load config from yaml fi

                le.

                Cannot create property=database for JavaBean=com.tableausoftware.test.server.configuration.ServerTestConfig@590bca7e

                in 'string', line 2, column 5:

                        hostUri: http://192.168.202.1

                        ^

                Cannot create property=users for JavaBean=com.tableausoftware.test.server.configuration.DatabaseConnection@33336d33; Una

                ble to find property 'users' on class: com.tableausoftware.test.server.configuration.DatabaseConnection;  in 'string', l

                ine 20, column 9:

                            - !!com.tableausoftware.test.ser ...

                            ^

                in 'string', line 9, column 9:

                            connectionString: jdbc:postgresq ...

                            ^

                • 5. Re: Tabjolt "Failed to set up load test session" Errors
                  kaifeng zeng

                  Check if you have tab before or after hostUri: http://192.168.202.1. I will suggest you to revert the servertestconfig.yaml to the one which you just downloaded from github and make update to it.

                  1 of 1 people found this helpful
                  • 6. Re: Tabjolt "Failed to set up load test session" Errors
                    Eric Knutson

                    Think I got it! I just ran a test successfully. After I removed the tabs from the dataretriever file I was getting an error when the user property was being loaded: no single argument constructor found for class. The problem was I needed a space after the colon for this:

                    users:

                            - !!com.tableausoftware.test.server.configuration.User        

                              name: eric.2.knutson@sprint.com

                              password: xxxxxxxx

                     

                    Thanks again for your help!!  It looks like it ran so going to start looking at it now!