Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-2960

Resurrect existing Rice load tests and update them for Rice 1.0

    Details

    • Type: Task Task
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0
    • Component/s: Testing
    • Labels:
      None
    • Similar issues:
      KULRICE-13192Resurrect and update unit tests in RuleServiceTest related to Remove/Replace Person functionality once that feature has been re-implemented
      KULRICE-2695Create a rice-sample-applications repository in SVN and update sample embedded and thin client examples from 0.9.2/0.9.3 and put them in there
      KULRICE-381Resurrect the Route Queue screen
      KULRICE-3273Get Rice 1.0 tests to 100% prior to merging 1.0 with 1.0.x branch
      KULRICE-14212CI: Setup Rice 1.0 Release Jobs
      KULRICE-2011Work with KFS team to setup KFS to run with Standalone Rice 1.0
      KULRICE-1576Analyze all tests currently marked as @Ignore in the Rice codebase and resurrect as many as possible
      KULRICE-13533Create a load balanced, clustered rice environment for load / performance testing.
      KULRICE-215Test load balancing of Rice components
      KULRICE-13592Kuali Rice Remote Load Test Client in CI

      Description

      Existing project can be found here:

      https://test.kuali.org/svn/rice_load_tests/trunk/

      Couple of things on this, if i recall, the load tests that are in there focus on KEW load testing (thing like doc search, action list, route log, etc, document routing, searchable attribute indexing, etc.). It would be nice to also set up some load tests that exercise the KNS. We may want to look at developing some tests against the recipe app once that's deployed to the test environments.

        Issue Links

          Activity

          Hide
          Peter Giles (Inactive) added a comment -
          • Still need to try it out on another dev box, but the checked in version should be usable now.
          • the ant build creates the eclipse project files.
          • Still don't have yjp connectivity to wsa131.uits.indiana.edu at this time (!!)
          • hoping to hear back from IU ESA tomorrow morning. Frustrating!
          Show
          Peter Giles (Inactive) added a comment - Still need to try it out on another dev box, but the checked in version should be usable now. the ant build creates the eclipse project files. Still don't have yjp connectivity to wsa131.uits.indiana.edu at this time (!!) hoping to hear back from IU ESA tomorrow morning. Frustrating!
          Hide
          Peter Giles (Inactive) added a comment -
          • Tested setting up the load tests on a virgin VM, and documented the process here:
          • https://test.kuali.org/confluence/display/KULRICE/Rice+Load+Tests
          • Eric, you may have a different location in mind for this (I put it under KRICE Kuali Rice > Home > Development Team Home > Developer Documentation), just let me know where you think it belongs.
          • Note that I am still going back and forth with IU's ESA trying to gain network access to the yjp agent at wsa131.uits.indiana.edu:10000
          Show
          Peter Giles (Inactive) added a comment - Tested setting up the load tests on a virgin VM, and documented the process here: https://test.kuali.org/confluence/display/KULRICE/Rice+Load+Tests Eric, you may have a different location in mind for this (I put it under KRICE Kuali Rice > Home > Development Team Home > Developer Documentation), just let me know where you think it belongs. Note that I am still going back and forth with IU's ESA trying to gain network access to the yjp agent at wsa131.uits.indiana.edu:10000
          Hide
          Peter Giles (Inactive) added a comment -
          • Resolved networking issue.
          • ESA discovered that the border filter at IU blocks port 10000 inbound.
          • The agent is now running on wsa131.uits.indiana.edu:20000
          • New issue is a profiler version mismatch with the agent on that host.
          • Error message is "Communication with the profiled application failed. The profiled application has been started with profiler agent incompatible with the current version of the profiler. Detail: Unknown packet type: 102400. Reason: agent and profiler UI version mismatch".
          • Requested that the agent be upgraded to the current version (8.0.9).
          Show
          Peter Giles (Inactive) added a comment - Resolved networking issue. ESA discovered that the border filter at IU blocks port 10000 inbound. The agent is now running on wsa131.uits.indiana.edu:20000 New issue is a profiler version mismatch with the agent on that host. Error message is "Communication with the profiled application failed. The profiled application has been started with profiler agent incompatible with the current version of the profiler. Detail: Unknown packet type: 102400. Reason: agent and profiler UI version mismatch". Requested that the agent be upgraded to the current version (8.0.9).
          Hide
          Peter Giles (Inactive) added a comment -

          Casey and I got all ready to run the load tests today but we were thwarted by a problem with the data in the db which resulted in not being able to ingest the load testing data. On mysql I pinpointed the problem to be that krew_doc_hdr_s.id has a value that is too low (lower than the max krew_doc_typ_t.doc_typ_id value). Eventually I was able to get the file to ingest by having Casey update the database that kr-cnv is running against, but too late to do load testing today. Tomorrow!

          Show
          Peter Giles (Inactive) added a comment - Casey and I got all ready to run the load tests today but we were thwarted by a problem with the data in the db which resulted in not being able to ingest the load testing data. On mysql I pinpointed the problem to be that krew_doc_hdr_s.id has a value that is too low (lower than the max krew_doc_typ_t.doc_typ_id value). Eventually I was able to get the file to ingest by having Casey update the database that kr-cnv is running against, but too late to do load testing today. Tomorrow!
          Hide
          Peter Giles (Inactive) added a comment -

          I was able to do some preliminary testing yesterday. However, with 10 concurrent client threads I quickly run into issues where the db connection pool is being exhausted. I'm now investigating that issue.

          Show
          Peter Giles (Inactive) added a comment - I was able to do some preliminary testing yesterday. However, with 10 concurrent client threads I quickly run into issues where the db connection pool is being exhausted. I'm now investigating that issue.
          Hide
          Peter Giles (Inactive) added a comment -

          Some progress, still not where I'd like to be.

          • Bumped up the datasource.pool.maxSize to 50 which took care of the connection pool issues.
          • Had to hack things a bit to get login working with CAS.
          • Ran into strange issue on action list & lookup screens where HtmlUnit gets a page that includes <script language="JavaScript" type="text/javascript" src="/kr-cnv/dwr/interface/UserService.js"> (which isn't there and blows up the test) and I haven't been able to repro externally.
          • Within Firefox the page instead references PersonService.js which is there (dynamically generated by dwr it seems).
          • Jim found this https://test.kuali.org/svn/rice/branches/rice-release-1-0-0-br/scripts/UniversalUserToPerson.groovy script that has a line that looks like: [ 'UserService
            .js', 'PersonService
            .js' ],

          Not sure what it all means right now. Hopefully I'll have a better idea when I come back to this fresh next week.

          Show
          Peter Giles (Inactive) added a comment - Some progress, still not where I'd like to be. Bumped up the datasource.pool.maxSize to 50 which took care of the connection pool issues. Had to hack things a bit to get login working with CAS. Ran into strange issue on action list & lookup screens where HtmlUnit gets a page that includes <script language="JavaScript" type="text/javascript" src="/kr-cnv/dwr/interface/UserService.js"> (which isn't there and blows up the test) and I haven't been able to repro externally. Within Firefox the page instead references PersonService.js which is there (dynamically generated by dwr it seems). Jim found this https://test.kuali.org/svn/rice/branches/rice-release-1-0-0-br/scripts/UniversalUserToPerson.groovy script that has a line that looks like: [ 'UserService .js', 'PersonService .js' ], Not sure what it all means right now. Hopefully I'll have a better idea when I come back to this fresh next week.
          Hide
          Geoff McGregor added a comment -

          FWIW, when KC upgrade to 1.1 from 0.9.3, we had the same issue with UserService.js. We fixed it by replacing 'UserService.js' with 'PersonService.js' in the 'javascript.files' param in our external <app>-test-config.xml file.

          Show
          Geoff McGregor added a comment - FWIW, when KC upgrade to 1.1 from 0.9.3, we had the same issue with UserService.js. We fixed it by replacing 'UserService.js' with 'PersonService.js' in the 'javascript.files' param in our external <app>-test-config.xml file.
          Hide
          Peter Giles (Inactive) added a comment -

          Since kr-cnv was out of date when I did the load tests, I was going to run them again today. Unfortunately there is something weird with kr-cnv now that prevents me from accessing services on the bus. Locally I'm getting

          org.springframework.remoting.RemoteAccessException: Cannot access HTTP invoker remote service at https://test.kuali.org/kr-cnv/remoting/WorkflowDocumentActionsService; nested exception is org.kuali.rice.ksb.messaging.HttpException: Did not receive successful HTTP response: status code = 500, status message = [Internal Server Error]
          Caused by: org.kuali.rice.ksb.messaging.HttpException: Did not receive successful HTTP response: status code = 500, status message = [Internal Server Error]
          at org.kuali.rice.ksb.messaging.KSBHttpInvokerRequestExecutor.validateResponse(KSBHttpInvokerRequestExecutor.java:129)
          at org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor.doExecuteRequest(CommonsHttpInvokerRequestExecutor.java:101)
          ...

          and when I try to go to the service url through a browser I get a 500 error with

          org.kuali.rice.core.exception.RiceRuntimeException: Attempting to acquire non-existent service.
          org.kuali.rice.ksb.messaging.servlet.KSBDispatcherServlet.isSecure(KSBDispatcherServlet.java:146)
          org.kuali.rice.ksb.messaging.servlet.KSBDispatcherServlet.service(KSBDispatcherServlet.java:131)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
          org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:66)

          I can see the services registered on the bus, but they are to specific ip & port combos e.g. http://129.79.216.129:8806/kr-cnv/remoting/WorkflowDocumentActionsService and I'm not sure what the mechanism is to forward the test.kuali.org http requests is.

          Show
          Peter Giles (Inactive) added a comment - Since kr-cnv was out of date when I did the load tests, I was going to run them again today. Unfortunately there is something weird with kr-cnv now that prevents me from accessing services on the bus. Locally I'm getting org.springframework.remoting.RemoteAccessException: Cannot access HTTP invoker remote service at https://test.kuali.org/kr-cnv/remoting/WorkflowDocumentActionsService ; nested exception is org.kuali.rice.ksb.messaging.HttpException: Did not receive successful HTTP response: status code = 500, status message = [Internal Server Error] Caused by: org.kuali.rice.ksb.messaging.HttpException: Did not receive successful HTTP response: status code = 500, status message = [Internal Server Error] at org.kuali.rice.ksb.messaging.KSBHttpInvokerRequestExecutor.validateResponse(KSBHttpInvokerRequestExecutor.java:129) at org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor.doExecuteRequest(CommonsHttpInvokerRequestExecutor.java:101) ... and when I try to go to the service url through a browser I get a 500 error with org.kuali.rice.core.exception.RiceRuntimeException: Attempting to acquire non-existent service. org.kuali.rice.ksb.messaging.servlet.KSBDispatcherServlet.isSecure(KSBDispatcherServlet.java:146) org.kuali.rice.ksb.messaging.servlet.KSBDispatcherServlet.service(KSBDispatcherServlet.java:131) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:66) I can see the services registered on the bus, but they are to specific ip & port combos e.g. http://129.79.216.129:8806/kr-cnv/remoting/WorkflowDocumentActionsService and I'm not sure what the mechanism is to forward the test.kuali.org http requests is.
          Hide
          Eric Westfall added a comment -

          Bulk change of all Rice 1.0 issues to closed after public release.

          Show
          Eric Westfall added a comment - Bulk change of all Rice 1.0 issues to closed after public release.

            People

            • Assignee:
              Peter Giles (Inactive)
              Reporter:
              Eric Westfall
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 2 weeks
                2w
                Remaining:
                Remaining Estimate - 2 weeks
                2w
                Logged:
                Time Spent - Not Specified
                Not Specified

                  Structure Helper Panel