[jboss-jira] [JBoss JIRA] Commented: (JBPORTAL-2382) Admin portlet exception/timeout during load testing

Agustin Barriada (JIRA) jira-events at lists.jboss.org
Tue May 5 14:01:46 EDT 2009


    [ https://jira.jboss.org/jira/browse/JBPORTAL-2382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12465848#action_12465848 ] 

Agustin Barriada commented on JBPORTAL-2382:
--------------------------------------------

No, I have not tested with the subversion repository
I have tested with JBoss Portal + JBoss AS 4.2.3  	2.7.2  	Community Final Release  	2009-03-12  	LGPL,
because we found the problem with JBoss Portal 2.6.4 + JBoss AS 4.2.2

The users has been created with a LoadRunner VuGen Script performing the same actions as an admin user into the application.
But you could also create users with JMeter or some other open source testing tools.
In fact my idea was to load much more users into the database but for "external reasons" my server has been restarted an the process finished at 17800 created users. Now when I am trying to create more users running the script, the script  fails.
So I have opened a browser and login as admin, click on Admin link to go to Members and create more users but it is impossible. Just login a click Admin


Those 17000 users has been created in the Portal 2.6.4 database. Then I have backed it up and restore into another database called Portal272.
I know that maybe the structure of the database has changed so after the new failure I have analyzed the SQL Profiler from a new and clean database creating some new users.
The queries performed to the SQL Server are the same.

More over, we have found that with the 17000 database when you login in the latest version, even this action takes much more time than the previous one. But this could be because in our Portal 2.6.4 we only have private dashboard and redirect the login directly to the user dashboard (home page) nor the public home page. My test with the latest one has been performed without any portlet or code developed by us; just the software downloaded.


Have you ever tried the system with such amount of users?

> Admin portlet exception/timeout during load testing
> ---------------------------------------------------
>
>                 Key: JBPORTAL-2382
>                 URL: https://jira.jboss.org/jira/browse/JBPORTAL-2382
>             Project: JBoss Portal
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Portal Core Admin
>    Affects Versions: 2.7.2 Final
>         Environment: I have been testing in Windows and SQL Server but it doesn't matter the problem should be in the code. I have just download the latest version jboss-portal-2.7.2-bundled
>            Reporter: Agustin Barriada
>            Assignee: Chris Laprun
>            Priority: Optional
>
> When you go to administer users it seems that the admin portlet load all the dashboards nodes for all users in the JBoss Portal database.
> I could manage to administer 10000 users in the database but now, with more than 17000 users loaded, it is impossible to open the admin portlet to continue loading users.
> We want to test the system with 200000 users registered and randomly select 800 concurrent users navigating inside the portal.
> Could you please fix this issue?. I think it is the same as when you manage the search of users. You can select up to 100 user showed per page.
> Why do you need to load all the dashboards if you do not know what I want to administer?.
> If I want to change something in the user's dashboard then the admin portlet should request to search this particular dashboard to edit.
> The error is produced after executing these queries
> select      children0_.PARENT_KEY as PARENT4_1_, children0_.PK as PK1_, children0_.NAME as NAME1_, children0_.PK as PK64_0_, 
> children0_.PATH as PATH64_0_, children0_.NAME as NAME64_0_, children0_.PARENT_KEY as PARENT4_64_0_ 
> from JBP_OBJECT_NODE children0_ 
> where children0_.PARENT_KEY= 8 
> PARENT4_1_    PK1_    NAME1_           PK64_0_          PATH64_0_      NAME64_0_     PARENT4_64_0_
> 8          39        admin   39        dashboard:admin           admin   8
> 8          280       usr_0001          280       dashboard:usr_0001      usr_0001          8
> 8          296       usr_0002          296       dashboard:usr_0002      usr_0002          8
> 8          312       usr_0003          312       dashboard:usr_0003      usr_0003          8
> 8          328       usr_0004          328       dashboard:usr_0004      usr_0004          8
> 8          344       usr_0005          344       dashboard:usr_0005      usr_0005          8
> ...
> select portalobje0_.PK as PK65_0_, portalobje0_.LISTENER as LISTENER65_0_, portalobje0_4_.INSTANCE_REF as INSTANCE2_73_0_, 
> case 
> when portalobje0_1_.PK is not null then 1 
> when portalobje0_2_.PK is not null then 2 
> when portalobje0_3_.PK is not null then 3 
> when portalobje0_4_.PK is not null then 4 
> when portalobje0_.PK is not null then 0 end as clazz_0_, 
> declaredpr1_.OBJECT_KEY as OBJECT1_2_, declaredpr1_.jbp_VALUE as jbp2_2_, declaredpr1_.NAME as NAME2_, modes2_.PK as PK3_, modes2_.name as name3_, windowstat3_.PK as PK4_, windowstat3_.name as name4_ 
> from JBP_PORTAL_OBJECT portalobje0_ 
> left outer join JBP_CONTEXT portalobje0_1_ on portalobje0_.PK=portalobje0_1_.PK 
> left outer join JBP_PORTAL portalobje0_2_ on portalobje0_.PK=portalobje0_2_.PK 
> left outer join JBP_PAGE portalobje0_3_ on portalobje0_.PK=portalobje0_3_.PK 
> left outer join JBP_WINDOW portalobje0_4_ on portalobje0_.PK=portalobje0_4_.PK 
> left outer join JBP_PORTAL_OBJECT_PROPS declaredpr1_ on portalobje0_.PK=declaredpr1_.OBJECT_KEY 
> left outer join JBP_PORTAL_MODE modes2_ on portalobje0_.PK=modes2_.PK 
> left outer join JBP_PORTAL_WINDOW_STATE windowstat3_ on portalobje0_.PK=windowstat3_.PK 
> where portalobje0_.PK= 280
> And all the PK from the previous query (296, 312, 328, and so on) until timeout. Obviously it is not a solution (could be a work around) to increase the timeout
> HTTP Status 500 - 
> ________________________________________
> type Exception report
> message 
> description The server encountered an internal error () that prevented it from fulfilling this request.
> exception 
> javax.servlet.ServletException: java.lang.IllegalStateException: [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] The transaction is not active!
> 	org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.java:276)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> 	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list