[GLASSFISH-11789] HA in memory test. 45% of the tests failed on OEL, 30% failed on Windows. Created: 12/Apr/10  Updated: 13/Oct/10

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: v2.1.2
Fix Version/s: future release

Type: Bug Priority: Critical
Reporter: easarina Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: All


Issuezilla Id: 11,789
Tags: 3_1-exclude

 Description   

Were used three OEL 5.4 machines and build 02e (the last stable build). Was
created a cluster (9 instances, 3 instances per a machine; one NA per a
machine, 3 instances per a NA).

I've run a full HA in memory test against this installation, but 45% of the
tests failed. I did not see any specific issues. The same test can fail and
then pass at the next run, then again fail and so on. The tests fail because
some information was not saved or was not retrieved.

Basically was seen instability.

Just for example I've took one test and run it 10 times. From these 10 runs
this particular test passed 3 times and failed 7 times. In general, "simple"
tests passed more often then "complicated" tests.

When that test passed, was seen: "TEST RECOVERY OF JNDI InitialContext
REFERENCE : Validated!"

When it failed, was seen: "TEST RECOVERY OF JNDI InitialContext REFERENCE :
Initial Context Reference not found"

I've made a full HA run with the same configuration against the same build
02e on SuSE 11, only 6 tests from 524 tests totally - failed, i.e. about 1% of
tests failed.

But on windows machines (the same build, the same configuration) - 30% of the
tests failed.

Please see the full result of OEL run at:
http://agni-1.sfbay.sun.com/asqe-
logs/export1/2.1.2/Results/b02e/ha/in_memory/b02e_run1_oel/FAILOVER_SFSB_LST_new
-index.html

The full result of windows run at:

http://agni-1.sfbay.sun.com/asqe-
logs/export1/2.1.2/Results/b02e/ha/in_memory/b02e_run1_win/FAILOVER_SFSB_LST_new
-index.html



 Comments   
Comment by easarina [ 12/Apr/10 ]

Then I've run the same test additional 5 times. 4 times the test - failed, one
time - passed.

Comment by Mahesh Kannan [ 13/Oct/10 ]

This issue is based on V2.x (sailfin) run





[GLASSFISH-16664] Way to diagnose non functioning session persistence on Windows Server 2008 SP2 cluster Created: 17/May/11  Updated: 22/Jul/11

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1
Fix Version/s: None

Type: Improvement Priority: Critical
Reporter: JFK9 Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows Server 2008 SP2
Java JDK build 1.6.0_25-b06
Oracle GlassFish Server 3.1 (build 43)


Attachments: Zip Archive session-persistence problem logs and config.zip    

 Description   

When I stop an instance in a cluster on which a session is active the session is not failed-over to another instance without a new session being recreated. I appreciate this is a difficult thing to diagnose remotely but some pointers on where to look for problems in my config would be appreciated. I have attached log and config files. The example app is the trivial e.g. clusterjsp from Shreedhar' s Weblog.

Windows Server 2008 SP2
Java JDK build 1.6.0_25-b06
Oracle GlassFish Server 3.1 (build 43)

I have set up this cluster following the procedures outlined in the High Availability Admin Guide.

I have the following network configuration;

DAS:
holgerson 192.168.0.236
Node1
martinsson 192.168.0.237
Node2
svedberg 192.168.0.239

( all machines share the same network config - the same DNS server, they register their names with a .lan suffix - they all have a subnet mask of 255.255.255.0 )

Both nodes are controlled by the DAS using SSH.

Node1 runs instance1 and instance3
Node2 runs instance2

asadmin> list-nodes-ssh --long=true
NODE NAME TYPE NODE HOST INSTALL DIRECTORY REFERENCED BY
node1 SSH martinsson C:\glassfish3 instance1, instance3
node2 SSH svedberg C:\glassfish3 instance2
Command list-nodes-ssh executed successfully.

asadmin> get-health cluster1
instance1 started since Wed May 18 10:16:33 BST 2011
instance2 started since Wed May 18 10:16:35 BST 2011
instance3 started since Wed May 18 10:16:33 BST 2011
Command get-health executed successfully.

I have no problems validating multicast;

On holgerson

asadmin> validate-multicast
Will use port 2048
Will use address 228.9.3.1
Will use bind interface null
Will use wait period 2,000 (in milliseconds)

Listening for data...
Sending message with content "holgerson" every 2,000 milliseconds
Received data from holgerson (loopback)
Received data from martinsson
Received data from svedberg
Received data from holgerson

I have setup a load-balancer on a fourth box;

Loadbalancer:

ebba 192.168.0.215

I used Oracle iPlanet WebServer7.

I created a load balancer as follows

create-http-lb --devicehost ebba.lan --deviceport 8082 --target cluster1 --lbenableallinstances=true --lbenableallapplications=true cluster1lb1
Command create-http-lb executed successfully.
asadmin> apply-http-lb-changes cluster1lb1
Command apply-http-lb-changes executed successfully.

I initialy configured the load balancer using apply-lb-changes having setup a secure connection from the DAS to the webserver. However because of the bug which placed the admin servers of the instances in the load-balancer.xml I hand edited the load-balancer.xml and applied changes that way;

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE loadbalancer PUBLIC "-//Sun Microsystems Inc.//DTD Sun Java System Application Server 9.1//EN" "glassfish-loadbalancer_1_3.dtd">
<loadbalancer>
<cluster name="cluster1" policy="round-robin">
<instance disable-timeout-in-minutes="30" enabled="true" listeners="http://martinsson:28080 https://martinsson:28181" name="instance1" weight="100"/>
<instance disable-timeout-in-minutes="30" enabled="true" listeners="http://svedberg:28080 https://svedberg:28181" name="instance2" weight="100"/>
<instance name="instance3" weight="100" listeners="http://martinsson:28081 https://martinsson:28182" enabled="true" disable-timeout-in-minutes="30"/>
<web-module context-root="Experiment5-WebTierWeb" disable-timeout-in-minutes="30" enabled="true"/>
<web-module context-root="/clusterjsp" disable-timeout-in-minutes="30" enabled="true"/>
<web-module context-root="/SessionFailoverTest" disable-timeout-in-minutes="30" enabled="true"/>
<health-checker interval-in-seconds="10" timeout-in-seconds="30" url="/"/>
</cluster>
<property name="response-timeout-in-seconds" value="60"/>
<property name="reload-poll-interval-in-seconds" value="60"/>
<property name="https-routing" value="false"/>
<property name="preferred-failover-instance" value="true"/>
<property name="require-monitor-data" value="true"/>
<property name="rewrite-location" value="true"/>
<property name="number-healthcheck-retries" value="3"/>
<property name="active-healthcheck-enabled" value="false"/>
<property name="rewrite-cookies" value="false"/>
</loadbalancer>
<!--
This file was generated on: [Mon May 16 16:36:15 BST 2011].

I enabled the availability service
asadmin> set cluster1-config.availability-service.availability-enabled=true
instance1:
cluster1-config.availability-service.availability-enabled=true

instance2:
cluster1-config.availability-service.availability-enabled=true

instance3:
cluster1-config.availability-service.availability-enabled=true

cluster1-config.availability-service.availability-enabled=true

Using the clusterjsp test from Shreedhar' s Weblog http://wikis.sun.com/download/attachments/209655304/clusterjsp.ear I deploy an application ( it already has the <distributable/> element in it. I deploy it using -availabilityenabled.

asadmin> deploy --availabilityenabled=true --target cluster1 C:/Users/Administrator/Desktop/clusterjsp.ear

I create a new load-balancer.xml and apply it to the web server ( see above ).

I then access the application using the url on the load-balancer, and add some session variables. The app tells me which instance the session is running on. I stop that instance using the stop-instance asadmin subcommand. And reload the clusterjsp page. The session attributes are lost, but the page shows I am running on a different instance as expected, but with a different session id. It does this if I fail over from instance1 → instance3 ( same machine ) or from instance1 → instance2 ( different nodes ).

I have attached the domain.xml of the DAS, and the logs of the 3 instances and the web server. I have enabled shoal logging to finest and monitoring for the the load balancer. This is all in the attached zip by machine name.

The scenario is as follows

1. Access ebba/clusterjsp/HaJsp.jsp
2. add session data a=b c=d int two add-session-data requests
3. stop the instance on which this session is running ( asadmin stop-instance instance2 on svedberg )
4. reload the page - no session data visible, new session id.

Please advise me what I need to do to track down this problem, as at the momment the clustered testing of our application cannot go ahead and the client requires this.



 Comments   
Comment by JFK9 [ 17/May/11 ]

Using wireshark to capture the traffic...

If I start off with a session on instance2 ( svedberg ) i see the following in wireshark on svedberg port 28080:

POST /clusterjsp/HaJsp.jsp HTTP/1.1
Via: 1.1 https-Ebba
Proxy-jroute: Ncll
Host: ebba
Cookie: JROUTE=Ncll; JSESSIONID=31c6914cc2b880ae75ae88387f85; JSESSIONIDVERSION=2f636c75737465726a7370:2; JREPLICA=instance1
Referer: http://ebba/clusterjsp/HaJsp.jsp
Content-length: 46
Cache-control: max-age=0
Origin: http://ebba
User-agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.68 Safari/534.24
Content-type: application/x-www-form-urlencoded
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5
Accept-encoding: gzip,deflate,sdch
Accept-language: en-GB,en-US;q=0.8,en;q=0.6
Accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Proxy-ip: 192.168.0.118

dataName=c&dataValue=d&action=ADD+SESSION+DATA

when I failover to instance1 ( martinsson port 28080 ) I see the following in wireshark on port 28080 on martinsson

POST /clusterjsp/HaJsp.jsp HTTP/1.1
Via: 1.1 https-Ebba
Proxy-jroute: 5i3M
Host: ebba
Cookie: JROUTE=Ncll; JSESSIONID=31c6914cc2b880ae75ae88387f85; JSESSIONIDVERSION=2f636c75737465726a7370:7; JREPLICA=instance1
Referer: http://ebba/clusterjsp/HaJsp.jsp
Content-length: 39
Cache-control: max-age=0
Origin: http://ebba
User-agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.68 Safari/534.24
Content-type: application/x-www-form-urlencoded
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5
Accept-encoding: gzip,deflate,sdch
Accept-language: en-GB,en-US;q=0.8,en;q=0.6
Accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Proxy-ip: 192.168.0.118

dataName=&dataValue=&action=RELOAD+PAGE

HTTP/1.1 200 OK
X-Powered-By: JSP/2.2
Server: Oracle GlassFish Server 3.1
Set-Cookie: JSESSIONID=333d74cd8adc0026b0f2f949b61b; Path=/clusterjsp; HttpOnly
Set-Cookie: JSESSIONIDVERSION=2f636c75737465726a7370:0; Path=/clusterjsp; HttpOnly
Set-Cookie: JREPLICA=instance3; Path=/clusterjsp; HttpOnly
Set-Cookie: JROUTE=5i3M; Path=/clusterjsp; HttpOnly
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 1580
Date: Wed, 18 May 2011 13:03:10 GMT

<HTML>
<HEAD><TITLE>Cluster - Ha JSP Sample </TITLE></HEAD>
<BODY BGCOLOR="white">
<H1>Cluster - HA JSP Sample </H1>
<B>HttpSession Information:</B>
<UL>
<LI>Served From Server: <b>ebba</b></LI>
<LI>Server Port Number: <b>80</b></LI>
<LI>Executed From Server: <b>martinsson</b></LI>
<LI>Served From Server instance: <b>instance1</b></LI>
<LI>Executed Server IP Address: <b>192.168.0.237</b></LI>
<LI>Session ID: <b>333d74cd8adc0026b0f2f949b61b</b></LI>
<LI>Session Created: Wed May 18 14:03:07 BST 2011</LI>
<LI>Last Accessed: Wed May 18 14:03:07 BST 2011</LI>
<LI>Session will go inactive in <b>1800 seconds</b></LI>

So it would appear that martinsson is ignoring the JSESSIONID.
The JROUTE has also changed, would this have any effect?

Comment by JFK9 [ 18/May/11 ]

rechecked multicast using the precise port and address used by the GMS cluster - no problem.
It can't be time? because failover instance1->instance3 does not work and they are on the same box.
Checked the logs with ShoalLogger=FINE and can see all instances being registered in GMS, so that part works.
It would just seem as if the session is not being replicated...

Comment by JFK9 [ 19/May/11 ]

Okay I set up logging as follows;

asadmin> list-log-levels cluster1
ShoalLogger <FINE>
java.util.logging.ConsoleHandler <INFO>
javax.enterprise.resource.corba <INFO>
javax.enterprise.resource.javamail <INFO>
javax.enterprise.resource.jdo <INFO>
javax.enterprise.resource.jms <INFO>
javax.enterprise.resource.jta <INFO>
javax.enterprise.resource.resourceadapter <INFO>
javax.enterprise.resource.sqltrace <INFO>
javax.enterprise.resource.webcontainer.* <INFO>
javax.enterprise.resource.webcontainer.jsf.application <INFO>
javax.enterprise.resource.webcontainer.jsf.config <INFO>
javax.enterprise.resource.webcontainer.jsf.context <INFO>
javax.enterprise.resource.webcontainer.jsf.facelets <INFO>
javax.enterprise.resource.webcontainer.jsf.lifecycle <INFO>
javax.enterprise.resource.webcontainer.jsf.managedbean <INFO>
javax.enterprise.resource.webcontainer.jsf.renderkit <INFO>
javax.enterprise.resource.webcontainer.jsf.resource <INFO>
javax.enterprise.resource.webcontainer.jsf.taglib <INFO>
javax.enterprise.resource.webcontainer.jsf.timing <INFO>
javax.enterprise.resource.webcontainer <INFO>
javax.enterprise.system.container.cmp <INFO>
javax.enterprise.system.container.ejb <INFO>
javax.enterprise.system.container.ejb.mdb <INFO>
javax.enterprise.system.container.web <FINEST>
javax.enterprise.system.core.classloading <INFO>
javax.enterprise.system.core.config <INFO>
javax.enterprise.system.core <INFO>
javax.enterprise.system.core.naming <INFO>
javax.enterprise.system.core.security <INFO>
javax.enterprise.system.core.selfmanagement <INFO>
javax.enterprise.system.core.transaction <INFO>
javax.enterprise.system <INFO>
javax.enterprise.system.ssl.security <INFO>
javax.enterprise.system.tools.admin <INFO>
javax.enterprise.system.tools.backup <INFO>
javax.enterprise.system.tools.deployment <INFO>
javax.enterprise.system.util <INFO>
javax.enterprise.system.webservices.registry <INFO>
javax.enterprise.system.webservices.rpc <INFO>
javax.enterprise.system.webservices.saaj <INFO>
javax <INFO>
javax.org.glassfish.persistence <INFO>
org.apache.catalina <FINEST>
org.apache.coyote <FINEST>
org.apache.jasper <FINEST>
org.glassfish.admingui <INFO>
org.jvnet.hk2.osgiadapter <INFO>
org.shoal.ha.cache.command.save <FINEST>
org.shoal.ha.cache <FINEST>
org.shoal.ha.cache.store <FINEST>
Command list-log-levels executed successfully.
asadmin>

this gives a good trace of the caching events and what happens during failover and proved sufficient to track down the cause.

I will submit a short post to the newsgroup .. this should do...





[GLASSFISH-20892] Replicated SFSBs do not work at all with Availability enabled Created: 11/Nov/13  Updated: 24/Aug/14

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 4.0
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: lprimak Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ALL


Tags: availability, ejb, ejb_3_2, sfsb

 Description   

When Availability is enabled for an application (asadmin deploy --availabilityenabled ...)
HA SFSBs stop working.
This happens whether in a cluster or not, but in my testing, I always had a cluster configured, but not actually used.

When getting a reference to them from JNDI and calling a method
InitialContext ctxt = ...
MySFSBLocal local = ctxt.lookup("...");
local.businessMethod() - Always Fails.

Exception is something like this:
[2013-11-11T00:54:19.267-0500] [glassfish 4.0] [SEVERE] [AS-EJB-00004] [javax.enterprise.ejb.container] [tid: _ThreadID=46 _ThreadName=ajp-listener-1(7)] [timeMillis: 13841
49259267] [levelValue: 1000] [[
[NRU-com.baw.website.beans.sfsb.impl.UserSession]: Cannot load from BACKUPSTORE FOR Key: <[1f00900a45b119c2-ee0001106f31d6b1-6]>]]

relaxVersionSemantics is set to true, and this used to work perfectly in GF3.1.2.2

Related Ticket: https://java.net/jira/browse/GLASSFISH-18551 (Maybe)
Also Related: https://java.net/jira/browse/GLASSFISH-18323

HA SFSBs are configured in glassfish-ejb-jar.xml:
<glassfish-ejb-jar>
<enterprise-beans>
<ejb availability-enabled="true">
<ejb-name>UserSession</ejb-name>
</ejb>
<ejb availability-enabled="true">
<ejb-name>SharedWebstats</ejb-name>
</ejb>
</enterprise-beans>
</glassfish-ejb-jar>



 Comments   
Comment by lprimak [ 13/Nov/13 ]

The bean in question weren't serializable. GF 3.1 used to work with them anyway, but not GF 4.0,
so issue isn't critical now, but the error was very hard to track down

Comment by lprimak [ 19/Nov/13 ]

According to the spec, SFSBs do not need to be serializable, so this breaks the EJB spec as well

Comment by lprimak [ 24/Aug/14 ]

Does this have to do anything with this bug?
https://java.net/jira/browse/GLASSFISH-20318
It says its fixed, but I have my doubts

Comment by lprimak [ 24/Aug/14 ]

Yup, not fixed.

------------------------
[2014-08-24T15:36:28.304-0400] [glassfish 4.1] [WARNING] [] [javax.enterprise.ejb.container] [tid: _ThreadID=99 _ThreadName=ajp-listener-1(5)] [timeMillis: 1408908988304] [levelValue: 900] [[

javax.ejb.EJBException
at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:748)
at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:698)
at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:515)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4566)
at com.sun.ejb.containers.StatefulSessionContainer.postInvokeTx(StatefulSessionContainer.java:1853)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2074)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2044)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
at com.sun.proxy.$Proxy798.isDisableStats(Unknown Source)
at com.baw.website.beans.ui.layout.Layout.isStatsEnabled(Layout.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:363)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at com.sun.el.parser.AstValue.getValue(AstValue.java:140)
at com.sun.el.parser.AstValue.getValue(AstValue.java:204)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:457)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:852)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1854)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.baw.website.filters.CmsFilter.doFilter(CmsFilter.java:32)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.flowlogix.filters.EjbPingFilter.doFilter(EjbPingFilter.java:44)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:149)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:56)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.facesviews.FacesViewsForwardingFilter.doFilter(FacesViewsForwardingFilter.java:130)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.baw.website.filters.CmsFilter.doFilter(CmsFilter.java:32)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.flowlogix.filters.EjbPingFilter.doFilter(EjbPingFilter.java:44)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:115)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.flowlogix.security.WebSecurityFilter$1.call(WebSecurityFilter.java:90)
at com.flowlogix.security.WebSecurityFilter$1.call(WebSecurityFilter.java:84)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at com.flowlogix.security.WebSecurityFilter.doFilter(WebSecurityFilter.java:83)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.baw.website.filters.ShiroInitFilter.doFilter(ShiroInitFilter.java:41)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:175)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4786)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
at com.flowlogix.security.ShiroSecurityInterceptor.propagateShiroSecurity(ShiroSecurityInterceptor.java:64)
at sun.reflect.GeneratedMethodAccessor376.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
... 107 more
]]

[2014-08-24T15:36:28.307-0400] [glassfish 4.1] [SEVERE] [] [javax.enterprise.resource.webcontainer.jsf.application] [tid: _ThreadID=99 _ThreadName=ajp-listener-1(5)] [timeMillis: 1408908988307] [levelValue: 1000] [[
Error Rendering View[/index.xhtml]
javax.el.ELException: /resources/templates/layout.xhtml @194,60 rendered="#

{layout.statsEnabled}

": javax.ejb.EJBException
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:457)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:852)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1854)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.baw.website.filters.CmsFilter.doFilter(CmsFilter.java:32)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.flowlogix.filters.EjbPingFilter.doFilter(EjbPingFilter.java:44)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:149)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:56)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.facesviews.FacesViewsForwardingFilter.doFilter(FacesViewsForwardingFilter.java:130)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.baw.website.filters.CmsFilter.doFilter(CmsFilter.java:32)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.flowlogix.filters.EjbPingFilter.doFilter(EjbPingFilter.java:44)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:115)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.flowlogix.security.WebSecurityFilter$1.call(WebSecurityFilter.java:90)
at com.flowlogix.security.WebSecurityFilter$1.call(WebSecurityFilter.java:84)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at com.flowlogix.security.WebSecurityFilter.doFilter(WebSecurityFilter.java:83)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.baw.website.filters.ShiroInitFilter.doFilter(ShiroInitFilter.java:41)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:175)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.ELException: javax.ejb.EJBException
at javax.el.BeanELResolver.getValue(BeanELResolver.java:368)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at com.sun.el.parser.AstValue.getValue(AstValue.java:140)
at com.sun.el.parser.AstValue.getValue(AstValue.java:204)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
... 92 more
Caused by: javax.ejb.EJBException
at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:748)
at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:698)
at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:515)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4566)
at com.sun.ejb.containers.StatefulSessionContainer.postInvokeTx(StatefulSessionContainer.java:1853)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2074)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2044)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
at com.sun.proxy.$Proxy798.isDisableStats(Unknown Source)
at com.baw.website.beans.ui.layout.Layout.isStatsEnabled(Layout.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:363)
... 99 more
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4786)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
at com.flowlogix.security.ShiroSecurityInterceptor.propagateShiroSecurity(ShiroSecurityInterceptor.java:64)
at sun.reflect.GeneratedMethodAccessor376.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
... 107 more
]]

[2014-08-24T15:36:28.338-0400] [glassfish 4.1] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=99 _ThreadName=ajp-listener-1(5)] [timeMillis: 1408908988338] [levelValue: 900] [[
StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4786)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
at com.flowlogix.security.ShiroSecurityInterceptor.propagateShiroSecurity(ShiroSecurityInterceptor.java:64)
at sun.reflect.GeneratedMethodAccessor376.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
at com.sun.proxy.$Proxy798.isDisableStats(Unknown Source)
at com.baw.website.beans.ui.layout.Layout.isStatsEnabled(Layout.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:363)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at com.sun.el.parser.AstValue.getValue(AstValue.java:140)
at com.sun.el.parser.AstValue.getValue(AstValue.java:204)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:457)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:852)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1854)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.baw.website.filters.CmsFilter.doFilter(CmsFilter.java:32)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.flowlogix.filters.EjbPingFilter.doFilter(EjbPingFilter.java:44)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:149)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:56)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.facesviews.FacesViewsForwardingFilter.doFilter(FacesViewsForwardingFilter.java:130)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.baw.website.filters.CmsFilter.doFilter(CmsFilter.java:32)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.flowlogix.filters.EjbPingFilter.doFilter(EjbPingFilter.java:44)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.omnifaces.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:115)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.flowlogix.security.WebSecurityFilter$1.call(WebSecurityFilter.java:90)
at com.flowlogix.security.WebSecurityFilter$1.call(WebSecurityFilter.java:84)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at com.flowlogix.security.WebSecurityFilter.doFilter(WebSecurityFilter.java:83)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at com.baw.website.filters.ShiroInitFilter.doFilter(ShiroInitFilter.java:41)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:175)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:745)
]]

[2014-08-24T15:36:39.431-0400] [glassfish 4.1] [SEVERE] [AS-EJB-00004] [javax.enterprise.ejb.container] [tid: _ThreadID=97 _ThreadName=ajp-listener-1(3)] [timeMillis: 1408908999431] [levelValue: 1000] [[
[NRU-com.baw.website.beans.sfsb.impl.SharedWebstats]: Cannot load from BACKUPSTORE FOR Key: <[1f00900a0983b5c6-ee0001103a22bcb3-1]>]]

[2014-08-24T15:36:39.432-0400] [glassfish 4.1] [WARNING] [AS-EJB-00056] [javax.enterprise.ejb.container] [tid: _ThreadID=97 _ThreadName=ajp-listener-1(3)] [timeMillis: 1408908999432] [levelValue: 900] [[
A system exception occurred during an invocation on EJB SharedWebstats, method: public void com.baw.website.beans.sfsb.impl.SharedWebstats.ping()]]

[2014-08-24T15:36:39.432-0400] [glassfish 4.1] [WARNING] [] [javax.enterprise.ejb.container] [tid: _ThreadID=97 _ThreadName=ajp-listener-1(3)] [timeMillis: 1408908999432] [levelValue: 900] [[

javax.ejb.NoSuchObjectLocalException: The EJB does not exist. session-key: 1f00900a0983b5c6-ee0001103a22bcb3-1
at com.sun.ejb.containers.StatefulSessionContainer._getContext(StatefulSessionContainer.java:1626)
at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2579)
at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1971)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:210)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
at com.sun.proxy.$Proxy798.ping(Unknown Source)
at com.flowlogix.ejb.StatefulUtil.pingStateful(StatefulUtil.java:68)
at com.flowlogix.web.services.EjbModule$1.service(EjbModule.java:46)
at $HttpServletRequestHandler_584822218a2dad.service(Unknown Source)
at org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:27)
at $HttpServletRequestHandler_584822218a2dad.service(Unknown Source)
at org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:56)
at org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:54)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:54)
at $HttpServletRequestFilter_584822218a2dab.service(Unknown Source)
at $HttpServletRequestHandler_584822218a2dad.service(Unknown Source)
at org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
at $HttpServletRequestHandler_584822218a2dad.service(Unknown Source)
at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at $HttpServletRequestHandler_584822218a2dad.service(Unknown Source)
at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_584822218a2d9e.service(Unknown Source)
at $HttpServletRequestHandler_584822218a2dad.service(Unknown Source)
at org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
at $HttpServletRequestHandler_584822218a2dad.service(Unknown Source)
at $HttpServletRequestHandler_584822218a2d9d.service(Unknown Source)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:745)
]]





[GLASSFISH-20322] Configuration parsing (domain.xml) slows down server startup Created: 16/Apr/13  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: hk2
Affects Version/s: 4.0_b84_RC1
Fix Version/s: 4.1

Type: Bug Priority: Critical
Reporter: Tom Mueller Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: devx_web

 Description   

Parsing the domain.xml during server startup takes about 420 ms for 271 elements using 88 config bean classes. On the system where this was measured, system startup takes about 3400 ms, so domain.xml parsing is about 8% of the startup time. Of this 420 ms, about 275 is spent in DomainXml.parseDomainXml.

Much of the DomainXml.parseDomainXml time is spent loading the classes. Just the parsing part (based on measuring MiniXmlParser) takes about 25 ms. The current parser is tightly coupled to the use of the model, which is derived from the config bean class. To make this parallel, this would need to be separated. The XML document would need to be parsed to determine the list of needed config bean models and the data to populate the Dom objects (stored in a form that is independent of the model). Then, using multiple threads, the config bean classes could be loaded and the Dom objects created. In addition to class loading, whenever a config bean is created, there is a call to the GlassFishConfigBean.initializationCompleted method which calls the AMX PendingConfigBeans class to add the config bean to a queue that is used by AMX if/when it initializes.

The time outside of parseDomainXml (about 145 ms) is spent in the decorate method which adds indices to the service locator for various config objects.

This issue is for exploring and implementing ways to reduce the time needed to parse the domain.xml with the goal of improving the server startup time.



 Comments   
Comment by Tom Mueller [ 18/Apr/13 ]

For comparison, 3.1.2 parses 251 elements using 71 config bean classes. The time to do this using the same system as before is 166 ms total with 85 ms of that being in DomainXml.parseDomainXml.

If parsing scaled linearly with either the number of elements or the number of classes, we would expect the time in 4.0 to be about 180-205 ms (not the 420 that is being measure currently). So there seems to be an opportunity here for about 200 ms of improvement.

Comment by Tom Mueller [ 19/Apr/13 ]

One source of the slow down is in the GlassFishConfigBean.initializationCompleted method. In 4.0, this code was changed from:

habitat.getComponent(CageBuilder.class, "PendingConfigBeans");

to

getServiceLocator().<ConfigBeanListener>getAllServices(ConfigBeanListener.class)

The latter code is much more complex resulting in many more intermediate objects being created that the former. However, this only accounts for about 6 ms of difference.

Comment by Tom Mueller [ 19/Apr/13 ]

Another data point. I copied a 3.1.2 domain.xml into a 4.0 domain and measured the time: 362 ms with 234 in parseDomainXml (compares with 166/85).

Comment by Tom Mueller [ 23/Apr/13 ]

Here is some additional timing data for the DomainXml.run method.

The DomDocument.buildModel shows calls to the ConfigModel constructor with the time (in usecs).
The Configparser.handleElement lines show the breakdown of the time spent in the ConfigParser.handleElement method as follows:

make = document.make
fill = fill attributes
children = parse the child elements - NOTE: this includes the complete handleElement time for the all the children
reg = dom.register
con = dom.ensureConstraints(children)
ic = dom.setChildren(children) (if nec.) and dom.initializationCompleted()

All times are in usec.

DomDocument.buildModel com.sun.enterprise.config.serverbeans.SystemPropertyInjector 210
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ResourceRefInjector 31
DomDocument.buildModel org.jvnet.hk2.config.types.PropertyInjector 35
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ApplicationRefInjector 41
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ServerInjector 312
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ServersInjector 370
DomDocument.buildModel org.glassfish.api.admin.config.ApplicationNameInjector 22
DomDocument.buildModel com.sun.enterprise.config.serverbeans.SystemApplicationsInjector 76
DomDocument.buildModel com.sun.enterprise.config.serverbeans.HealthCheckerInjector 31
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ServerRefInjector 107
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ClusterExtensionInjector 34
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ClusterInjector 342
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ClustersInjector 403
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ResourceInjector 23
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ResourcesInjector 77
DomDocument.buildModel com.sun.enterprise.config.serverbeans.AuthRealmInjector 42
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ModuleLogLevelsInjector 179
DomDocument.buildModel com.sun.enterprise.config.serverbeans.LogServiceInjector 304
DomDocument.buildModel org.glassfish.grizzly.config.dom.SslInjector 168
DomDocument.buildModel com.sun.enterprise.config.serverbeans.JmxConnectorInjector 294
DomDocument.buildModel com.sun.enterprise.config.serverbeans.NodeAgentInjector 809
DomDocument.buildModel com.sun.enterprise.config.serverbeans.NodeAgentsInjector 861
DomDocument.buildModel com.sun.enterprise.config.serverbeans.SecureAdminInternalUserInjector 30
DomDocument.buildModel com.sun.enterprise.config.serverbeans.SecureAdminPrincipalInjector 34
DomDocument.buildModel com.sun.enterprise.config.serverbeans.SecureAdminInjector 170
DomDocument.buildModel com.sun.enterprise.config.serverbeans.DomainExtensionInjector 13
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ApplicationsInjector 28
DomDocument.buildModel com.sun.enterprise.config.serverbeans.SshAuthInjector 35
DomDocument.buildModel com.sun.enterprise.config.serverbeans.SshConnectorInjector 95
DomDocument.buildModel com.sun.enterprise.config.serverbeans.NodeInjector 210
DomDocument.buildModel com.sun.enterprise.config.serverbeans.NodesInjector 272
DomDocument.buildModel org.glassfish.grizzly.config.dom.ThreadPoolInjector 65
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ThreadPoolsInjector 121
DomDocument.buildModel org.glassfish.api.monitoring.ContainerMonitoringInjector 27
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ModuleMonitoringLevelsInjector 132
DomDocument.buildModel com.sun.enterprise.config.serverbeans.MonitoringServiceInjector 300
DomDocument.buildModel com.sun.enterprise.config.serverbeans.AccessLogInjector 70
DomDocument.buildModel com.sun.enterprise.config.serverbeans.HttpAccessLogInjector 24
DomDocument.buildModel com.sun.enterprise.config.serverbeans.VirtualServerInjector 163
DomDocument.buildModel com.sun.enterprise.config.serverbeans.HttpServiceInjector 363
DomDocument.buildModel com.sun.enterprise.config.serverbeans.AvailabilityServiceExtensionInjector 17
DomDocument.buildModel com.sun.enterprise.config.serverbeans.AvailabilityServiceInjector 125
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ProfilerInjector 53
DomDocument.buildModel com.sun.enterprise.config.serverbeans.JavaConfigInjector 275
DomDocument.buildModel com.sun.enterprise.config.serverbeans.DiagnosticServiceExtensionInjector 24
DomDocument.buildModel com.sun.enterprise.config.serverbeans.DiagnosticServiceInjector 128
DomDocument.buildModel com.sun.enterprise.config.serverbeans.FailureDetectionInjector 35
DomDocument.buildModel com.sun.enterprise.config.serverbeans.GroupManagementServiceInjector 137
DomDocument.buildModel org.glassfish.grizzly.config.dom.SelectionKeyHandlerInjector 39
DomDocument.buildModel org.glassfish.grizzly.config.dom.TransportInjector 129
DomDocument.buildModel org.glassfish.grizzly.config.dom.TransportsInjector 293
DomDocument.buildModel org.glassfish.grizzly.config.dom.FileCacheInjector 49
DomDocument.buildModel org.glassfish.grizzly.config.dom.SpdyInjector 58
DomDocument.buildModel org.glassfish.grizzly.config.dom.HttpInjector 434
DomDocument.buildModel org.glassfish.grizzly.config.dom.ProtocolFinderInjector 45
DomDocument.buildModel org.glassfish.grizzly.config.dom.PortUnificationInjector 124
DomDocument.buildModel org.glassfish.grizzly.config.dom.HttpRedirectInjector 39
DomDocument.buildModel org.glassfish.grizzly.config.dom.ProtocolFilterInjector 42
DomDocument.buildModel org.glassfish.grizzly.config.dom.ProtocolChainInjector 119
DomDocument.buildModel org.glassfish.grizzly.config.dom.ProtocolChainInstanceHandlerInjector 192
DomDocument.buildModel org.glassfish.grizzly.config.dom.ProtocolInjector 1041
DomDocument.buildModel org.glassfish.grizzly.config.dom.ProtocolsInjector 1110
DomDocument.buildModel org.glassfish.grizzly.config.dom.NetworkListenerInjector 75
DomDocument.buildModel org.glassfish.grizzly.config.dom.NetworkListenersInjector 166
DomDocument.buildModel org.glassfish.grizzly.config.dom.NetworkConfigInjector 1705
DomDocument.buildModel com.sun.enterprise.config.serverbeans.AuditModuleInjector 43
DomDocument.buildModel com.sun.enterprise.config.serverbeans.JaccProviderInjector 46
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ResponsePolicyInjector 27
DomDocument.buildModel com.sun.enterprise.config.serverbeans.RequestPolicyInjector 25
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ProviderConfigInjector 173
DomDocument.buildModel com.sun.enterprise.config.serverbeans.MessageSecurityConfigInjector 246
DomDocument.buildModel com.sun.enterprise.config.serverbeans.SecurityServiceInjector 543
DomDocument.buildModel org.glassfish.api.admin.config.ContainerInjector 14
DomDocument.buildModel com.sun.enterprise.config.serverbeans.DasConfigInjector 78
DomDocument.buildModel com.sun.enterprise.config.serverbeans.AdminServiceInjector 186
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ConfigInjector 4457
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ConfigsInjector 4519
DomDocument.buildModel com.sun.enterprise.config.serverbeans.DomainInjector 13578
DomDocument.buildModel org.glassfish.security.services.config.SecurityProviderConfigInjector 21
DomDocument.buildModel org.glassfish.security.services.config.SecurityProviderInjector 107
DomDocument.buildModel org.glassfish.security.services.config.SecurityConfigurationInjector 186
DomDocument.buildModel org.glassfish.security.services.config.SecurityConfigurationsInjector 240
DomDocument.buildModel org.glassfish.security.services.config.AuthenticationServiceInjector 49
DomDocument.buildModel org.glassfish.security.services.config.LoginModuleConfigInjector 47
Configparser.handleElement property make=34 fill=5 children=27 reg=1875 con=16 ic=3451
Configparser.handleElement property make=39 fill=5 children=7 reg=547 con=3 ic=79
Configparser.handleElement login-module-config make=34 fill=6 children=6694 reg=736 con=18 ic=59
Configparser.handleElement security-provider make=35 fill=6 children=7749 reg=391 con=16 ic=51
Configparser.handleElement property make=34 fill=4 children=6 reg=222 con=2 ic=51
Configparser.handleElement property make=37 fill=4 children=6 reg=221 con=3 ic=50
Configparser.handleElement login-module-config make=33 fill=6 children=781 reg=220 con=4 ic=49
Configparser.handleElement security-provider make=40 fill=6 children=1208 reg=217 con=4 ic=52
Configparser.handleElement authentication-service make=34 fill=16 children=9971 reg=521 con=4 ic=49
DomDocument.buildModel org.glassfish.security.services.config.AuthorizationServiceInjector 50
DomDocument.buildModel org.glassfish.security.services.provider.authorization.AuthorizationProviderConfigInjector 71
Configparser.handleElement authorization-provider-config make=37 fill=5 children=7 reg=409 con=5 ic=56
Configparser.handleElement security-provider make=34 fill=6 children=729 reg=227 con=5 ic=49
Configparser.handleElement authorization-service make=34 fill=4 children=1142 reg=364 con=4 ic=49
Configparser.handleElement security-configurations make=28 fill=1 children=12594 reg=468 con=5 ic=52
DomDocument.buildModel com.sun.enterprise.config.serverbeans.ManagedJobConfigInjector 55
Configparser.handleElement managed-job-config make=38 fill=1 children=7 reg=576 con=7 ic=52
Configparser.handleElement system-applications make=28 fill=1 children=6 reg=451 con=4 ic=52
DomDocument.buildModel org.glassfish.jdbc.config.JdbcResourceInjector 64
Configparser.handleElement jdbc-resource make=41 fill=7 children=6 reg=27385 con=7 ic=63
Configparser.handleElement jdbc-resource make=47 fill=8 children=8 reg=230 con=5 ic=54
DomDocument.buildModel org.glassfish.jdbc.config.JdbcConnectionPoolInjector 247
Configparser.handleElement property make=31 fill=5 children=6 reg=259 con=3 ic=56
Configparser.handleElement property make=35 fill=4 children=6 reg=235 con=3 ic=50
Configparser.handleElement jdbc-connection-pool make=122 fill=8 children=857 reg=893 con=9 ic=59
Configparser.handleElement property make=35 fill=4 children=7 reg=251 con=3 ic=53
Configparser.handleElement property make=36 fill=4 children=6 reg=233 con=2 ic=50
Configparser.handleElement property make=35 fill=4 children=6 reg=235 con=4 ic=119
Configparser.handleElement property make=56 fill=7 children=9 reg=366 con=4 ic=74
Configparser.handleElement property make=52 fill=7 children=8 reg=341 con=4 ic=71
Configparser.handleElement property make=50 fill=6 children=8 reg=334 con=4 ic=74
Configparser.handleElement jdbc-connection-pool make=121 fill=10 children=3079 reg=318 con=8 ic=74
DomDocument.buildModel org.glassfish.connectors.config.BackendPrincipalInjector 39
DomDocument.buildModel org.glassfish.connectors.config.SecurityMapInjector 147
DomDocument.buildModel org.glassfish.connectors.config.ConnectorConnectionPoolInjector 437
Configparser.handleElement connector-connection-pool make=133 fill=19 children=10 reg=1269 con=7 ic=85
DomDocument.buildModel org.glassfish.connectors.config.ConnectorResourceInjector 96
Configparser.handleElement connector-resource make=79 fill=10 children=9 reg=742 con=6 ic=74
Configparser.handleElement resources make=27 fill=1 children=37912 reg=432 con=8 ic=78
Configparser.handleElement resource-ref make=48 fill=4 children=8 reg=557 con=4 ic=78
Configparser.handleElement resource-ref make=43 fill=5 children=7 reg=305 con=4 ic=70
Configparser.handleElement resource-ref make=42 fill=5 children=8 reg=308 con=4 ic=70
Configparser.handleElement server make=88 fill=7 children=1835 reg=1361 con=10 ic=74
Configparser.handleElement servers make=45 fill=1 children=3499 reg=394 con=4 ic=50
Configparser.handleElement node make=53 fill=8 children=6 reg=461 con=6 ic=50
Configparser.handleElement nodes make=32 fill=1 children=694 reg=322 con=4 ic=53
Configparser.handleElement system-property make=33 fill=6 children=6 reg=392 con=3 ic=50
Configparser.handleElement access-log make=42 fill=1 children=6 reg=337 con=4 ic=54
Configparser.handleElement virtual-server make=67 fill=6 children=6 reg=531 con=8 ic=51
Configparser.handleElement virtual-server make=63 fill=4 children=6 reg=221 con=4 ic=50
Configparser.handleElement http-service make=37 fill=1 children=1667 reg=672 con=7 ic=50
DomDocument.buildModel org.glassfish.orb.admin.config.OrbInjector 48
DomDocument.buildModel org.glassfish.orb.admin.config.IiopListenerInjector 96
DomDocument.buildModel com.sun.enterprise.config.serverbeans.SslClientConfigInjector 46
DomDocument.buildModel org.glassfish.orb.admin.config.IiopServiceInjector 355
Configparser.handleElement orb make=32 fill=4 children=6 reg=549 con=4 ic=51
Configparser.handleElement iiop-listener make=50 fill=7 children=6 reg=469 con=8 ic=52
Configparser.handleElement ssl make=87 fill=4 children=6 reg=676 con=4 ic=56
Configparser.handleElement iiop-listener make=47 fill=8 children=922 reg=253 con=5 ic=49
Configparser.handleElement ssl make=87 fill=6 children=6 reg=151 con=4 ic=50
Configparser.handleElement iiop-listener make=50 fill=7 children=399 reg=219 con=4 ic=52
Configparser.handleElement iiop-service make=36 fill=1 children=3663 reg=352 con=6 ic=53
Configparser.handleElement jmx-connector make=52 fill=9 children=6 reg=436 con=5 ic=50
Configparser.handleElement property make=34 fill=5 children=5 reg=246 con=3 ic=49
Configparser.handleElement property make=33 fill=5 children=6 reg=236 con=2 ic=53
Configparser.handleElement property make=33 fill=4 children=6 reg=239 con=2 ic=53
Configparser.handleElement das-config make=53 fill=1 children=6 reg=374 con=4 ic=54
Configparser.handleElement admin-service make=45 fill=5 children=2431 reg=21538 con=8 ic=69
DomDocument.buildModel org.glassfish.connectors.config.ConnectorServiceInjector 60
Configparser.handleElement connector-service make=33 fill=2 children=7 reg=383 con=5 ic=53
DomDocument.buildModel com.sun.enterprise.transaction.config.TransactionServiceInjector 58
Configparser.handleElement transaction-service make=35 fill=5 children=7 reg=835 con=5 ic=58
DomDocument.buildModel org.glassfish.batch.spi.impl.BatchRuntimeConfigurationInjector 28
Configparser.handleElement batch-runtime-configuration make=46 fill=2 children=11 reg=25673 con=4 ic=61
DomDocument.buildModel com.sun.enterprise.connectors.jms.config.JmsHostInjector 59
DomDocument.buildModel com.sun.enterprise.connectors.jms.config.JmsServiceInjector 209
Configparser.handleElement jms-host make=30 fill=5 children=7 reg=16884 con=6 ic=63
Configparser.handleElement jms-service make=77 fill=7 children=17130 reg=578 con=7 ic=80
DomDocument.buildModel org.glassfish.weld.connector.CDIServiceInjector 34
Configparser.handleElement cdi-service make=38 fill=2 children=9 reg=647 con=4 ic=77
DomDocument.buildModel org.glassfish.web.config.serverbeans.SessionPropertiesInjector 42
DomDocument.buildModel org.glassfish.web.config.serverbeans.ManagerPropertiesInjector 62
DomDocument.buildModel org.glassfish.web.config.serverbeans.StorePropertiesInjector 50
DomDocument.buildModel org.glassfish.web.config.serverbeans.SessionManagerInjector 244
DomDocument.buildModel org.glassfish.web.config.serverbeans.SessionConfigInjector 412
DomDocument.buildModel org.glassfish.web.config.serverbeans.WebContainerInjector 517
Configparser.handleElement manager-properties make=37 fill=1 children=9 reg=766 con=7 ic=98
Configparser.handleElement store-properties make=36 fill=1 children=9 reg=436 con=5 ic=89
Configparser.handleElement session-manager make=31 fill=1 children=1699 reg=416 con=7 ic=75
Configparser.handleElement session-properties make=36 fill=1 children=9 reg=407 con=5 ic=73
Configparser.handleElement session-config make=31 fill=2 children=2918 reg=404 con=6 ic=74
Configparser.handleElement web-container make=38 fill=2 children=3523 reg=462 con=7 ic=73
Configparser.handleElement diagnostic-service make=61 fill=2 children=8 reg=463 con=7 ic=73
Configparser.handleElement property make=39 fill=5 children=8 reg=343 con=4 ic=73
Configparser.handleElement property make=39 fill=6 children=8 reg=332 con=3 ic=73
Configparser.handleElement auth-realm make=40 fill=8 children=1150 reg=587 con=6 ic=74
Configparser.handleElement property make=37 fill=6 children=7 reg=329 con=4 ic=73
Configparser.handleElement property make=38 fill=6 children=8 reg=254 con=3 ic=49
Configparser.handleElement auth-realm make=44 fill=6 children=999 reg=198 con=4 ic=48
Configparser.handleElement auth-realm make=26 fill=4 children=6 reg=200 con=4 ic=47
Configparser.handleElement property make=23 fill=4 children=5 reg=228 con=3 ic=48
Configparser.handleElement jacc-provider make=29 fill=5 children=389 reg=616 con=6 ic=79
Configparser.handleElement jacc-provider make=47 fill=10 children=9 reg=309 con=7 ic=81
Configparser.handleElement property make=38 fill=6 children=8 reg=352 con=4 ic=80
Configparser.handleElement audit-module make=40 fill=7 children=599 reg=619 con=6 ic=79
Configparser.handleElement request-policy make=34 fill=4 children=9 reg=428 con=4 ic=81
Configparser.handleElement response-policy make=35 fill=5 children=8 reg=416 con=5 ic=80
Configparser.handleElement property make=46 fill=6 children=8 reg=352 con=4 ic=77
Configparser.handleElement property make=40 fill=6 children=8 reg=338 con=4 ic=76
Configparser.handleElement property make=43 fill=6 children=8 reg=388 con=4 ic=83
Configparser.handleElement property make=41 fill=6 children=9 reg=380 con=4 ic=74
Configparser.handleElement provider-config make=48 fill=7 children=4110 reg=677 con=8 ic=75
Configparser.handleElement request-policy make=31 fill=4 children=8 reg=209 con=4 ic=79
Configparser.handleElement response-policy make=35 fill=4 children=8 reg=218 con=4 ic=74
Configparser.handleElement property make=40 fill=6 children=8 reg=367 con=4 ic=75
Configparser.handleElement property make=39 fill=6 children=8 reg=359 con=4 ic=74
Configparser.handleElement property make=38 fill=6 children=9 reg=290 con=3 ic=54
Configparser.handleElement property make=37 fill=6 children=9 reg=287 con=3 ic=51
Configparser.handleElement property make=39 fill=7 children=8 reg=265 con=3 ic=51
Configparser.handleElement provider-config make=49 fill=8 children=3502 reg=265 con=6 ic=50
Configparser.handleElement request-policy make=20 fill=2 children=6 reg=156 con=3 ic=51
Configparser.handleElement response-policy make=35 fill=4 children=8 reg=171 con=3 ic=50
Configparser.handleElement property make=39 fill=6 children=9 reg=307 con=3 ic=51
Configparser.handleElement property make=40 fill=6 children=8 reg=269 con=3 ic=50
Configparser.handleElement property make=40 fill=6 children=8 reg=269 con=3 ic=51
Configparser.handleElement provider-config make=33 fill=5 children=2110 reg=260 con=6 ic=50
Configparser.handleElement request-policy make=22 fill=2 children=6 reg=158 con=3 ic=50
Configparser.handleElement response-policy make=36 fill=4 children=9 reg=171 con=3 ic=50
Configparser.handleElement property make=42 fill=6 children=9 reg=285 con=4 ic=51
Configparser.handleElement property make=40 fill=6 children=8 reg=272 con=3 ic=51
Configparser.handleElement property make=40 fill=7 children=8 reg=287 con=4 ic=79
Configparser.handleElement property make=39 fill=6 children=9 reg=272 con=3 ic=50
Configparser.handleElement provider-config make=48 fill=7 children=2631 reg=262 con=6 ic=50
Configparser.handleElement message-security-config make=47 fill=6 children=14822 reg=505 con=5 ic=50
Configparser.handleElement request-policy make=20 fill=3 children=7 reg=171 con=3 ic=50
Configparser.handleElement response-policy make=28 fill=1 children=6 reg=198 con=3 ic=51
Configparser.handleElement property make=40 fill=6 children=8 reg=287 con=3 ic=50
Configparser.handleElement property make=40 fill=7 children=8 reg=282 con=3 ic=51
Configparser.handleElement provider-config make=34 fill=6 children=1664 reg=239 con=5 ic=53
Configparser.handleElement message-security-config make=41 fill=3 children=2116 reg=216 con=4 ic=50
Configparser.handleElement property make=28 fill=4 children=6 reg=271 con=3 ic=49
Configparser.handleElement security-service make=68 fill=1 children=25506 reg=407 con=7 ic=50
Configparser.handleElement java-config make=48 fill=9 children=1085 reg=637 con=12 ic=57
Configparser.handleElement file-cache make=27 fill=1 children=6 reg=360 con=5 ic=56
Configparser.handleElement http make=80 fill=5 children=534 reg=518 con=5 ic=53
Configparser.handleElement protocol make=35 fill=4 children=1285 reg=405 con=7 ic=51
Configparser.handleElement file-cache make=25 fill=1 children=5 reg=151 con=4 ic=51
Configparser.handleElement http make=79 fill=4 children=295 reg=149 con=5 ic=50
Configparser.handleElement ssl make=66 fill=5 children=6 reg=151 con=4 ic=50
Configparser.handleElement protocol make=42 fill=6 children=1026 reg=211 con=6 ic=49
Configparser.handleElement file-cache make=24 fill=1 children=6 reg=155 con=3 ic=51
Configparser.handleElement http make=77 fill=5 children=301 reg=170 con=5 ic=51
Configparser.handleElement protocol make=45 fill=3 children=702 reg=213 con=7 ic=48
Configparser.handleElement protocols make=22 fill=1 children=4366 reg=352 con=5 ic=50
Configparser.handleElement network-listener make=38 fill=9 children=5 reg=427 con=4 ic=51
Configparser.handleElement network-listener make=38 fill=8 children=6 reg=209 con=4 ic=49
Configparser.handleElement network-listener make=37 fill=7 children=6 reg=210 con=4 ic=49
Configparser.handleElement network-listeners make=26 fill=1 children=1470 reg=314 con=6 ic=49
Configparser.handleElement transport make=52 fill=3 children=5 reg=474 con=4 ic=51
Configparser.handleElement transports make=25 fill=1 children=659 reg=292 con=6 ic=50
Configparser.handleElement network-config make=45 fill=2 children=7865 reg=327 con=6 ic=49
Configparser.handleElement thread-pool make=35 fill=7 children=5 reg=402 con=4 ic=50
Configparser.handleElement thread-pool make=36 fill=3 children=6 reg=209 con=4 ic=48
Configparser.handleElement thread-pool make=34 fill=4 children=6 reg=210 con=3 ic=49
Configparser.handleElement thread-pools make=23 fill=1 children=1344 reg=288 con=4 ic=49
Configparser.handleElement module-monitoring-levels make=63 fill=1 children=6 reg=375 con=5 ic=49
Configparser.handleElement monitoring-service make=29 fill=1 children=561 reg=350 con=6 ic=49
Configparser.handleElement failure-detection make=24 fill=1 children=6 reg=303 con=3 ic=49
Configparser.handleElement group-management-service make=35 fill=0 children=449 reg=328 con=5 ic=49
Configparser.handleElement availability-service make=39 fill=0 children=6 reg=374 con=5 ic=49
Configparser.handleElement config make=68 fill=4 children=124925 reg=516 con=15 ic=50
Configparser.handleElement access-log make=30 fill=0 children=6 reg=151 con=4 ic=49
Configparser.handleElement property make=25 fill=4 children=6 reg=310 con=3 ic=51
Configparser.handleElement virtual-server make=48 fill=4 children=485 reg=217 con=4 ic=50
Configparser.handleElement virtual-server make=46 fill=4 children=6 reg=213 con=4 ic=48
Configparser.handleElement http-service make=25 fill=1 children=1571 reg=148 con=5 ic=48
Configparser.handleElement orb make=23 fill=3 children=5 reg=149 con=4 ic=48
Configparser.handleElement iiop-listener make=39 fill=6 children=6 reg=222 con=5 ic=50
Configparser.handleElement ssl make=107 fill=7 children=8 reg=233 con=5 ic=56
Configparser.handleElement iiop-listener make=84 fill=11 children=543 reg=285 con=5 ic=52
Configparser.handleElement ssl make=60 fill=5 children=6 reg=162 con=5 ic=51
Configparser.handleElement iiop-listener make=59 fill=7 children=397 reg=283 con=5 ic=50
Configparser.handleElement iiop-service make=25 fill=1 children=2976 reg=198 con=5 ic=51
Configparser.handleElement jmx-connector make=42 fill=8 children=6 reg=217 con=5 ic=49
Configparser.handleElement property make=41 fill=6 children=8 reg=304 con=3 ic=50
Configparser.handleElement das-config make=63 fill=2 children=8 reg=169 con=4 ic=50
Configparser.handleElement admin-service make=44 fill=5 children=1337 reg=193 con=5 ic=49
Configparser.handleElement manager-properties make=24 fill=1 children=6 reg=154 con=4 ic=50
Configparser.handleElement store-properties make=40 fill=1 children=8 reg=175 con=4 ic=50
Configparser.handleElement session-manager make=24 fill=1 children=653 reg=193 con=4 ic=51
Configparser.handleElement session-properties make=36 fill=2 children=8 reg=188 con=6 ic=63
Configparser.handleElement session-config make=28 fill=1 children=1363 reg=195 con=5 ic=50
Configparser.handleElement web-container make=34 fill=2 children=1721 reg=192 con=5 ic=49
DomDocument.buildModel org.glassfish.ejb.config.EjbTimerServiceInjector 54
DomDocument.buildModel org.glassfish.ejb.config.EjbContainerInjector 218
Configparser.handleElement ejb-timer-service make=38 fill=1 children=6 reg=665 con=4 ic=53
Configparser.handleElement ejb-container make=66 fill=2 children=855 reg=468 con=5 ic=50
DomDocument.buildModel org.glassfish.ejb.config.MdbContainerInjector 63
Configparser.handleElement mdb-container make=43 fill=2 children=9 reg=370 con=4 ic=53
Configparser.handleElement jms-host make=31 fill=6 children=6 reg=225 con=4 ic=51
Configparser.handleElement jms-service make=56 fill=7 children=427 reg=198 con=5 ic=50
Configparser.handleElement module-log-levels make=66 fill=1 children=6 reg=487 con=4 ic=51
Configparser.handleElement log-service make=61 fill=5 children=683 reg=390 con=4 ic=50
Configparser.handleElement property make=24 fill=4 children=6 reg=304 con=3 ic=50
Configparser.handleElement property make=40 fill=6 children=8 reg=291 con=3 ic=50
Configparser.handleElement auth-realm make=28 fill=5 children=954 reg=270 con=4 ic=49
Configparser.handleElement property make=27 fill=4 children=6 reg=283 con=3 ic=49
Configparser.handleElement property make=41 fill=6 children=9 reg=289 con=3 ic=50
Configparser.handleElement auth-realm make=41 fill=6 children=940 reg=264 con=5 ic=49
Configparser.handleElement auth-realm make=42 fill=6 children=8 reg=225 con=4 ic=49
Configparser.handleElement property make=24 fill=4 children=5 reg=282 con=3 ic=50
Configparser.handleElement jacc-provider make=44 fill=6 children=452 reg=261 con=4 ic=49
Configparser.handleElement jacc-provider make=42 fill=6 children=6 reg=215 con=4 ic=49
Configparser.handleElement property make=28 fill=5 children=5 reg=322 con=2 ic=51
Configparser.handleElement audit-module make=41 fill=6 children=507 reg=262 con=4 ic=50
Configparser.handleElement request-policy make=21 fill=2 children=6 reg=174 con=3 ic=50
Configparser.handleElement response-policy make=33 fill=5 children=8 reg=178 con=3 ic=72
Configparser.handleElement property make=40 fill=5 children=8 reg=451 con=5 ic=85
Configparser.handleElement property make=44 fill=6 children=7 reg=306 con=4 ic=52
Configparser.handleElement property make=41 fill=6 children=8 reg=305 con=3 ic=50
Configparser.handleElement property make=39 fill=6 children=9 reg=300 con=2 ic=51
Configparser.handleElement provider-config make=32 fill=5 children=2879 reg=273 con=7 ic=50
Configparser.handleElement request-policy make=22 fill=3 children=6 reg=166 con=3 ic=51
Configparser.handleElement response-policy make=35 fill=5 children=8 reg=181 con=3 ic=50
Configparser.handleElement property make=47 fill=6 children=9 reg=313 con=3 ic=51
Configparser.handleElement property make=41 fill=7 children=8 reg=300 con=3 ic=70
Configparser.handleElement property make=42 fill=6 children=8 reg=458 con=4 ic=85
Configparser.handleElement property make=43 fill=6 children=8 reg=447 con=4 ic=80
Configparser.handleElement property make=40 fill=6 children=7 reg=438 con=4 ic=82
Configparser.handleElement provider-config make=54 fill=8 children=3784 reg=347 con=9 ic=82
Configparser.handleElement request-policy make=33 fill=4 children=8 reg=253 con=4 ic=77
Configparser.handleElement response-policy make=34 fill=4 children=8 reg=257 con=4 ic=83
Configparser.handleElement property make=47 fill=6 children=8 reg=474 con=4 ic=79
Configparser.handleElement property make=43 fill=6 children=8 reg=495 con=5 ic=86
Configparser.handleElement property make=45 fill=7 children=9 reg=480 con=5 ic=88
Configparser.handleElement provider-config make=56 fill=8 children=3177 reg=352 con=9 ic=80
Configparser.handleElement request-policy make=33 fill=4 children=9 reg=247 con=5 ic=85
Configparser.handleElement response-policy make=32 fill=4 children=6 reg=179 con=3 ic=52
Configparser.handleElement property make=28 fill=5 children=5 reg=349 con=3 ic=52
Configparser.handleElement property make=27 fill=4 children=5 reg=302 con=3 ic=55
Configparser.handleElement property make=27 fill=3 children=6 reg=304 con=3 ic=51
Configparser.handleElement property make=26 fill=4 children=6 reg=304 con=3 ic=52
Configparser.handleElement provider-config make=54 fill=9 children=2748 reg=295 con=6 ic=51
Configparser.handleElement message-security-config make=42 fill=5 children=14852 reg=271 con=5 ic=51
Configparser.handleElement security-service make=71 fill=2 children=20883 reg=202 con=8 ic=51
Configparser.handleElement transaction-service make=43 fill=8 children=9 reg=162 con=5 ic=49
Configparser.handleElement diagnostic-service make=60 fill=2 children=8 reg=181 con=4 ic=50
Configparser.handleElement java-config make=70 fill=6 children=902 reg=169 con=10 ic=51
DomDocument.buildModel org.glassfish.web.config.serverbeans.WebContainerAvailabilityInjector 90
Configparser.handleElement web-container-availability make=31 fill=1 children=9 reg=743 con=5 ic=62
DomDocument.buildModel org.glassfish.ejb.config.EjbContainerAvailabilityInjector 59
Configparser.handleElement ejb-container-availability make=48 fill=6 children=9 reg=417 con=4 ic=51
DomDocument.buildModel com.sun.enterprise.connectors.jms.config.JmsAvailabilityInjector 90
Configparser.handleElement jms-availability make=45 fill=1 children=14 reg=383 con=4 ic=51
Configparser.handleElement availability-service make=51 fill=2 children=2575 reg=203 con=6 ic=49
Configparser.handleElement file-cache make=27 fill=1 children=5 reg=162 con=4 ic=52
Configparser.handleElement http make=89 fill=3 children=311 reg=155 con=5 ic=50
Configparser.handleElement protocol make=35 fill=3 children=683 reg=221 con=7 ic=49
Configparser.handleElement file-cache make=24 fill=1 children=6 reg=154 con=4 ic=50
Configparser.handleElement http make=76 fill=3 children=298 reg=153 con=5 ic=49
Configparser.handleElement ssl make=64 fill=5 children=6 reg=157 con=4 ic=50
Configparser.handleElement protocol make=35 fill=4 children=1019 reg=216 con=6 ic=49
Configparser.handleElement file-cache make=23 fill=1 children=6 reg=155 con=4 ic=50
Configparser.handleElement http make=76 fill=4 children=298 reg=158 con=5 ic=49
Configparser.handleElement protocol make=35 fill=3 children=668 reg=218 con=6 ic=49
Configparser.handleElement file-cache make=23 fill=1 children=6 reg=159 con=4 ic=50
Configparser.handleElement http make=75 fill=4 children=302 reg=157 con=5 ic=49
Configparser.handleElement ssl make=61 fill=8 children=5 reg=158 con=4 ic=49
Configparser.handleElement protocol make=36 fill=4 children=1065 reg=222 con=6 ic=49
Configparser.handleElement http-redirect make=23 fill=2 children=6 reg=367 con=3 ic=51
Configparser.handleElement protocol make=36 fill=3 children=528 reg=224 con=6 ic=50
Configparser.handleElement protocol-finder make=26 fill=5 children=6 reg=396 con=4 ic=51
Configparser.handleElement protocol-finder make=28 fill=6 children=6 reg=210 con=4 ic=50
Configparser.handleElement port-unification make=24 fill=1 children=979 reg=314 con=5 ic=51
Configparser.handleElement protocol make=36 fill=3 children=1438 reg=226 con=6 ic=50
Configparser.handleElement protocols make=27 fill=1 children=7673 reg=149 con=6 ic=54
Configparser.handleElement network-listener make=39 fill=8 children=6 reg=222 con=4 ic=49
Configparser.handleElement network-listener make=38 fill=7 children=6 reg=215 con=3 ic=49
Configparser.handleElement network-listener make=38 fill=7 children=6 reg=216 con=4 ic=48
Configparser.handleElement network-listeners make=27 fill=1 children=1272 reg=149 con=6 ic=48
Configparser.handleElement transport make=55 fill=3 children=6 reg=211 con=4 ic=48
Configparser.handleElement transports make=25 fill=1 children=394 reg=148 con=5 ic=48
Configparser.handleElement network-config make=40 fill=2 children=10196 reg=148 con=6 ic=47
Configparser.handleElement thread-pool make=34 fill=3 children=5 reg=216 con=4 ic=48
Configparser.handleElement thread-pool make=35 fill=5 children=5 reg=216 con=4 ic=49
Configparser.handleElement thread-pools make=22 fill=1 children=761 reg=149 con=4 ic=47
Configparser.handleElement failure-detection make=24 fill=1 children=5 reg=150 con=3 ic=48
Configparser.handleElement group-management-service make=34 fill=1 children=288 reg=149 con=4 ic=48
Configparser.handleElement system-property make=28 fill=6 children=6 reg=216 con=3 ic=47
Configparser.handleElement system-property make=26 fill=4 children=6 reg=227 con=3 ic=47
Configparser.handleElement system-property make=27 fill=4 children=5 reg=215 con=3 ic=48
Configparser.handleElement system-property make=27 fill=4 children=6 reg=220 con=3 ic=47
Configparser.handleElement system-property make=26 fill=4 children=6 reg=218 con=2 ic=48
Configparser.handleElement system-property make=26 fill=4 children=6 reg=226 con=3 ic=47
Configparser.handleElement system-property make=26 fill=4 children=6 reg=221 con=3 ic=47
Configparser.handleElement system-property make=26 fill=4 children=6 reg=221 con=2 ic=48
Configparser.handleElement system-property make=26 fill=3 children=6 reg=224 con=2 ic=48
Configparser.handleElement system-property make=26 fill=4 children=6 reg=225 con=3 ic=47
Configparser.handleElement module-monitoring-levels make=53 fill=1 children=6 reg=149 con=4 ic=48
Configparser.handleElement monitoring-service make=29 fill=1 children=319 reg=149 con=5 ic=48
Configparser.handleElement config make=54 fill=4 children=56491 reg=213 con=17 ic=47
Configparser.handleElement configs make=29 fill=1 children=182537 reg=372 con=4 ic=48
Configparser.handleElement property make=29 fill=5 children=6 reg=344 con=3 ic=47
Configparser.handleElement secure-admin-principal make=23 fill=2 children=6 reg=386 con=3 ic=49
Configparser.handleElement secure-admin-principal make=24 fill=3 children=7 reg=212 con=2 ic=47
Configparser.handleElement secure-admin make=29 fill=3 children=917 reg=368 con=5 ic=49
Configparser.handleElement clusters make=24 fill=0 children=6 reg=311 con=4 ic=49
Configparser.handleElement applications make=23 fill=0 children=6 reg=156 con=4 ic=47
Configparser.handleElement domain make=3450 fill=44 children=244486 reg=189 con=10 ic=50
DomainXml.run 440432

Comment by Tom Mueller [ 24/Apr/13 ]

The Dom.register time is unusually long for three config beans:

Configparser.handleElement jdbc-resource make=38 fill=6 children=7 reg=28745 con=6 ic=72
Configparser.handleElement batch-runtime-configuration make=23 fill=1 children=7 reg=11790 con=6 ic=95
Configparser.handleElement jms-host make=37 fill=6 children=7 reg=11095 con=6 ic=72

Most of the registration time (> 95%) is spent in the following line:

ctrs.add(myselfReified.getImplementationClass());

If we can eliminate, delay, or rewrite this call, we could cut 30-40ms off of the domain.xml parse time.

Comment by Tom Mueller [ 01/May/13 ]

Still working on this for 4.0.

Comment by Tom Mueller [ 01/May/13 ]

A possible improvement:

The TranslatedConfigView.getProxy method (in the nucleus/admin/config-api module) creates a new proxy every time it is called even though proxies are immutable objects. If it caches proxy objects, the hit rate is fairly high. However, most of the time is spent creating a proxy the first time. Creating a proxy the second time is about 10-40 microseconds whereas creating a proxy the first time can take milliseconds. So the savings from caching proxies is only a few milliseconds for the entire startup process.

Here's a diff for adding a proxy cache:

--- Base (BASE)
+++ Locally Modified (Based On LOCAL)
@@ -57,6 +57,9 @@
 import java.security.UnrecoverableKeyException;
 import java.security.cert.CertificateException;
 import java.io.IOException;
+import java.lang.reflect.InvocationHandler;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * View that translate configured attributes containing properties like ${foo.bar}
@@ -67,6 +70,7 @@
 public class TranslatedConfigView implements ConfigView {
 
     final static Pattern p = Pattern.compile("([^\\$]*)\\$\\{([^\\}]*)\\}([^\\$]*)");
+    final static Map<ProxyKey,Object> proxyCache = new HashMap<ProxyKey,Object>();
 
     private static final String ALIAS_TOKEN = "ALIAS";
     private static int MAX_SUBSTITUTION_DEPTH = 100;
@@ -147,9 +151,23 @@
 
     @Override
     public <T extends ConfigBeanProxy> T getProxy(Class<T> proxyType) {
-        return proxyType.cast(Proxy.newProxyInstance(proxyType.getClassLoader(), new Class[]{proxyType},
-                 this));
+        ProxyKey pk = new ProxyKey(proxyType, this);
+        synchronized (proxyCache) {
+            Object proxy = proxyCache.get(pk);
+            if (proxy == null) {
+                //long s = System.nanoTime();
+                proxy = Proxy.newProxyInstance(proxyType.getClassLoader(), new Class[]{proxyType},
+                     this);
+                proxyCache.put(pk, proxy);
+                //long e = System.nanoTime(); 
+                //System.out.println("TranslatedConfigView.getProxy miss " + proxyType.getName() + " " + this + " " + (e-s)/1000);
+            } else {
+                //System.out.println("TranslatedConfigView.getProxy hit " + proxyType.getName() + " " + this);
     }
+            return proxyType.cast(proxy);
+        }
+    }
+    
     static ServiceLocator habitat;
     public static void setHabitat(ServiceLocator h) {
          habitat = h;
@@ -204,4 +222,39 @@
        }
 
     
+    static class ProxyKey { 
+        private Class aClass;
+        private InvocationHandler handler;
+        
+        public ProxyKey(Class c, InvocationHandler h) {
+            aClass = c;
+            handler = h;
 }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (obj == null) {
+                return false;
+            }
+            if (getClass() != obj.getClass()) {
+                return false;
+            }
+            final ProxyKey other = (ProxyKey) obj;
+            if (this.aClass != other.aClass && (this.aClass == null || !this.aClass.equals(other.aClass))) {
+                return false;
+            }
+            if (this.handler != other.handler && (this.handler == null || !this.handler.equals(other.handler))) {
+                return false;
+            }
+            return true;
+        }
+        
+        @Override
+        public int hashCode() {
+            int hash = 3;
+            hash = 29 * hash + (this.aClass != null ? this.aClass.hashCode() : 0);
+            hash = 29 * hash + (this.handler != null ? this.handler.hashCode() : 0);
+            return hash;
+        }
+    }
+}

Comment by Tom Mueller [ 02/May/13 ]

Here is a summary of what we have found out so far concerning domain.xml parsing.

Of the 420 ms spent in 4.0 (254 ms more than 3.1.2):

  • 6 ms is spent calling getAllServices(ConfigBeanListener.class) rather than getComponent(CageBuilder.class, "PendingConfigBeans");
  • 58 ms is spent processing config beans that were not there in 3.1.2
  • 51 ms is spent getting the implementation class for 3 config beans (I have not confirmed this, but I expect this is not done as part of domain.xml parsing in 3.1.2)
  • 50 ms is spent calling Config.addIndex (time is spent creating proxies that were not created as part of domain.xml parsing before)

This accounts for 175 ms of the 254 ms.

Comment by Mahesh Kannan [ 06/May/13 ]

Part of the problem is that Dom.register calls:
ctrs.add(myselfReified.getImplementationClass());

Which basically loads the class and hence activates the bundle. Maybe,
we should explore if the above can be avoided. Probably we should just
store the implementation class name (as opposed to storing implementation
class itself).

Having said that, this is too risky to make any changes to the config system so
late in the release cycle.

Comment by Mahesh Kannan [ 06/May/13 ]

Since this is a risky fix, marking this for 4.0.1





[GLASSFISH-18322] High Availability (HA) Session loses session attributes during replication Created: 05/Feb/12  Updated: 03/Oct/12

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1.2_b20
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: lprimak Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 5
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:
  • Linux, 8GB RAM, 8-core Intel CPU, One Cluster of 2 machines, no traffic
  • Availability enabled
  • relaxCacheVersionSemantics enabled
  • Everything else is install default

Tags: 3_1_2-exclude, 3_1_2-next

 Description   

See thread:
http://www.java.net/forum/topic/glassfish/glassfish/glassfish-31-final-high-availability-web-apps-slow-and-loses-session-state

See other related JIRA issue:
http://java.net/jira/browse/GLASSFISH-17344

Running Ajax applications reproduces this quickly.
Running non-Ajax applications it happens rarely, but still does.

I tested this in a single machine with a browser with my app in one window
and HaJsp.jsp in the other to see what's going on with the sessions.


I just tried 3.1.2b20 release, and while the performance is good now and TimeoutExceptions are gone, the Sessino state replication does not work correctly.

It seems the node with the older data is overwriting the node with the newer data:

  • a session attribute1 gets added to node1
  • a session attribute2 gets added to node2
  • node 1 all of the sudden only sees attribute2, attribute1 gets lost

This happens only with Availability turned on



 Comments   
Comment by jjackb [ 06/Feb/12 ]

As mentioned in another related (but closed issue), i have difficulties with testing session failover.

With gf3.1.1 it was possible to create a cluster with two local instances and emulating a session failover by calling e.g.:

http://localhost:28080/your/Servlet

then change URL to the second instance:

http://localhost:28081/your/Servlet

While gf 3.1.1 made the (session) failover, gf 3.1.2 always creates a new session (maybe since fixing #17504).

Is it a bug or feature? Please respond on this. Thanks.

Comment by Joe Di Pol [ 17/Feb/12 ]

Too late to address in 3.1.2. Tagging for consideration in next release.

Comment by hmeerlo [ 20/Jul/12 ]

Hi,

any news or progress on this issue? This seems like a rather important problem. Right now I am forced to use synchronous replication which makes the whole thing very slow.

Thanx

Comment by lprimak [ 03/Oct/12 ]

The session state replication now works as of GF 3.1.2.2 and relaxVersionSemantics=true

Failover of AJAX application doesn't happen seamlessly though, although reloading the page after failover
does work. Not sure if that's related to this problem.

I believe it's good enough to close this issue





[GLASSFISH-5127] stateful session beans not getting passivated Created: 10/Jun/08  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: ejb_container
Affects Version/s: 9.0pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: rajbirb Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Java Archive File Client.jar     Zip Archive Client_src.zip     Java Archive File statefulPassivation.jar     Zip Archive statefulPassivation_src.zip    
Issuezilla Id: 5,127

 Description   

Stateful session beans are not getting passivated. The bean's cache size is set
to be 1(one) in sun-ejb-jar.xml. The bean is looked up twice from a java client
and some business method invoked on it. Monitoring the application server
through console, it can be seen that the 'NumBeansInCache' keeps on increasing
on each re-run of the client. Also 'NumPassivationSuccess' is always 0(zero).

Also tried configuring the EJB container to set the 'Maximum Pool Size' and
'Maximum Pool Size' equal to 1. But the result is same.

Steps to recreate:
1. Deploy statefulPassivation.jar on the server
2. Enable monitoring for EJB Container
3. Run java -jar Client.jar with system property set for
'java.naming.factory.initial'

Check value of 'NumBeansInCache' in application server monitor and also no SOPs
given in prePassivate and postActivate callbacks appearing in logs.



 Comments   
Comment by rajbirb [ 10/Jun/08 ]

Created an attachment (id=1546)
test ejb application

Comment by rajbirb [ 10/Jun/08 ]

Created an attachment (id=1547)
sources for test ejb application

Comment by rajbirb [ 10/Jun/08 ]

Created an attachment (id=1548)
client for the test application

Comment by rajbirb [ 10/Jun/08 ]

Created an attachment (id=1549)
client sources

Comment by Mahesh Kannan [ 05/Jan/09 ]

For performance reasons the container passivates beans only if the number of
beans to be passivated is more than 8. The number 8 has was decided purely based
on performance benchmarks that were done with earlier releases.

In this case, there is only one bean that needs to be passivated and hence the
container didn't call ejbPassivate.

Also, the tunnings (max-cache-size etc.) are mainly used to controll the beans
under heavy loads.

This is not a bug at all. I am moving this as an enhancement and also reducing
the priority.

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-5056] Client side Callback mechanism between EJB and Clients - Swing, HTTP, WebServices Created: 22/May/08  Updated: 08/Mar/12

Status: Open
Project: glassfish
Component/s: ejb_container
Affects Version/s: 9.1peur2
Fix Version/s: future release

Type: New Feature Priority: Major
Reporter: miro Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 5,056

 Description   

It is very important for most of the applications to have mechanism with which
the server side (EJB) to be able to notify the client for some specific events.
This is not acceptable in most of the cases to be used JMS because such events
are session specific and depends from the current business logic. For example if
we have a product assembler algorithm which works on the server side and during
the assemble process the algorithm must ask the client (JWS/JNLP Swing, HTTP,
WebServices) to clarify something then this callback is very important. In that
case some Dialog will be shown and the user must enter some data or to make some
choice.
I try to do that with JMS but this is impossible I think because JMS distribute
to many recipients by topic/queue, not by current session.



 Comments   
Comment by marina vatkina [ 27/May/08 ]

We can increase the priority if there are more requests.

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-10876] NoSuchObjectLocalException observed during an invocation on EJB SFSB method Created: 06/Nov/09  Updated: 02/Dec/11

Status: In Progress
Project: glassfish
Component/s: ejb_container
Affects Version/s: 4.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: meenap Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows XP
Platform: Sun


Issuezilla Id: 10,876
Status Whiteboard:

3.1-exclude

Tags: 3_1-exclude

 Description   

When running longevity test using jms application, the following exception is
observed after about 5 days 2 hours into the run. The exception has appeared
once where it had caused few client errors to happen at the same. This has
happened only once during 7 days and did not affect the continuation of the run.

[#|2009-11-04T17:08:16.531-0800|INFO|glassfish|null|_ThreadID=914890;_ThreadName=Thread-1;|removing
the bean|#]

[#|2009-11-04T17:08:17.531-0800|SEVERE|glassfish|javax.enterprise.system.container.ejb.com.sun.ejb.containers.util.cache|_ThreadID=914890;_ThreadName=Thread-1;|NRU-samples.rmiiiopclient.ejb.SFSB:
Cannot load from BACKUPSTORE FOR Key: <16900a7800051f-ffffffffa78972d0-6bcd41>|#]

[#|2009-11-04T17:08:17.531-0800|WARNING|glassfish|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=914890;_ThreadName=Thread-1;|A
system exception occurred during an invocation on EJB SFSB method null
javax.ejb.NoSuchObjectLocalException: The EJB does not exist. session-key:
16900a7800051f-ffffffffa78972d0-6bcd41
at
com.sun.ejb.containers.StatefulSessionContainer._getContext(StatefulSessionContainer.java:1398)
at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2404)
at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1797)
at
com.sun.ejb.containers.StatefulSessionContainer.removeBean(StatefulSessionContainer.java:941)
at com.sun.ejb.containers.EJBObjectImpl.remove(EJBObjectImpl.java:202)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invokeEJBObjectMethod(EJBObjectInvocationHandler.java:262)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:165)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:118)
at $Proxy122.remove(Unknown Source)
at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:225)
at
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:144)
at
com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:84)
at $Proxy129.remove(Unknown Source)
at
com.s1as.e2e.richAccess.servlet.SendOrder.processRequest(SendOrder.java:138)
at com.s1as.e2e.richAccess.servlet.SendOrder.doPost(SendOrder.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:161)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:789)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:697)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:952)
at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)

#]

[#|2009-11-04T17:09:15.078-0800|INFO|glassfish|null|_ThreadID=914890;_ThreadName=Thread-1;|Exception
e java.rmi.NoSuchObjectException: CORBA OBJECT_NOT_EXIST 9998 Maybe; nested
exception is: org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x2000 minor
code: 1806 completed: Maybe|#]

[#|2009-11-04T17:09:15.203-0800|SEVERE|glassfish|null|_ThreadID=914890;_ThreadName=Thread-1;|java.rmi.NoSuchObjectException:
CORBA
OBJECT_NOT_EXIST 9998 Maybe; nested exception is:
org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x2000 minor code: 1806
completed: Maybe
at
com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:280)
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.wrapException(Util.java:698)
at
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:235)
at
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:144)
at
com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:84)
at $Proxy129.remove(Unknown Source)
at
com.s1as.e2e.richAccess.servlet.SendOrder.processRequest(SendOrder.java:138)
at com.s1as.e2e.richAccess.servlet.SendOrder.doPost(SendOrder.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:161)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:789)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:697)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:952)
at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x2000 minor code: 1806
completed: Maybe
Caused by: javax.ejb.NoSuchObjectLocalException: The EJB does not exist.
session-key: 16900a7800051f-ffffffffa78972d0-6bcd41
at
com.sun.ejb.containers.StatefulSessionContainer._getContext(StatefulSessionContainer.java:1398)
at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2404)
at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1797)
at
com.sun.ejb.containers.StatefulSessionContainer.removeBean(StatefulSessionContainer.java:941)
at com.sun.ejb.containers.EJBObjectImpl.remove(EJBObjectImpl.java:202)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invokeEJBObjectMethod(EJBObjectInvocationHandler.java:262)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:165)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:118)
at $Proxy122.remove(Unknown Source)
at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:225)
at
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:144)
at
com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:84)
at $Proxy129.remove(Unknown Source)
at
com.s1as.e2e.richAccess.servlet.SendOrder.processRequest(SendOrder.java:138)
at com.s1as.e2e.richAccess.servlet.SendOrder.doPost(SendOrder.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:161)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:789)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:697)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:952)
at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)

#]


 Comments   
Comment by meenap [ 06/Nov/09 ]

OS changed to Win XP

Comment by Mahesh Kannan [ 09/Nov/09 ]

Meena,
Is there a sun-ejb-jar.xml? If so, what is the ejb-removal-timeout-in-seconds
set to?

Also, were ther any errors related to passivation befor ethis exception?

Since, this has occured only once in this run and it is occurring on a remove
call this can be moved to a P4. I will wait for meena's reply before doing so.

Comment by Mahesh Kannan [ 09/Nov/09 ]

Meena,
Is there a sun-ejb-jar.xml? If so, what is the ejb-removal-timeout-in-seconds
set to?

Also, were ther any errors related to passivation befor ethis exception?

Since, this has occured only once in this run and it is occurring on a remove
call this can be moved to a P4. I will wait for meena's reply before doing so

Comment by Mahesh Kannan [ 12/Nov/09 ]

Since this has not affected the run, marking it as v3.1

Comment by Chris Kasso [ 08/Dec/10 ]

Clearing Fix Version (3.1_ms7) since the issue has been excluded from 3.1.





[GLASSFISH-14231] ejb cache victim-selection-policy of FIFO does not work as expected Created: 27/Oct/10  Updated: 16/Dec/10

Status: Open
Project: glassfish
Component/s: ejb_container
Affects Version/s: 3.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: anoman Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows XP
Platform: All


Issuezilla Id: 14,231
Tags: 3_1-exclude

 Description   

I set the following cache settings:

ejb-container.cache-resize-quantity - 8
ejb-container.max-cache-size - 20
ejb-container.cache-idle-timeout-in-seconds - 600
ejb-container.removal-timeout-in-seconds - 5400
ejb-container.victim-selection-policy - FIFO

Restart the server for the settings to take effect.

I create 11 beans and call them in a set order (0 to 10) and watch if there are
any passivations. None take place as expected.
I then create an extra bean and call the beans again in a set order (0 to 11)
9 passivations take place, but I expect bean 0 to be passivated (due to FIFO),
but it is not.

[testng-all] Creating 11 Stateful beans...
[testng-all] Bean 0 served by EJB ejb.cache1.EjbCacheSFSB@1510b03
[testng-all] Bean 1 served by EJB ejb.cache1.EjbCacheSFSB@edf123
[testng-all] Bean 2 served by EJB ejb.cache1.EjbCacheSFSB@1581448
[testng-all] Bean 3 served by EJB ejb.cache1.EjbCacheSFSB@1e90d95
[testng-all] Bean 4 served by EJB ejb.cache1.EjbCacheSFSB@13ac592
[testng-all] Bean 5 served by EJB ejb.cache1.EjbCacheSFSB@6de78a
[testng-all] Bean 6 served by EJB ejb.cache1.EjbCacheSFSB@71729c
[testng-all] Bean 7 served by EJB ejb.cache1.EjbCacheSFSB@d5c08f
[testng-all] Bean 8 served by EJB ejb.cache1.EjbCacheSFSB@f048dc
[testng-all] Bean 9 served by EJB ejb.cache1.EjbCacheSFSB@b21710
[testng-all] Bean 10 served by EJB ejb.cache1.EjbCacheSFSB@1ad3ac1
[testng-all] done
[testng-all] Verify that so far nothing is passivated
[testng-all] Bean 0 passivate count = 0
[testng-all] Bean 1 passivate count = 0
[testng-all] Bean 2 passivate count = 0
[testng-all] Bean 3 passivate count = 0
[testng-all] Bean 4 passivate count = 0
[testng-all] Bean 5 passivate count = 0
[testng-all] Bean 6 passivate count = 0
[testng-all] Bean 7 passivate count = 0
[testng-all] Bean 8 passivate count = 0
[testng-all] Bean 9 passivate count = 0
[testng-all] Bean 10 passivate count = 0
[testng-all] Call the beans in a predicted usage pattern:
[testng-all]
[testng-all] Bean[0] is called 1st (back when it was created)
[testng-all] Bean[10] was called least recently
[testng-all] Bean[7] is not called as much as the other beans
[testng-all] client called bean 10 (server inst used was
ejb.cache1.EjbCacheSFSB@1ad3ac1)
[testng-all] client called bean 9 (server inst used was
ejb.cache1.EjbCacheSFSB@b21710)
[testng-all] client called bean 8 (server inst used was
ejb.cache1.EjbCacheSFSB@f048dc)
[testng-all] client called bean 7 (server inst used was
ejb.cache1.EjbCacheSFSB@d5c08f)
[testng-all] client called bean 6 (server inst used was
ejb.cache1.EjbCacheSFSB@71729c)
[testng-all] client called bean 5 (server inst used was
ejb.cache1.EjbCacheSFSB@6de78a)
[testng-all] client called bean 4 (server inst used was
ejb.cache1.EjbCacheSFSB@13ac592)
[testng-all] client called bean 3 (server inst used was
ejb.cache1.EjbCacheSFSB@1e90d95)
[testng-all] client called bean 2 (server inst used was
ejb.cache1.EjbCacheSFSB@1581448)
[testng-all] client called bean 1 (server inst used was
ejb.cache1.EjbCacheSFSB@edf123)
[testng-all] client called bean 0 (server inst used was
ejb.cache1.EjbCacheSFSB@1510b03)
[testng-all] client called bean 10 (server inst used was
ejb.cache1.EjbCacheSFSB@1ad3ac1)
[testng-all] client called bean 9 (server inst used was
ejb.cache1.EjbCacheSFSB@b21710)
[testng-all] client called bean 8 (server inst used was
ejb.cache1.EjbCacheSFSB@f048dc)
[testng-all] client called bean 7 (server inst used was
ejb.cache1.EjbCacheSFSB@d5c08f)
[testng-all] client called bean 6 (server inst used was
ejb.cache1.EjbCacheSFSB@71729c)
[testng-all] client called bean 5 (server inst used was
ejb.cache1.EjbCacheSFSB@6de78a)
[testng-all] client called bean 4 (server inst used was
ejb.cache1.EjbCacheSFSB@13ac592)
[testng-all] client called bean 3 (server inst used was
ejb.cache1.EjbCacheSFSB@1e90d95)
[testng-all] client called bean 2 (server inst used was
ejb.cache1.EjbCacheSFSB@1581448)
[testng-all] client called bean 1 (server inst used was
ejb.cache1.EjbCacheSFSB@edf123)
[testng-all] client called bean 0 (server inst used was
ejb.cache1.EjbCacheSFSB@1510b03)
[testng-all] client called bean 10 (server inst used was
ejb.cache1.EjbCacheSFSB@1ad3ac1)
[testng-all] client called bean 9 (server inst used was
ejb.cache1.EjbCacheSFSB@b21710)
[testng-all] client called bean 8 (server inst used was
ejb.cache1.EjbCacheSFSB@f048dc)
[testng-all] client called bean 6 (server inst used was
ejb.cache1.EjbCacheSFSB@71729c)
[testng-all] client called bean 5 (server inst used was
ejb.cache1.EjbCacheSFSB@6de78a)
[testng-all] client called bean 4 (server inst used was
ejb.cache1.EjbCacheSFSB@13ac592)
[testng-all] client called bean 3 (server inst used was
ejb.cache1.EjbCacheSFSB@1e90d95)
[testng-all] client called bean 2 (server inst used was
ejb.cache1.EjbCacheSFSB@1581448)
[testng-all] client called bean 1 (server inst used was
ejb.cache1.EjbCacheSFSB@edf123)
[testng-all] client called bean 0 (server inst used was
ejb.cache1.EjbCacheSFSB@1510b03)
[testng-all] client called bean 10 (server inst used was
ejb.cache1.EjbCacheSFSB@1ad3ac1)
[testng-all] client called bean 9 (server inst used was
ejb.cache1.EjbCacheSFSB@b21710)
[testng-all] client called bean 8 (server inst used was
ejb.cache1.EjbCacheSFSB@f048dc)
[testng-all] client called bean 6 (server inst used was
ejb.cache1.EjbCacheSFSB@71729c)
[testng-all] client called bean 5 (server inst used was
ejb.cache1.EjbCacheSFSB@6de78a)
[testng-all] client called bean 4 (server inst used was
ejb.cache1.EjbCacheSFSB@13ac592)
[testng-all] client called bean 3 (server inst used was
ejb.cache1.EjbCacheSFSB@1e90d95)
[testng-all] client called bean 2 (server inst used was
ejb.cache1.EjbCacheSFSB@1581448)
[testng-all] client called bean 1 (server inst used was
ejb.cache1.EjbCacheSFSB@edf123)
[testng-all] client called bean 0 (server inst used was
ejb.cache1.EjbCacheSFSB@1510b03)
[testng-all] client called bean 10 (server inst used was
ejb.cache1.EjbCacheSFSB@1ad3ac1)
[testng-all] client called bean 9 (server inst used was
ejb.cache1.EjbCacheSFSB@b21710)
[testng-all] client called bean 8 (server inst used was
ejb.cache1.EjbCacheSFSB@f048dc)
[testng-all] client called bean 7 (server inst used was
ejb.cache1.EjbCacheSFSB@d5c08f)
[testng-all] client called bean 6 (server inst used was
ejb.cache1.EjbCacheSFSB@71729c)
[testng-all] client called bean 5 (server inst used was
ejb.cache1.EjbCacheSFSB@6de78a)
[testng-all] client called bean 4 (server inst used was
ejb.cache1.EjbCacheSFSB@13ac592)
[testng-all] client called bean 3 (server inst used was
ejb.cache1.EjbCacheSFSB@1e90d95)
[testng-all] client called bean 2 (server inst used was
ejb.cache1.EjbCacheSFSB@1581448)
[testng-all] client called bean 1 (server inst used was
ejb.cache1.EjbCacheSFSB@edf123)
[testng-all] client called bean 0 (server inst used was
ejb.cache1.EjbCacheSFSB@1510b03)
[testng-all] Verify that STILL nothing has yet been passivated
[testng-all] Bean 10 passivate count = 0
[testng-all] Bean 9 passivate count = 0
[testng-all] Bean 8 passivate count = 0
[testng-all] Bean 7 passivate count = 0
[testng-all] Bean 6 passivate count = 0
[testng-all] Bean 5 passivate count = 0
[testng-all] Bean 4 passivate count = 0
[testng-all] Bean 3 passivate count = 0
[testng-all] Bean 2 passivate count = 0
[testng-all] Bean 1 passivate count = 0
[testng-all] Bean 0 passivate count = 0
[testng-all] Now create one more bean and call it.
[testng-all]
[testng-all] When it is returned to the cache some other bean should be pushed
out!!
[testng-all]
[testng-all] Creating 12 Stateful beans...
[testng-all] Bean 0 served by EJB ejb.cache1.EjbCacheSFSB@da431b
[testng-all] Bean 1 served by EJB ejb.cache1.EjbCacheSFSB@1cd468c
[testng-all] Bean 2 served by EJB ejb.cache1.EjbCacheSFSB@6cd243
[testng-all] Bean 3 served by EJB ejb.cache1.EjbCacheSFSB@c8d4b4
[testng-all] Bean 4 served by EJB ejb.cache1.EjbCacheSFSB@febb9
[testng-all] Bean 5 served by EJB ejb.cache1.EjbCacheSFSB@1a165ca
[testng-all] Bean 6 served by EJB ejb.cache1.EjbCacheSFSB@1e65667
[testng-all] Bean 7 served by EJB ejb.cache1.EjbCacheSFSB@1ce9aa3
[testng-all] Bean 8 served by EJB ejb.cache1.EjbCacheSFSB@e48504
[testng-all] Bean 9 served by EJB ejb.cache1.EjbCacheSFSB@3ec646
[testng-all] Bean 10 served by EJB ejb.cache1.EjbCacheSFSB@677aca
[testng-all] Bean 11 served by EJB ejb.cache1.EjbCacheSFSB@189136d
[testng-all] done
[testng-all] Check that the bean which was passivated is the expected one
[testng-all] Bean 0 passivate count = 0
[testng-all] Bean 1 passivate count = 1
[testng-all] Bean 2 passivate count = 1
[testng-all] Bean 3 passivate count = 1
[testng-all] Bean 4 passivate count = 1
[testng-all] Bean 5 passivate count = 1
[testng-all] Bean 6 passivate count = 1
[testng-all] Bean 7 passivate count = 1
[testng-all] Bean 8 passivate count = 1
[testng-all] Bean 9 passivate count = 1
[testng-all] Bean 10 passivate count = 0
[testng-all] TEST_FAILED : FIFO bean was not passivated!
[testng-all] TEST_ENDED
[testng-all] Test case ended. Cleaning up ...



 Comments   
Comment by Mahesh Kannan [ 16/Dec/10 ]

This could be a bug in the FIFOCache that extends LRUCache. However, this issue doesn't cause any perf regressions or CTS failures. But will look into the issue once we finish the 3.1 issues





[GLASSFISH-15563] Issues found with static analysis of findbugs for shoal-cache.jar Created: 13/Jan/11  Updated: 13/Jan/11

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1_b36
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: mzh777 Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux



 Description   

Ran findbugs against shoal-cache.jar and found 2 issues worth considering:
1. Bad attempt to compute absolute value of signed 32-bit hashcode in org.shoal.ha.mapper.DefaultKeyMapper.findReplicaInstance(String, Object, String) getHashCodeForKey(Object) getMappedInstance(String, Object)
2. Uninitialized read of tokenId in new org.shoal.adapter.store.commands.SizeRequestCommand() and SizeResponseCommand()






[GLASSFISH-875] ejbTimer improvement Created: 27/Jul/06  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: other
Affects Version/s: 9.1pe
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: mozheyko_d Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 875

 Description   

For improvement using ejbTimers within j2ee applications i see several useful
issues:
1. Way for changing default timer datasource from system to another;
2. Way for auto generate ejb_timer_tbl table in custom database;
3. Method for receive timer-interval attribute from Timer-object;



 Comments   
Comment by gfbugbridge [ 05/Apr/07 ]

<BT6543331>

Comment by sridatta [ 09/Apr/07 ]

Assigning this RFE to Mahesh

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-4630] Bean cache load factor interferring with expectations Created: 06/Apr/08  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: ejb_container
Affects Version/s: 9.1peur1
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: dinglemouse Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows XP
Platform: PC


Issuezilla Id: 4,630

 Description   

From what I can understand of the source code the determination of a SFSB cache
overflow takes into account some "threshold" or load factor ratio of the
maxCacheSize.

The effect of this is that when I set a max-cache-size default of 512 in
practice the container only seems to be caching something like 483 of my SFSBs!
It is not-intuitive. I expected the cache would be able to be 100% full before
overflowing.



 Comments   
Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-4292] Support for idempotent methods Created: 28/Feb/08  Updated: 15/Apr/14

Status: Open
Project: glassfish
Component/s: ejb_container
Affects Version/s: V3
Fix Version/s: not determined

Type: New Feature Priority: Major
Reporter: Mahesh Kannan Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 4,292
Status Whiteboard:

v3-prd-item


 Description   

This will allow ORB to retry invocations of idempotent methods



 Comments   
Comment by Mahesh Kannan [ 28/Feb/08 ]

Ref: EJB-07

Comment by ksak [ 28/Jan/09 ]

Taking ownership of Mahesh's bugs

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-16615] HA session expires issue Created: 11/May/11  Updated: 17/Oct/11

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Shing Wai Chan Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Status Whiteboard:

3_1-next

Tags: 3_1-next, 3_1_1-scrubbed, 3_1_x-exclude

 Description   

Suppose we have a load balancer with 3 instances.
1. A section, s1, is created in instance 1 for a given app.
2. There is a network issue. instance 1 is not available in the network.
3. Subsequent requests go to instance 2.
4. The session, s1, in instance 1 is still in memory and will be expired, and then removed.
This will cause an issue.

The same issue is in HA SSO.



 Comments   
Comment by Shing Wai Chan [ 11/May/11 ]

In case of HA SSO, one also need versioning in order to solve the problem. This has been filed as issue GLASSFISH-16377 and the fixed has been checkin to trunk.

Comment by Mahesh Kannan [ 20/May/11 ]

This really requires a new feature to be implemented in shoal. Basically, it requires shoal to maintain info about which instance is the owning instance of a session. This allows shoal to ignore stale 'remove-expire" commands.

This is a new feature and hence deferring it to 3.1-next





[GLASSFISH-16585] MessageID is missing in log messages Created: 09/May/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: hadb_admin
Affects Version/s: 3.1_b43
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: naman_mehta Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Message is logged directly in java file instead of LogStrings.properties

http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3LoggingMessageFormat

One of the message in file:
ha/ha-file-store/src/main/java/org/glassfish/ha/store/adapter/file/FileBackingStore.java: logger.log(Level.INFO, "[FileBackingStore::initialize] Successfully Created and initialized store. "

There are other statements too...



 Comments   
Comment by Byron Nevins [ 09/May/11 ]

Reassign to the real author.

Comment by Tom Mueller [ 07/Feb/13 ]

Moving to 4.0.1 as this does not need to be fixed for the Java EE 7 RI/SDK release.





[GLASSFISH-15891] Provide API for supported Persistence Scope in <web-container-availability> Created: 08/Feb/11  Updated: 08/Feb/11

Status: Open
Project: glassfish
Component/s: hadb_admin
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Anissa Lam Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In order to avoid conflict between what is supported in the backend and what is shown in the GUI, please provide an API (probably a hidden command) for what is supported for Persistency Scope "persistent-scope' in the backend.






[GLASSFISH-15890] provide API for supported Persistence Frequency in <web-container-availability> Created: 08/Feb/11  Updated: 08/Feb/11

Status: Open
Project: glassfish
Component/s: hadb_admin
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Anissa Lam Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In order to avoid conflict between what is supported in the backend and what is shown in the GUI, please provide an API (a hidden command) for what is supported for Persistence Frequency "persistence-frequency" in the backend.






[GLASSFISH-15746] Multiple Failover of IIOP does not happen on Dynamic cluster Created: 28/Jan/11  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1_b39
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: gopaljorapur Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File das_server.log     Text File server.log    
Issue Links:
Related
is related to GLASSFISH-18392 Multiple Failover of IIOP does not ha... Open
Tags: 312_qa, 3_1_2-exclude

 Description   

Here is one scenario that fails (this issue is found after 14867 is fixed) in dynamic cluster

1. Create a cluster with 3 instances
2. Start appclient
3. Creates initialContext, lookup beans(one stateless one stateful), access a business method on bean1
4. Halt the appclient execution
5. Kill the instance(instance1) that processed the request
6. Create two new instances and add to the cluster, start the new instances
7. Continue appclient execution
8. Access the business method again, it will get failed over to another healthy instance(instance2)
9. Kill the instance2
10. Access another beans(bean2) business method (we did lookup in step 3)

Now we get the following exception

javax.ejb.NoSuchEJBException
at com.sun.appserver.ee.tests.ejb.stateful._SFSB3Remote_Wrapper.getName(com/sun/appserver/ee/tests/ejb/stateful/_SFSB3Remote_Wrapper.java)
at com.sun.appserver.ee.tests.client.ClientDynamicClusterAddInstance.runTest2(Unknown Source)
at com.sun.appserver.ee.tests.client.ClientDynamicClusterAddInstance.runMultipleFOTest(Unknown Source)
at com.sun.appserver.ee.tests.client.ClientDynamicClusterAddInstance.main(Unknown Source)
Caused by: java.rmi.NoSuchObjectException: CORBA OBJECT_NOT_EXIST 9999 No; nested exception is: org.omg.CORBA.OBJECT_NOT_EXIST: ---------BEGIN server-side stack trace---------
org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x2000 minor code: 1807 completed: No
at org.glassfish.enterprise.iiop.impl.POARemoteReferenceFactory.preinvoke(POARemoteReferenceFactory.java:527)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorImpl_NR_USM.internalGetServant(POAPolicyMediatorImpl_NR_USM.java:93)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorBase.getInvocationServant(POAPolicyMediatorBase.java:139)
at com.sun.corba.ee.impl.oa.poa.POAImpl.getInvocationServant(POAImpl.java:1827)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServant(CorbaServerRequestDispatcherImpl.java:286)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:311)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:196)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)

---------END server-side stack trace--------- vmcid: 0x2000 minor code: 1807 completed: No
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:269)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:213)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:227)
at com.sun.appserver.ee.tests.ejb.stateful._SFSB3Remote_Remote_DynamicStub.getName(com/sun/appserver/ee/tests/ejb/stateful/_SFSB3Remote_Remote_DynamicStub.java)
... 4 more
Caused by: org.omg.CORBA.OBJECT_NOT_EXIST: ---------BEGIN server-side stack trace---------
org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x2000 minor code: 1807 completed: No
at org.glassfish.enterprise.iiop.impl.POARemoteReferenceFactory.preinvoke(POARemoteReferenceFactory.java:527)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorImpl_NR_USM.internalGetServant(POAPolicyMediatorImpl_NR_USM.java:93)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorBase.getInvocationServant(POAPolicyMediatorBase.java:139)
at com.sun.corba.ee.impl.oa.poa.POAImpl.getInvocationServant(POAImpl.java:1827)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServant(CorbaServerRequestDispatcherImpl.java:286)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:311)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:196)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)

---------END server-side stack trace--------- vmcid: 0x2000 minor code: 1807 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:900)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:131)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:637)
at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:499)
at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:373)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:273)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:200)



 Comments   
Comment by Ken Cavanaugh [ 01/Feb/11 ]

I am tentatively assigning this issue to GF 3.2.

Comment by Harshad Vilekar [ 05/May/11 ]

This can be duplicated with iiop-folb dev test. Here is the code snippet:

---------------------------------
@Test( "15746" )
public void test15746() throws NamingException {

:
:

InitialContext ic = makeIC() ;
Location slsb = lookup( ic, BeanType.SLSB ) ;
Location sfsb = lookup( ic, BeanType.SFSB ) ;

String inst = invokeMethod(slsb) ;
gfCluster.stopInstance(inst);

final String testBase = "testInstance" ;
final int portBase = 20000 ;
gfCluster.createInstances( testBase, 2, "", portBase ) ;
gfCluster.startInstance( testBase + "0" );
gfCluster.startInstance( testBase + "1" );

final String[] flags =

{ /* "subcontract", "transport", */ "folb" }

;

try

{ setORBDebug(flags); String inst2 = invokeMethod(slsb) ; String inst2_1 = invokeMethod(sfsb) ; // FAILS HERE gfCluster.stopInstance(inst2_1); }

finally

{ clearORBDebug(flags); }


==========================

The exception is thrown in the server log of one of the running instances. (see attached server.log).

[#|2011-04-22T12:08:17.632-0700|SEVERE|oracle-glassfish3.1|javax.enterprise.system.container.ejb.com.sun.ejb.containers.util.cache|_ThreadID=153;_ThreadName=Thread-1;|NRU-orb.folb.StatefullLocationBean: Cannot load from BACKUPSTORE FOR Key: <b19009a700851f-7ded5059-0>|#]

[#|2011-04-22T12:08:17.634-0700|SEVERE|oracle-glassfish3.1|javax.enterprise.resource.corba|_ThreadID=34;_ThreadName=Thread-1;|iiop.gettie_exception
javax.ejb.NoSuchObjectLocalException: Invalid Session Key ( b19009a700851f-7ded5059-0)
at com.sun.ejb.containers.StatefulSessionContainer._getContextForInstance(StatefulSessionContainer.java:1266)
at com.sun.ejb.containers.StatefulSessionContainer.getEJBRemoteBusinessObjectImpl(StatefulSessionContainer.java:1290)
at com.sun.ejb.containers.BaseContainer.getTargetObject(BaseContainer.java:1741)
at org.glassfish.enterprise.iiop.impl.POARemoteReferenceFactory.preinvoke(POARemoteReferenceFactory.java:500)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorImpl_NR_USM.internalGetServant(POAPolicyMediatorImpl_NR_USM.java:93)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorBase.getInvocationServant(POAPolicyMediatorBase.java:139)
at com.sun.corba.ee.impl.oa.poa.POAImpl.getInvocationServant(POAImpl.java:1827)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServant(CorbaServerRequestDispatcherImpl.java:286)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:311)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:196)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)

#]
==========================

Just in case needed - the client side exception is:
---------------------
Caused by: java.rmi.NoSuchObjectException: CORBA OBJECT_NOT_EXIST 9999 No; nested exception is:
org.omg.CORBA.OBJECT_NOT_EXIST: ---------BEGIN server-side stack trace---------
org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x2000 minor code: 1807 completed: No
at org.glassfish.enterprise.iiop.impl.POARemoteReferenceFactory.preinvoke(POARemoteReferenceFactory.java:527)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorImpl_NR_USM.internalGetServant(POAPolicyMediatorImpl_NR_USM.java:93)
:
---------------------

Changing the category to failover.

Comment by Harshad Vilekar [ 05/May/11 ]

DAS log with org.shoal.ha=FINE

Comment by Mahesh Kannan [ 25/May/11 ]

3_1_1-scrubbed

Comment by Mahesh Kannan [ 14/Dec/11 ]

will work with Harshad on this issue

Comment by Mahesh Kannan [ 19/Jan/12 ]

Looks like SFSBClientVersionInterceptor class and SFSBServerVersionInterceptor classes have to be ported from 2.x to fix this issue. These classes were not ported from 2.x into our V3 workspace.

Without these classes, the iiop client is not sending the correct SFSB version.

At this stage bring a new set of classes is risky. So marking this as 3.1.2-exclude

Comment by shreedhar_ganapathy [ 13/Feb/13 ]

Retargetted





[GLASSFISH-16757] container-common has hard dependency on JPA and JTA Created: 29/May/11  Updated: 30/May/11

Status: Open
Project: glassfish
Component/s: other
Affects Version/s: 3.1
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

While experimenting the idea of a light weight web container distribution for GF, I noticed that "container common" module depends on JTA and JPA. This may have been done as a first attempt to modularize the system, but we should fix this now.






[GLASSFISH-18368] [intermittent] Unable to set a value on the lb config's rewrite-location property when using jdk 1.7.0_03 Created: 15/Feb/12  Updated: 15/Feb/13

Status: Open
Project: glassfish
Component/s: configuration
Affects Version/s: 3.1.2_b23
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: varunrupela Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File server.log    
Tags: 3_1_2-release-note-added, 3_1_2-release-notes, 3_1_2_qa

 Description   

GF Build: 23
JDK: 1.7.0_03
Platform: OEL 6

This works when using jdk 1.6.0_30.

Steps to reproduce the issue:

  • Install GF image with java-home set to a jdk with version 1.7.0_03
  • Start domain1: asadmin start-domain domain1
  • Create a LB Config: asadmin create-http-lb-config my-lb
  • Try to set the property rewrite-location on the lb: asadmin set lb-configs.lb-config.my-lb.property.rewrite-location=false

This last step results in the following output:

remote failure: Could not change the attributes: wrong number of arguments
wrong number of arguments
Command set failed.

Domain logs with logger javax.enterprise.system.tools.admin set to FINE are attached.

Workaround: Users can manually set the rewrite-location value in the loadbalancer.xml file that is in the <webserver>/https-<machine-name>/conf location.



 Comments   
Comment by varunrupela [ 15/Feb/12 ]


We are yet to check if this affects setting of other properties across admin.

Comment by Tom Mueller [ 15/Feb/12 ]

This issue is probably similar to GLASSFISH-18184

Comment by Tom Mueller [ 15/Feb/12 ]

Here is what might be happening.

The problem is in the HK2 ConfigSupport._createAndSet method, in the following loop:


                        for (Method m : parentProxyType.getMethods()) {
                            final Class returnType = m.getReturnType();
                            if (Collection.class.isAssignableFrom(returnType)) {
                                // this could be it...
                                if (!(m.getGenericReturnType() instanceof ParameterizedType))
                                    throw new IllegalArgumentException("List needs to be parameterized");
                                final Class itemType = Types.erasure(Types.getTypeArgument(m.getGenericReturnType(), 0));
                                if (itemType.isAssignableFrom(childType)) {
                                    List list = null;
                                    try {
                                        list = (List) m.invoke(param, null);
                                    } catch (IllegalAccessException e) {
                                        throw new TransactionFailure("Exception while adding to the parent", e);
                                    } catch (InvocationTargetException e) {
                                        throw new TransactionFailure("Exception while adding to the parent", e);
                                    }
                                    if (list != null) {
                                        list.add(child);
                                        break;
                                    }
                                }
                            }
                        }

When adding the "rewrite-location" property, as indicated in the bug report, this loop is executed with parentProxyType set to LbConfig. The getMethods call returns 28 methods. When I go through this with the debugger, this is the first method:

    List<Property> getProperty()

This satisfies the conditions in the loop and the m.invoke method is called.

However, there is another item in the getMethods return value (item 6) that is for this method:

    @DuckTyped <T> List<T> getRefs(Class<T> type);

This method also satisifies the conditions of the loop:

  • Collection.class.isAssignableFrom(List.class) is true
  • m.getGenericReturnType is a ParameterizedType
  • itemType is the Object class
  • Object.class.isAssignableFrom(Property.class) is true

So if the getRefs method is returned from getMethods before getProperty, then we get the failure indicated in the bug.

Adding the same fix as is in _deleteChild:

 && (m.getParameterTypes().length == 0)

will fix this problem.

Comment by Tom Mueller [ 15/Feb/12 ]

Assigning to Mahesh as this is an HK2 issue. Based on the analysis of this bug, it appears that this problem is specific to lb-config elements (unless there are other config beans that have methods with sufficiently similar signatures).

Comment by scatari [ 16/Feb/12 ]

This is too late to be considered for this release. Marking the bug for release notes, Please provide release notes info before COB 02/16/2012.

Comment by Rebecca Parks [ 17/Feb/12 ]

Added to the 3.1.2 Release Notes:

Description

If the JDK version is 1.7.0_03 and you attempt to set the rewrite-location load balancer property using the asadmin set command, the command fails.

Workaround

Set the rewrite-location property by editing the loadbalancer.xml file, located in the <web-server-install>/https-<machine-name>/conf directory.

Comment by varunrupela [ 17/Feb/12 ]

Adding Tom's comment to the issue, sent over e-mail:
"These method ordering bugs are sensitive to what has already happened in the JVM, such as class loading, object access, etc. "

The release notes can take into account the intermittent nature of the issue. The customer may or may not hit the issue.





[GLASSFISH-20942] javax.batch.operations.JobStartException: java.lang.IllegalArgumentException: xJCL invalid per schema Created: 27/Dec/13  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: batch
Affects Version/s: 4.0
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: aronrodrigues Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7, Net Beans 4


Tags: 4_0_1-evangelists, 4_0_1-reviewed, Jobs

 Description   

When I try to debug my project, all the job fails with this error. Maybe because some jobs starts at the same time.

The strange behaviour is when I'm not debugging, I have the same error too.

SEVERE: java.lang.RuntimeException: org.xml.sax.SAXException: FWK005 parse may not be called while parsing.
javax.batch.operations.JobStartException: java.lang.RuntimeException: org.xml.sax.SAXException: FWK005 parse may not be called while parsing.
at com.ibm.jbatch.container.api.impl.JobOperatorImpl.start(JobOperatorImpl.java:90)
at br.com.oscarasdati.msdcdm.core.CronJobBatchRunner.run(CronJobBatchRunner.java:99)
at br.com.oscarasdati.msdcdm.core.CronJobBatchRunner.timeout(CronJobBatchRunner.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4695)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:55)
at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundTimeout(SystemInterceptorProxy.java:145)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4667)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4655)
at com.sun.ejb.containers.BaseContainer.callEJBTimeout(BaseContainer.java:3993)
at com.sun.ejb.containers.EJBTimerService.deliverTimeout(EJBTimerService.java:1199)
at com.sun.ejb.containers.EJBTimerService.access$000(EJBTimerService.java:89)
at com.sun.ejb.containers.EJBTimerService$TaskExpiredWork.run(EJBTimerService.java:1919)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.RuntimeException: org.xml.sax.SAXException: FWK005 parse may not be called while parsing.
at com.ibm.jbatch.jsl.util.ValidatorHelper.getXJCLSchema(ValidatorHelper.java:42)
at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl.unmarshalJobXML(JobModelResolverImpl.java:58)
at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl.access$000(JobModelResolverImpl.java:45)
at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl$1.run(JobModelResolverImpl.java:127)
at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl$1.run(JobModelResolverImpl.java:125)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl.resolveModel(JobModelResolverImpl.java:123)
at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl.resolveModel(JobModelResolverImpl.java:45)
at com.ibm.jbatch.container.jobinstance.JobExecutionHelper.startJob(JobExecutionHelper.java:114)
at com.ibm.jbatch.container.impl.BatchKernelImpl.startJob(BatchKernelImpl.java:123)
at com.ibm.jbatch.container.api.impl.JobOperatorImpl.startInternal(JobOperatorImpl.java:121)
at com.ibm.jbatch.container.api.impl.JobOperatorImpl.start(JobOperatorImpl.java:86)
... 39 more
Caused by: org.xml.sax.SAXException: FWK005 parse may not be called while parsing.
at com.sun.org.apache.xerces.internal.jaxp.validation.Util.toSAXException(Util.java:65)
at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:259)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:627)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:659)
at com.ibm.jbatch.jsl.util.ValidatorHelper.getXJCLSchema(ValidatorHelper.java:40)
... 50 more

WARNING: JSL invalid per XSD, details:
MESSAGE: cvc-elt.1: Cannot find the declaration of element 'job'.
SEVERITY: 2
LINKED EXC: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 21; cvc-elt.1: Cannot find the declaration of element 'job'.
LOCATOR INFO:
------------
COLUMN NUMBER: 21
LINE NUMBER: 3
OFFSET: -1
CLASS: class javax.xml.bind.helpers.ValidationEventLocatorImpl
NODE: null
OBJECT: null
URL: null



 Comments   
Comment by aronrodrigues [ 09/Jan/14 ]

Could you reproduce it? Can I help?

Comment by reza_rahman [ 15/Jan/14 ]

Could you outline the steps to reproduce?

Comment by aronrodrigues [ 16/Jan/14 ]

Create 2 @Startup @Singleton Beans which starts 2 differents jobs at the same time. Run sometimes...
I made an workaround making a syncronized block in the timeout method with a static variable.

Comment by Mahesh Kannan [ 16/Apr/14 ]

Mark for 4.0.1





[GLASSFISH-21080] GlassFish tries to instantiate every class which contains a @PersistenceContext annotation Created: 04/Jun/14  Updated: 04/Jun/14

Status: Open
Project: glassfish
Component/s: None
Affects Version/s: 3.1.2.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: vseibt Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows, Oracle Java 6, latest Release (_45)



 Description   

We are trying to deploy an application (war) which uses spring-data-jpa.
At deploy time GlassFish tries to instantiate two spring-data-jpa framework classes as beans (org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean and org.springframework.data.jpa.repository.support.QueryDslRepositorySupport).

This classes have a @PersistenceContext-annotation at their setEntityManager-methods, but no annotation at class level which declares this classes as beans.

I think it's wrong behavior for an application server to try to instantiate classes which have no "bean annotation" like @Statefull ...

I think it's no duplicate of GLASSFISH-4204 because it's no annotation at class level.

This makes spring-data-jpa unusable on GlassFish (you do not need to like spring, but spring-data is realy cool). We have no problems with spring-data on jetty or tomcat (which are of course no JEE container), but we have to extend an application which unfortunately relies on some other JEE features. spring-data-jpa will save us 3/4 of the work to do for this task.






[GLASSFISH-21020] JDBC connection leak detected in JDBCPersistenceManagerImpl Created: 28/Mar/14  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: batch
Affects Version/s: 4.0
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: ChristianSch Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
        private boolean isDerby() throws SQLException {
                logger.entering(CLASSNAME, "isDerby");
                Connection conn = getConnectionToDefaultSchema();
                DatabaseMetaData dbmd = conn.getMetaData();
                boolean derby = dbmd.getDatabaseProductName().toLowerCase().indexOf("derby") > 0;

 >>>missing>>>  cleanupConnection(conn, null, null);

                logger.exiting(CLASSNAME, "isDerby", derby);
                return derby;
        }





[GLASSFISH-21019] Job cannot inject Created: 26/Mar/14  Updated: 26/Mar/14

Status: Open
Project: glassfish
Component/s: batch
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: tijs14tijs Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: 3 hours
Time Spent: Not Specified
Original Estimate: 3 hours
Environment:

Linux x64, Netbeans 7.4, Java 7 EE (oracle), Glassfish 4.0


Tags: inject, job, named

 Description   

I use a batch job. In my writer I tried to inject a stateless service. My writer is created but the service has NOT been injected and no error has been shown, when I call the service it appears to be null (not injected).

When I use annotation @Named before MyItemWriter, and change job.xml to ref=myItemWriter then the service will be injected properly. The strange behavour is, that it still finds the writer with ref=kwetter.batch.MyItemWriter in job.xml, but it does not inject any services.

This behavour happens on chunks (reader, processor, writer) and the batchlet. (all defined in job.xml)
I did not check if it happens on more elements of job.xml

See below for my sources
---------------------------------------------------------------------
MyItemWriter.java

package kwetter.batch;

@Dependent
@Named
public class MyItemWriter extends AbstractItemWriter {

@Inject
private MyService service;

-------------------------------------------------------------------
job.xml

<?xml version="1.0" encoding="UTF-8"?>
<job id="job1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
<properties>
<property name="input_file" value="/home/tijs/Downloads/04c-JEA-kwetter-input.json"/>
</properties>
<step id="step1" next="cleanup">
<chunk checkpoint-policy="item" item-count="10">
<reader ref="kwetter.batch.MyItemReader"></reader>
<processor ref="kwetter.batch.MyItemProcessor"></processor>
<writer ref="myItemWriter"></writer>
</chunk>
</step>
<step id="cleanup">
<batchlet ref="kwetter.batch.CleanupBatchlet"></batchlet>
<end on="COMPLETED"/>
</step>
</job>

--------------------------------------------------------------------------
Glassfish log

SEVERE: Failure in Read-Process-Write Loop
com.ibm.jbatch.container.exception.BatchContainerRuntimeException: java.lang.NullPointerException
at com.ibm.jbatch.container.impl.ChunkStepControllerImpl.writeChunk(ChunkStepControllerImpl.java:495)
at com.ibm.jbatch.container.impl.ChunkStepControllerImpl.invokeChunk(ChunkStepControllerImpl.java:587)
at com.ibm.jbatch.container.impl.ChunkStepControllerImpl.invokeCoreStep(ChunkStepControllerImpl.java:684)
at com.ibm.jbatch.container.impl.BaseStepControllerImpl.execute(BaseStepControllerImpl.java:144)
at com.ibm.jbatch.container.impl.ExecutionTransitioner.doExecutionLoop(ExecutionTransitioner.java:112)
at com.ibm.jbatch.container.impl.JobThreadRootControllerImpl.originateExecutionOnThread(JobThreadRootControllerImpl.java:110)
at com.ibm.jbatch.container.util.BatchWorkUnit.run(BatchWorkUnit.java:80)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at org.glassfish.enterprise.concurrent.internal.ManagedFutureTask.run(ManagedFutureTask.java:141)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
at org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl$ManagedThread.run(ManagedThreadFactoryImpl.java:250)
Caused by: java.lang.NullPointerException
at kwetter.batch.MyItemWriter1.writeItems(MyItemWriter1.java:31)
at com.ibm.jbatch.container.artifact.proxy.ItemWriterProxy.writeItems(ItemWriterProxy.java:71)
at com.ibm.jbatch.container.impl.ChunkStepControllerImpl.writeChunk(ChunkStepControllerImpl.java:470)
... 13 more

WARNING: Caught throwable in chunk processing. Attempting to close all readers and writers.
WARNING: Caught exception executing step: com.ibm.jbatch.container.exception.BatchContainerRuntimeException: Failure in Read-Process-Write Loop
at com.ibm.jbatch.container.impl.ChunkStepControllerImpl.invokeChunk(ChunkStepControllerImpl.java:670)
at com.ibm.jbatch.container.impl.ChunkStepControllerImpl.invokeCoreStep(ChunkStepControllerImpl.java:684)
at com.ibm.jbatch.container.impl.BaseStepControllerImpl.execute(BaseStepControllerImpl.java:144)
at com.ibm.jbatch.container.impl.ExecutionTransitioner.doExecutionLoop(ExecutionTransitioner.java:112)
at com.ibm.jbatch.container.impl.JobThreadRootControllerImpl.originateExecutionOnThread(JobThreadRootControllerImpl.java:110)
at com.ibm.jbatch.container.util.BatchWorkUnit.run(BatchWorkUnit.java:80)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at org.glassfish.enterprise.concurrent.internal.ManagedFutureTask.run(ManagedFutureTask.java:141)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
at org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl$ManagedThread.run(ManagedThreadFactoryImpl.java:250)
Caused by: com.ibm.jbatch.container.exception.BatchContainerRuntimeException: java.lang.NullPointerException
at com.ibm.jbatch.container.impl.ChunkStepControllerImpl.writeChunk(ChunkStepControllerImpl.java:495)
at com.ibm.jbatch.container.impl.ChunkStepControllerImpl.invokeChunk(ChunkStepControllerImpl.java:587)
... 12 more
Caused by: java.lang.NullPointerException
at kwetter.batch.MyItemWriter1.writeItems(MyItemWriter1.java:31)
at com.ibm.jbatch.container.artifact.proxy.ItemWriterProxy.writeItems(ItemWriterProxy.java:71)
at com.ibm.jbatch.container.impl.ChunkStepControllerImpl.writeChunk(ChunkStepControllerImpl.java:470)
... 13 more






[GLASSFISH-20997] Batch job xml file in META-INF/batch-jobs folder is not closed after executing batchlet Created: 28/Feb/14  Updated: 28/Feb/14

Status: Open
Project: glassfish
Component/s: batch
Affects Version/s: 4.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: salaryman Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: batch

 Description   

Periodically start a batchlet(JobOperator.start) using timer service and confirmed that
batchlet job completed without error.

JobExecution.getBatchStatus() shows completed status for all jobs.

However the number of opened job xml file handle keeps
on growing over time.

Have verified this issue using Process Explorer in Windows and
lsof -p <pid> in linux.

When shutting down glassfish after calling batch, below exception is thrown. The same exception does not appear when shutting down if batchlet is not called.

WARNING: Input stream has been finalized or forced closed without being explicitly closed; stream instantiation reported in following stack trace
java.lang.Throwable
at com.sun.enterprise.loader.ASURLClassLoader$SentinelInputStream.<init>(ASURLClassLoader.java:1280)
at com.sun.enterprise.loader.ASURLClassLoader.getResourceAsStream(ASURLClassLoader.java:938)
at com.ibm.jbatch.container.services.impl.DelegatingJobXMLLoaderServiceImpl.loadJobFromBatchJobs(DelegatingJobXMLLoaderServiceImpl.java:96)
at com.ibm.jbatch.container.services.impl.DelegatingJobXMLLoaderServiceImpl.loadJSL(DelegatingJobXMLLoaderServiceImpl.java:70)
at com.ibm.jbatch.container.api.impl.JobOperatorImpl.startInternal(JobOperatorImpl.java:112)
at com.ibm.jbatch.container.api.impl.JobOperatorImpl.start(JobOperatorImpl.java:86)






[GLASSFISH-20279] JSF View State is not replicated in a glassfish cluster Created: 10/Apr/13  Updated: 11/Apr/13

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1.2.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: ajacob Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2 x86_64 GNU/Linux

java version "1.7.0_03"
OpenJDK Runtime Environment (IcedTea7 2.1.7) (7u3-2.1.7-1)
OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)



 Description   

It looks like the ViewState is not replicated in a glassfish cluster.
We are using a loadbalancer (apache2 with mod_proxy_ajp) in front of 2 instances of a glassfish cluster (2 nodes).
Stickysession is configured but when trying to put an instance off, if the client is pushed to another instance than the one he initiated it's ViewState he is getting a ViewExpired exception. The rest of the session is well replicated as the user is still logged in. But if a form was displayed the client won't be able to submit it without getting an error, if a @ViewScoped bean was in use it is discarded.



 Comments   
Comment by Manfred Riem [ 11/Apr/13 ]

Reassigning it to the failover component since this is a failover issue.





[GLASSFISH-19514] Exceptions during GF start Created: 10/Jan/13  Updated: 02/Sep/13

Status: Open
Project: glassfish
Component/s: hk2
Affects Version/s: 3.1.2.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: cobre420 Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Solaris 10


Tags: exception, glassfish, glassfish-3-1-2-2, startup

 Description   

Starting GF logs errors

[#|2013-01-09T14:53:31.596+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=16;_ThreadName=Thread-2;|Exception while visiting netscape/applet/DerivedAppletFrame.class of size 0
java.lang.ArrayIndexOutOfBoundsException: 8
	at org.objectweb.asm.ClassReader.readUnsignedShort(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:362)
	at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.handleEntry(ReadableArchiveScannerAdapter.java:171)
	at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.onSelectedEntries(ReadableArchiveScannerAdapter.java:133)
	at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
	at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
|#]

[#|2013-01-09T14:53:31.611+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=16;_ThreadName=Thread-2;|Exception while visiting netscape/security/PrivilegeManager.class of size 0
java.lang.ArrayIndexOutOfBoundsException: 8
	at org.objectweb.asm.ClassReader.readUnsignedShort(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:362)
	at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.handleEntry(ReadableArchiveScannerAdapter.java:171)
	at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.onSelectedEntries(ReadableArchiveScannerAdapter.java:133)
	at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
	at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
|#]

[#|2013-01-09T14:53:31.615+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=16;_ThreadName=Thread-2;|Exception while visiting com/ms/security/PolicyEngine.class of size 0
java.lang.ArrayIndexOutOfBoundsException: 8
	at org.objectweb.asm.ClassReader.readUnsignedShort(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:362)
	at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.handleEntry(ReadableArchiveScannerAdapter.java:171)
	at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.onSelectedEntries(ReadableArchiveScannerAdapter.java:133)
	at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
	at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
|#]

[#|2013-01-09T14:53:33.009+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=16;_ThreadName=Thread-2;|Exception while visiting netscape/applet/DerivedAppletFrame.class of size 0
java.lang.ArrayIndexOutOfBoundsException
|#]

[#|2013-01-09T14:53:33.071+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=16;_ThreadName=Thread-2;|Exception while visiting netscape/security/PrivilegeManager.class of size 0
java.lang.ArrayIndexOutOfBoundsException
|#]

[#|2013-01-09T14:53:33.073+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=16;_ThreadName=Thread-2;|Exception while visiting com/ms/security/PolicyEngine.class of size 0
java.lang.ArrayIndexOutOfBoundsException
|#]


 Comments   
Comment by kumara [ 10/Jan/13 ]

Do you have more information on which jar file contains the classes netscape/security/PrivilegeManager.class and com/ms/security/PolicyEngine.class. Are these signed jar files?

Comment by cobre420 [ 11/Jan/13 ]

There is one application jar (Oracle waveset) in which are these classes. This jars are not signed. Does signin it will resolve this problem?

Comment by kumara [ 15/Jan/13 ]

Signing is unlikely to fix this issue. This needs further investigation but the application server is going to start (and applications will load) even with this exception recorded in the log file. Is it possible to attach a small test case to reproduce this.

Comment by realdocsnyder [ 02/Sep/13 ]

@cobre420

I've got the same problem when starting glassfish 3.1.22 with netbeans 7.2.1 for IDM (Exception while visiting netscape/applet/DerivedAppletFrame.class of size 0).

Did you resolve your problem?





[GLASSFISH-18695] session is lost after failover Created: 06/May/12  Updated: 08/May/12

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: mhankus Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Session is lost after failover happens. I've enabled logging at FINE level, and found out that, when message like that happens (below) session will be lost

[#|2012-05-06T21:34:55.711+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.command|_ThreadID=190;_ThreadName=Thread-2;ClassName=org.shoal.ha.cache.impl.interceptor.CommandHandlerInterceptor;MethodName=onReceive;|/nuplays-web-seller: Received ReplicationFramePayloadCommand: contains 1 commands from instance1|#]
[#|2012-05-06T21:34:55.714+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.command|_ThreadID=190;_ThreadName=Thread-2;ClassName=org.shoal.ha.cache.impl.interceptor.CommandHandlerInterceptor;MethodName=onReceive;|/nuplays-web-seller: Received SaveCommand:33(3a4f10df08b56a160de21fd03794) from instance1|#]
[#|2012-05-06T21:34:55.717+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.command.save|_ThreadID=190;_ThreadName=Thread-2;ClassName=org.shoal.adapter.store.commands.SaveCommand;MethodName=execute;|/nuplays-web-sellerSaveCommand:33 received save_command for key = 3a4f10df08b56a160de21fd03794 from instance1; version = 7|#]
[#|2012-05-06T21:34:55.718+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.command.save|_ThreadID=190;_ThreadName=Thread-2;ClassName=org.shoal.ha.cache.impl.store.SimpleStoreableDataStoreEntryUpdater;MethodName=executeSave;|SimpleStoreableDataStoreEntryUpdater.executeSave. IGNORING ... entry = org.shoal.ha.cache.impl.store.DataStoreEntry@5358503a; entry.version = 8; cmd.version = 7|#]

When I notice IGNORING in log messages I know that session is already lost.
At the same time, the other instance is showing in log files

[#|2012-05-06T21:34:55.703+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.command.save|_ThreadID=202;_ThreadName=Thread-2;ClassName=org.shoal.adapter.store.commands.AbstractSaveCommand;MethodName=writeObject;|/nuplays-web-seller sending state for key = 3a4f10df08b56a160de21fd03794; version = 7; lastAccessedAt = 1336332844303; to instance2|#]

[#|2012-05-06T21:34:55.704+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.command.save|_ThreadID=202;_ThreadName=Thread-2;ClassName=org.shoal.adapter.store.commands.SaveCommand;MethodName=writeObject;|/nuplays-web-seller sending save_command for key = 3a4f10df08b56a160de21fd03794; version = 7; lastAccessedAt = 1336332844303; to instance2|#]

[#|2012-05-06T21:34:55.716+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.interceptor.transmit|_ThreadID=202;_ThreadName=Thread-2;ClassName=org.shoal.ha.cache.impl.interceptor.TransmitInterceptor;MethodName=onTransmit;|/nuplays-web-seller: TransmitInterceptor./nuplays-web-seller:onTransmit() Sent ReplicationFramePayloadCommand: contains 1 commands to instance2; size: 13201|#]



 Comments   
Comment by mhankus [ 06/May/12 ]

Session is decremented on sending side. Some more logs showing that version was decremented from 8 to 7 (after FOUND IN LOCAL CACHE).

[#|2012-05-06T21:34:54.202+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.command.save|_ThreadID=201;_ThreadName=Thread-2;ClassName=org.shoal.adapter.store.commands.AbstractSaveCom
mand;MethodName=writeObject;|/nuplays-web-seller sending state for key = 3a4f10df08b56a160de21fd03794; version = 8; lastAccessedAt = 1336332893913; to instance2|#]

[#|2012-05-06T21:34:54.204+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.command.save|_ThreadID=201;_ThreadName=Thread-2;ClassName=org.shoal.adapter.store.commands.SaveCommand;Met
hodName=writeObject;|/nuplays-web-seller sending save_command for key = 3a4f10df08b56a160de21fd03794; version = 8; lastAccessedAt = 1336332893913; to instance2|#]

[#|2012-05-06T21:34:54.212+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.interceptor.transmit|_ThreadID=201;_ThreadName=Thread-2;ClassName=org.shoal.ha.cache.impl.interceptor.Tran
smitInterceptor;MethodName=onTransmit;|/nuplays-web-seller: TransmitInterceptor./nuplays-web-seller:onTransmit() Sent ReplicationFramePayloadCommand: contains 1 commands to inst
ance2; size: 13627|#]

[#|2012-05-06T21:34:55.534+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.command.load_request|_ThreadID=188;_ThreadName=Thread-2;ClassName=org.shoal.ha.cache.impl.store.Replicated
DataStore;MethodName=get;|/nuplays-web-seller: load(3a4f10df08b56a160de21fd03794); FOUND IN LOCAL CACHE!!|#]

[#|2012-05-06T21:34:55.539+0200|FINE|glassfish3.1.2|org.shoal.ha.cache.command.load_request|_ThreadID=188;_ThreadName=Thread-2;ClassName=org.shoal.ha.cache.impl.store.Replicated
DataStore;MethodName=get;|/nuplays-web-seller: load(3a4f10df08b56a160de21fd03794) Final result: SimpleMetadata{version=7, lastAccessTime=1336332844303, maxInactiveInterval=18000
00, state.length=12432, state=SimpleMetadata->state-84_-19_0_5_115_114_0_53_111_114_103_46_103_108_97_115_115_102_105_115_104_46_119_101_98_46_104_97_46_115_101_115_115_105_111_110_46_109_97_110_97_103_101_109_101_110_116_46_70_117_108_108_72_65_83_101_115_115_105_111_110_72_76_71_-125_-73_120_111_24_2_0_0_119_33_0_31_111_114_103_46_103_108_97_115_115_102_105_115_104_46_109_97_105_110_46_119_101_98_46_104_97_58_51_46_49_46_50_120_114_0_53_111_114_103_46_103_108_97_115_115_102_105_115_104_46_119_101_98_46_104_97_46_115_101_115_115_105_111_110_46_109_97_110_97_103_101_109_101_110_116_46_66_97_115_101_72_65_83_101_115_115_105_111_110_-22_32_75_-60_-102_-8_-61_-40_3_0_2_90_0_14_112_101_114_115_105_115_116_101_110_116_70_108_97_103_76_0_8_117_115_101_114_78_97_109_101_116_0_18_76_106_97_118_97_47_108_97_110_103_47_83_116_114_105_110_103_59_119_33_0_31_111_114_103_46_103_108_97_115_115_102_105_115_104_46_109_97_105_110_46_119_101_98_46_104_97_58_51_46_49_46_50_120_114_0_43_111_114_103_46_97_112_97_99_104_101_46_99_97_116_97_108_105_110_97_46_115_101_115_115_105_111_110_46_83_116_97_110_100_97_114_100_83_101_115_115_105_111_110_126_62_89_94_-109_-97_117_102_3_0_12_74_0_12_99_114_101_97_116_105_111_110_84_105_109_101_90_0

Comment by mhankus [ 06/May/12 ]

Logs form my previous comment, show that session is accessed concurrently (only readonly access).
My application serves pictures (it needes to check if someone is logged in before sending pictures). So browser request 4-5 pictures at the same time.
So _ThreadID=201 knows that version is 8, but _ThreadID=188 knows only about version 7. So probably threads overwrite some data structures,
and session is lost.





[GLASSFISH-18995] EJBRefFO16_restart test failed on modified-attribute Created: 12/Aug/12  Updated: 21/Mar/13

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: None
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: sherryshen Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Solaris 11 and JDK1.6.0_30


Attachments: Zip Archive test.zip     Zip Archive test4.zip    

 Description   

EJBRefFO16_restart test failed on modified attribute
ogs-4.0-b49.zip

Failover of session with form-based authentication and authorization for Stateless Session Bean
EJBRefFO16_restart is a test case in this suite, and failed on b49 with modified attribute, but passed with other two persistence scope.
I will provide test details next.



 Comments   
Comment by sherryshen [ 12/Aug/12 ]

[1] Test Spec
16 Failover of session with form-based authentication and authorization for Stateless Session Bean
http://asqe-sblade-6.us.oracle.com:1080/job/sherry-svn-failed/ws/as-qa/ha-paas-tests/trunk/ha/functional/http/docs/2003FailoverEJBRef.html

[2] Test Results
2.1 Full run: Only 1 failure in http module (~270 tests) , i.e. EJBRefFO16_restart on modified-attribute
http://javaweb.us.oracle.com/net/asqe-logs.us.oracle.com/export1/4.0/Results/build49/ha/sol/summary/overall-summary.html

2.2 Debug run:
http://javaweb.us.oracle.com/net/asqe-logs.us.oracle.com/export1/4.0/Results/build49/ha/18995/r1/summary/overall-summary.html
asadmin set-log-levels --target st-cluster org.shoal.ha.cache=FINE
EJBRefFO16_restart with 2 persistence scope, session (passed) and modified-attributes (failed).

2.3 For modified-attribute, it asks to relogin in the third request/reponse.
(The zero JSESSIONIDVERSION is observed.)

http://javaweb.us.oracle.com/net/asqe-logs.us.oracle.com/export1/4.0/Results/build49/ha/18995/r1/http-modified-attribute/com.sun.dft.glassfish.http.failover.ejbref.EJBRefFO16_restart/EJBRefFO16Test1_restart/logs/framework.log

2.4 For full-session, it doesn't ask to relogin in the third request/response
http://javaweb.us.oracle.com/net/asqe-logs.us.oracle.com/export1/4.0/Results/build49/ha/18995/r1/http-session/com.sun.dft.glassfish.http.failover.ejbref.EJBRefFO16_restart/EJBRefFO16Test1_restart/logs/framework.log

where the test got expected results as shown results
http://javaweb.us.oracle.com/net/asqe-logs.us.oracle.com/export1/4.0/Results/build49/ha/18995/r1/http-session/com.sun.dft.glassfish.http.failover.ejbref.EJBRefFO16_restart/html/suite1_test1_results.html

  • Sending Request to Webserver asqe-sblade-6:80> /SSOFormWeb/SSOServlet
  • Sending Request to Webserver asqe-sblade-6:80> /SSOFormWeb/j_security_check?j_username=j2ee&j_password=secret
  • Serving Instance (1st Request): instance101
  • Killing serving instance...
  • Starting serving instance...
  • Sending Request to Webserver asqe-sblade-6:80> /SSOFormWeb/SSOServlet
  • Serving Instance (2nd Request): instance101
  • Session data contains EJBRef and works with SSO! true

2.5 server.log has exception for full session or modified attribute, e.g.
Error occurred
java.lang.NoSuchMethodException: org.glassfish.web.deployment.runtime.Cache.setDefaultHelper(org.glassfish.web.deployment.runtime.WebProperty)
at java.lang.Class.getMethod(Class.java:1605)
which seems not related to this issue.

Comment by sherryshen [ 12/Aug/12 ]

attached test.zip with ear file and test source for EJBRefFO16_restart

Comment by sherryshen [ 13/Aug/12 ]

After I used the SSO configuration in
ha-paas-tests/trunk/ha/functional/http/src/com/sun/dft/glassfish/http/failover/ejbref/EJBRefFO16_restart.java
e.g.
asadmin --user admin set st-cluster.http-service.virtual-server.server.sso-enabled=true
asadmin --user admin set st-cluster-config.availability-service.web-container-availability.sso-failover-enabled=true

the test passed on b49 with modified-attribute.
http://javaweb.us.oracle.com/net/asqe-logs.us.oracle.com/export1/4.0/Results/build49/ha/18995/b49wSSO/http-modified-attribute/com.sun.dft.glassfish.http.failover.ejbref.EJBRefFO16_restart/html/index.html

http://javaweb.us.oracle.com/net/asqe-logs.us.oracle.com/export1/4.0/Results/build49/ha/18995/b49wSSO/http-modified-attribute/com.sun.dft.glassfish.http.failover.ejbref.EJBRefFO16_restart/EJBRefFO16Test1_restart/logs/framework.log

Comment by sherryshen [ 13/Aug/12 ]

I consulted Mahesh, Shangwai, Rajov, and Rayn about this failure and updated the bug about our discussion and tests.

As I understood from ShingWai that SSO configuration is not needed since only one app is in the tests, and is not about SSO tests.

This failure is not always surfaced in ha execution since some previous tests set up SSO configuration, and don't clean SSO configuration.

Comment by sherryshen [ 23/Aug/12 ]

With the help of Mahesh and Shing Wai, I reproduced GLASSFISH-18995 in another way.
--Create a form-based web app based on
appserv-tests/devtests/web/form-based
--Use war file (ejbsecurity-test4.war), and steps (readme.txt) in
attachment test4.zip to reproduce the problem manually with a
browser on a cluster of 3 local instances.

Comment by Alex Pineda [ 15/Feb/13 ]

Request issue be resolved in GF 4.0 release.

Comment by Mahesh Kannan [ 14/Mar/13 ]

This is really HA bug requiring cluster support. Since there will be no clustering support for GF 4.0, I marking this to a future release.

Comment by Mahesh Kannan [ 21/Mar/13 ]

This is really a HA bug requiring cluster support.





[GLASSFISH-18551] HA of Remote SFSBs is not working Created: 22/Mar/12  Updated: 22/Mar/12

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 4.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: marina vatkina Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

./orb-iiop/src/main/java/org/glassfish/enterprise/iiop/impl/POARemoteReferenceFactory.java section is commented out:

/** TODO
logger.log(Level.INFO, "POARemoteRefFactory checking if SFSBVersionPolicy need to be added");
EJBServerConfigLookup ejbConfigLookup =
new EJBServerConfigLookup(ejbDescriptor);
boolean addSFSBVersionPolicy = EJBServerConfigLookup.needToAddSFSBVersionInterceptors();
logger.log(Level.INFO, "POARemoteRefFactory addSFSBVersionPolicy? " + addSFSBVersionPolicy);
if (addSFSBVersionPolicy) {
if (container instanceof StatefulSessionContainer) {
StatefulSessionContainer sfsbCon = (StatefulSessionContainer) container;
if (sfsbCon.isHAEnabled())

{ policies.add(new SFSBVersionPolicy(ejbDescriptor.getUniqueId())); }

}
}
**/






[GLASSFISH-18323] When Availability is enabled, SFSBs should have HA enabled by default Created: 05/Feb/12  Updated: 29/Oct/13

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1.2_b20
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: lprimak Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Any



 Description   

See Thread http://www.java.net/forum/topic/glassfish/glassfish/howto-stateful-session-bean-high-availability-failover

It's very annoying to specify every SFSB as being HA-enabled in glassfish-ejb-jar
The problem is if it is not specified, you get errors constantly in HA-cluster such as:
Caused by: javax.ejb.NoSuchObjectLocalException: The EJB does not exist. session-key: 1f00900a46f2cdb2-ee0001106cbe5f17-1
when session-replicated SFSB handles are accessed.



 Comments   
Comment by lprimak [ 29/Oct/13 ]

Any progress on this issue? I know clustering in GF 4.1 is being reworked...
Thanks!





[GLASSFISH-18268] NPE in org.shoal.adapter.store.ReplicatedBackingStore.load(ReplicatedBackingStore.java:97) after instance shutdown is initiated Created: 30/Jan/12  Updated: 19/Apr/12

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: sonymanuel Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OEL6 + JRockit


Attachments: Text File server.log    
Issue Links:
Dependency
blocks GLASSFISH-18267 Traffic loss during instance start be... Resolved
Related
is related to GLASSFISH-18489 Web HA replicated session store not g... Closed
Tags: 312_qa, 3_1_2-exclude

 Description   

3.1.2 Build 17, JRockit 6u29, OEL6

One of the HA stress scenarios does a stop/start of instance while the traffic is in progress. We are observing this NPE in the instance after shutdown is initiated. The client is getting http response 503. Server log is attached.

[#|2012-01-17T22:52:25.453-0800|SEVERE|glassfish3.1.2|org.apache.catalina.connector.CoyoteAdapter|_ThreadID=29;_ThreadName=Thread-2;|PWC3989: An exception or error occurred in the container during the request processing
java.lang.NullPointerException
at org.shoal.adapter.store.ReplicatedBackingStore.load(ReplicatedBackingStore.java:97)
at org.glassfish.web.ha.session.management.ReplicationStore.loadFromBackingStore(ReplicationStore.java:407)
at org.glassfish.web.ha.session.management.ReplicationStore.load(ReplicationStore.java:396)
at org.apache.catalina.session.PersistentManagerBase.doSwapIn(PersistentManagerBase.java:1052)
at org.apache.catalina.session.PersistentManagerBase.swapIn(PersistentManagerBase.java:1015)
at org.glassfish.web.ha.session.management.ReplicationManagerBase.findSession(ReplicationManagerBase.java:151)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2852)
at org.apache.catalina.connector.Request.getSessionInternal(Request.java:2777)
at org.apache.catalina.connector.Request.unlockSession(Request.java:4201)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:342)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)



 Comments   
Comment by Mahesh Kannan [ 31/Jan/12 ]

Line 97 in ReplicatedDataStore is doing dataStore.load(). The npe is due to dataStore being null.

The only reason that this could happen is that dataStore.destroy() has been called. As Joe commented in 18267, this is happening after the instance is shutdown. When an instance is shutdown, dataStore.destroy() is called which sets the underlying dataStore to null causing the NPE.

I agree that the NPE could be prevented but that requires touching a bunch of files to guard against dataStore being null.

However, this NPE is not causing any data loss.

Comment by Joe Di Pol [ 01/Feb/12 ]

Excluding bug from 3.1.2 since the NPE is on shutdown and not causing test failures.

Comment by jonj27 [ 19/Apr/12 ]

I am receiving the same error on instance shutdown. This is causing any requests to not fail over and requiring me to sign in again on the other node. This is not ideal. There must be a workaround or a fix I can implement perhaps?

Thanks in advance





[GLASSFISH-18513] NPE while starting JPA Created: 15/Mar/12  Updated: 02/Jun/13

Status: Open
Project: glassfish
Component/s: other
Affects Version/s: 3.1.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: aaronjwhiteside Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 43
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

JPA is started from a OSGi bundle using the context classloader work around.

This NPE seems to be random, it does not always happen.

In this example two bundles are loading two different persistence units are the same time, not sure if that contributes to the NPE or not.

[#|2012-03-15T17:39:24.506-0400|INFO|glassfish3.1.2|org.eclipse.persistence.session.bundle://300.1:1/_proview|_ThreadID=112;_ThreadName=Thread-2;|EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461|#]

[#|2012-03-15T17:39:24.506-0400|INFO|glassfish3.1.2|org.eclipse.persistence.session.bundle://304.0:1/_subscription|_ThreadID=113;_ThreadName=Thread-2;|EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461|#]

[#|2012-03-15T17:39:24.680-0400|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=117;_ThreadName=Thread-2;|Exception while visiting com/sun/gjc/common/DataSourceSpec.class of size 3267
java.lang.NullPointerException
        at org.glassfish.hk2.classmodel.reflect.impl.TypesImpl.getType(TypesImpl.java:78)
        at org.glassfish.hk2.classmodel.reflect.impl.ModelClassVisitor.visit(ModelClassVisitor.java:119)
        at org.objectweb.asm.ClassReader.accept(Unknown Source)
        at org.objectweb.asm.ClassReader.accept(Unknown Source)
        at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:363)
        at org.glassfish.hk2.classmodel.reflect.util.JarArchive.onSelectedEntries(JarArchive.java:125)
        at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
        at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
        at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
        at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
|#]


 Comments   
Comment by Mitesh Meswani [ 19/Mar/12 ]

Here is comment from Sahoo in an offline mail discussion.
/
This is neither a jpa nor an osgi bug. It's a bug in deployment/classmodel code. It's harmeless AFAIK. Marina has also seen this behavior before. Jerome wanted a reproducible test case to get to the bottom of it. So, assign to deployment team with all thses information
/
Assigning it to deployment for initial evaluation.

Comment by Hong Zhang [ 19/Mar/12 ]

The NPE came from the HK2 classmodel code, I am not sure who owns this part of the HK2 code now. I am assigning to Tom and he could assign accordingly.

Comment by rusty_turkey [ 18/Apr/12 ]

I got the exact stacktrace that is in the description of the issue, then on the next project build I got a very similar stacktrace from Glassfish 3.1.2

18/04/2012 10:26:20 AM org.glassfish.hk2.classmodel.reflect.Parser$5 on
SEVERE: Exception while visiting com/sun/gjc/util/SQLTraceCache.class of size 4662
java.lang.NullPointerException
at org.glassfish.hk2.classmodel.reflect.impl.TypesImpl.getType(TypesImpl.java:78)
at org.glassfish.hk2.classmodel.reflect.impl.ModelClassVisitor.visit(ModelClassVisitor.java:119)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:363)
at org.glassfish.hk2.classmodel.reflect.util.JarArchive.onSelectedEntries(JarArchive.java:125)
at org.glassfish.hk2.classmodel.reflect.util.DirectoryArchive.parse(DirectoryArchive.java:111)
at org.glassfish.hk2.classmodel.reflect.util.DirectoryArchive.onSelectedEntries(DirectoryArchive.java:92)
at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

Comment by tbeerbower [ 18/Apr/12 ]

Is it possible to provide a test case that reproduces the issue?

Comment by tacoss [ 26/Apr/12 ]

Testbean

deploy this bean and start the Glassfish-Server

package ejb;

import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.ejb.*;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
*

  • @author Koeppen
    */

@Startup
@Stateless
@LocalBean

public class NewSessionBean {

@PersistenceContext(unitName = "TACEJBPU")
private EntityManager em;

@Schedule(second="0", minute="", hour="")
public void importAuto()

{ Logger.getLogger( NewSessionBean.class.getName() ).log( Level.INFO, "importiereAuto" ); }

@PostConstruct
public void post()

{ Logger.getLogger( NewSessionBean.class.getName() ).log( Level.INFO, "post" ); }

}

Comment by grunt2000 [ 08/May/12 ]

The function getType() that is giving NullPointerException to many callers, not only in the case of this issue.

This function has been quickly written: it has no comments, no assertions, no checkings inside.

public TypeImpl getType(int access, String name, TypeProxy parent) {
Class<? extends Type> requestedType = getType(access);

TypeProxy<Type> typeProxy = types.getHolder(name, requestedType);
synchronized(typeProxy) {
final Type type = typeProxy.get();
TypeImpl result;
if (null == type) {
if ((access & Opcodes.ACC_ANNOTATION)==Opcodes.ACC_ANNOTATION)

{ result = new AnnotationTypeImpl(name, typeProxy); } else
if ((access & Opcodes.ACC_INTERFACE)==Opcodes.ACC_INTERFACE) { result = new InterfaceModelImpl(name, typeProxy, parent); } else { result = new ClassModelImpl(name, typeProxy, parent); }
typeProxy.set(result);
return result;
} else {
TypeImpl impl = (TypeImpl)type;
if (ExtensibleTypeImpl.class.isInstance(impl)) { // ensure we have the parent right ((ExtensibleTypeImpl<?>)impl).setParent(parent); }
return impl;
}
}
}

The method should at least do the minimal checkings to avoid throwing a clueless NullPointerException to callers.

/**
* Return the type of ...
* @param access Access to what?
* @param name Name of what ?
* @param parent of who?
* @return an implementation of the type?
*/
public TypeImpl getType(int access, String name, TypeProxy parent) {
Class<? extends Type> requestedType = getType(access);

// If the access has no requested type associated, throw an exception.
if (requestedType == null)
throw(new IllegalArgumentException(MessageFormat.format("Cannot find the requested type for the access {0}.", access)));

TypeProxy<Type> typeProxy = types.getHolder(name, requestedType);

// If the proxy has not been found, throw an exception.
// For our issue, it is the cause of the NullPointerException that is thrown (a synchronized(null) may occurs).
if (typeProxy == null)
throw(new NoSuchElementException(MessageFormat.format("Cannot find the proxy holder for the requested type {0}.", requestedType))); // if requestType.toString() has a useful implementation, else select one of its members for displaying.

synchronized(typeProxy) {
final Type type = typeProxy.get();
TypeImpl result;
if (null == type) {
if ((access & Opcodes.ACC_ANNOTATION)==Opcodes.ACC_ANNOTATION) { result = new AnnotationTypeImpl(name, typeProxy); }

else
if ((access & Opcodes.ACC_INTERFACE)==Opcodes.ACC_INTERFACE)

{ result = new InterfaceModelImpl(name, typeProxy, parent); }

else

{ result = new ClassModelImpl(name, typeProxy, parent); }

typeProxy.set(result);
return result;
} else {
TypeImpl impl = (TypeImpl)type;
if (ExtensibleTypeImpl.class.isInstance(impl))

{ // ensure we have the parent right ((ExtensibleTypeImpl<?>)impl).setParent(parent); }

return impl;
}
}
}

Regards,

Grunt.

Comment by ljnelson [ 26/Jul/12 ]

FWIW I see this using embedded GlassFish 3.1.2 as well; perhaps that will make it easier to roll a test case.

Comment by gfuser9999 [ 15/Sep/12 ]

Possibly HK2 org.glassfish.hk2.classmodel.reflect.impl.TypesCtr.getHolder(name,...) return null
is the following concurrency issue:

— TypesCtr-orig.java Sat Sep 15 21:36:00 2012
+++ TypesCtr.java Sat Sep 15 21:40:02 2012
@@ -111,9 +111,13 @@
TypeProxy<Type> typeProxy = typeStorage.get(name);
if (typeProxy ==null) {
// in our unknown type pool ?

  • if (unknownTypesStorage.containsKey(name)) {
    + TypeProxy<Type> unkTypeProxy = unknownTypesStorage.get(name);
    + if (unkTypeProxy!=null) {
    synchronized (unknownTypesStorage)
    Unknown macro: { typeProxy = unknownTypesStorage.remove(name);+ if (typeProxy == null) { + typeProxy = unkTypeProxy; + } }

    if (typeProxy!=null) {
    TypeProxy<Type> old = typeStorage.putIfAbsent(name, typeProxy);

Comment by jwells [ 17/Sep/12 ]

classmodel is only used by the config subsystem, so assigning to Mahesh

Comment by chejavara [ 02/Jan/13 ]

For those who tried to debug this, this is what I found.

The class is actually in auto-depends.jar, but public sources for it do not include org.glassfish...
I found them in class-model-1.1.14.jar sources for Glassfish 3.1.2

There's a NullPointer because because somebody asks TypesImpl to get a TypeProxy by invoking getHolder on
org.glassfish.hk2.classmodel.reflect.impl.TypesCtr

This thing then consults some gigantic ConcurrentHashMap called storage for another ConcurrentHashMap to look for the class by fully qualified name.

If not found, then it consults some unknownTypesStorage ConcurrenthashMap to see if its there. If yes it removes and returns from there.

If not in unknownTypesStorage, then it creates a new Proxy and returns it.

So it should never return null, which is what causes the NullPointerException.

I can only see one path though which it can return null, thats when unknownTypesStorage contains it, but due to concurrency by the time we call
unknownTypesStorage.remove it is already gone from the hashmap. Then we go ahead and return NULL.

Here is the related code:

public <T extends Type> TypeProxy<Type> getHolder(String name, Class<T> type) {
if (name.equals("java.lang.Object")) return null;
ConcurrentMap<String, TypeProxy<Type>> typeStorage = storage.get(type);
if (typeStorage==null) {
typeStorage = new ConcurrentHashMap<String, TypeProxy<Type>>();
ConcurrentMap<String, TypeProxy<Type>> old = storage.putIfAbsent(type, typeStorage);
if (old!=null)

{ // some other thread got to set that type storage before us, let's use it typeStorage=old; }

}
TypeProxy<Type> typeProxy = typeStorage.get(name);
if (typeProxy ==null) {
// in our unknown type pool ?
if (unknownTypesStorage.containsKey(name)) {
synchronized (unknownTypesStorage)

{ typeProxy = unknownTypesStorage.remove(name); }

=====> WHAT IF typeProxy is NULL HERE ? <========
if (typeProxy!=null) {
TypeProxy<Type> old = typeStorage.putIfAbsent(name, typeProxy);
if (old!=null)

{ typeProxy = old; }

}
} else {
typeProxy = new TypeProxy<Type>(null, name);
TypeProxy<Type> old = typeStorage.putIfAbsent(name, typeProxy);
if (old==null)

{ nonVisited.push(typeProxy); }

else

{ typeProxy=old; }

}
}
return typeProxy;
}

Im thinking gfuser9999 had the same idea.

The bad code would be synchronizng after checking contains. Hope this helps whoever is trying to reproduce this.

Comment by kloeber [ 25/Mar/13 ]

I got the same issue here, but with only one PU loading:
[code]
Launching GlassFish on Felix platform
INFO: Running GlassFish Version: GlassFish Server Open Source Edition 3.1.2.2 (build 5)
INFO: Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry
INFO: Grizzly Framework 1.9.50 started in: 13ms - bound to [0.0.0.0:8181]
INFO: Grizzly Framework 1.9.50 started in: 36ms - bound to [0.0.0.0:8080]
INFO: Grizzly Framework 1.9.50 started in: 5ms - bound to [0.0.0.0:4848]
INFO: Grizzly Framework 1.9.50 started in: 9ms - bound to [0.0.0.0:3700]
INFO: Grizzly Framework 1.9.50 started in: 6ms - bound to [0.0.0.0:7676]
INFO: The Admin Console is already installed, but not yet loaded.
INFO: Created EjbThreadPoolExecutor with thread-core-pool-size 16 thread-max-pool-size 32 thread-keep-alive-seconds 60 thread-queue-capacity 2147483647 allow-core-thread-timeout false
INFO: SEC1002: Security Manager is OFF.
INFO: SEC1010: Entering Security Startup Service
INFO: SEC1143: Loading policy provider com.sun.enterprise.security.provider.PolicyWrapper.
INFO: SEC1115: Realm [admin-realm] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] successfully created.
INFO: SEC1115: Realm [file] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] successfully created.
INFO: SEC1115: Realm [certificate] of classtype [com.sun.enterprise.security.auth.realm.certificate.CertificateRealm] successfully created.
INFO: SEC1011: Security Service(s) Started Successfully
INFO: WEB0169: Created HTTP listener [http-listener-1] on host/port [0.0.0.0:8080]
INFO: WEB0169: Created HTTP listener [http-listener-2] on host/port [0.0.0.0:8181]
INFO: WEB0169: Created HTTP listener [admin-listener] on host/port [0.0.0.0:4848]
INFO: WEB0171: Created virtual server [server]
INFO: WEB0171: Created virtual server [__asadmin]
INFO: WEB0172: Virtual server [server] loaded default web module []
SEVERE: Exception while visiting com/sun/gjc/common/DataSourceSpec.class of size 3267
java.lang.NullPointerException
at org.glassfish.hk2.classmodel.reflect.impl.TypesImpl.getType(TypesImpl.java:78)
at org.glassfish.hk2.classmodel.reflect.impl.ModelClassVisitor.visit(ModelClassVisitor.java:119)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:363)
at org.glassfish.hk2.classmodel.reflect.util.JarArchive.onSelectedEntries(JarArchive.java:125)
at org.glassfish.hk2.classmodel.reflect.util.DirectoryArchive.parse(DirectoryArchive.java:111)
at org.glassfish.hk2.classmodel.reflect.util.DirectoryArchive.onSelectedEntries(DirectoryArchive.java:92)
at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
[/code]

Comment by kithouna [ 08/Apr/13 ]

I've got the exact same exception using GlassFish 3.1.2.2 and an h2 database version 1.3.170.

Comment by kithouna [ 08/Apr/13 ]

If it helps anyone, this is in my log:

SEVERE: Exception while visiting com/sun/gjc/common/DataSourceSpec.class of size 3267
java.lang.NullPointerException
	at org.glassfish.hk2.classmodel.reflect.impl.TypesImpl.getType(TypesImpl.java:78)
	at org.glassfish.hk2.classmodel.reflect.impl.ModelClassVisitor.visit(ModelClassVisitor.java:119)
	at org.objectweb.asm.ClassReader.accept(Unknown Source)
	at org.objectweb.asm.ClassReader.accept(Unknown Source)
	at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:363)
	at org.glassfish.hk2.classmodel.reflect.util.JarArchive.onSelectedEntries(JarArchive.java:125)
	at org.glassfish.hk2.classmodel.reflect.util.DirectoryArchive.parse(DirectoryArchive.java:111)
	at org.glassfish.hk2.classmodel.reflect.util.DirectoryArchive.onSelectedEntries(DirectoryArchive.java:92)
	at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
	at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)

WARNING: RAR8705: Invalid value for property dynamic-reconfiguration-wait-timeout-in-seconds : null
SEVERE: Exception while visiting com/sun/gjc/spi/JdbcObjectsFactory.class of size 3630
java.lang.NullPointerException
	at org.glassfish.hk2.classmodel.reflect.impl.TypesImpl.getType(TypesImpl.java:78)
	at org.glassfish.hk2.classmodel.reflect.impl.ModelClassVisitor.visit(ModelClassVisitor.java:119)
	at org.objectweb.asm.ClassReader.accept(Unknown Source)
	at org.objectweb.asm.ClassReader.accept(Unknown Source)
	at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:363)
	at org.glassfish.hk2.classmodel.reflect.util.JarArchive.onSelectedEntries(JarArchive.java:125)
	at org.glassfish.hk2.classmodel.reflect.util.DirectoryArchive.parse(DirectoryArchive.java:111)
	at org.glassfish.hk2.classmodel.reflect.util.DirectoryArchive.onSelectedEntries(DirectoryArchive.java:92)
	at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
	at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
Comment by TangYong [ 08/Apr/13 ]

Mahesh, kithouna,

Firstly, the test bean needs to be modified as following,

@Schedule(second="0", minute="", hour="")
public void importAuto()

{ Logger.getLogger( NewSessionBean.class.getName() ).log( Level.INFO, "importiereAuto" ); }


@Schedule(second="0", minute="0", hour="0")
public void importAuto() { Logger.getLogger( NewSessionBean.class.getName() ).log( Level.INFO, "importiereAuto" ); }

Otherwise, the following exception will happen while deploying

[2013-04-08T19:34:18.296+0900] [glassfish 4.0] [SEVERE] [] [javax.enterprise.system.core] [tid: _ThreadID=34 _ThreadName=admin-listener(3)] [timeMillis: 1365417258296] [levelValue: 1000] [[
Exception while deploying the app [TestCDIInterterceptorInEar-ejb-1.0-SNAPSHOT] : Error processing EjbDescriptor
java.lang.RuntimeException: StartupBean: Invalid schedule defined on method importAuto(): Field minute cannot be an empty String
at org.glassfish.ejb.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:351)
...

Secondly,

I have confirmed the issue on gf 3.1.2.2 and current v4,

1) on 3.1.2.2 , the issue can be re-produced

2) on v4, anything is OK while deploying

So, pl. Mahesh closed the issue.

Thanks
--Tang

Comment by juliohm [ 17/Apr/13 ]

Grettings.

I am having the same exception on a system I am working on. The Exception stack trace is exactly the same, but I can't seem to find a relation to the test bean provided here. We are not using @Schedule anywhere.

Does anyone have any updates on this? Any ideas on how to debug and get clues to which beans in my application might be causing it?

Most importantly, a workaround would be greatly appreciated.

Comment by zhouronghui [ 24/May/13 ]

Hi, Mahesh Kannan

I found that TypesCtr had been modified in Revision:4175.
It seems the the revision:4175 modified this ISSUE.

https://svn.java.net/svn/hk2~svn/trunk/hk2/class-model/src/main/java/org/glassfish/hk2/classmodel/reflect/impl/TypesCtr.java
==============
Revision: 4175
Author: mtaube
Date: 4:43:16, 2012/12/14
Message:
forward port of change 4107
==============

Could you please check it? If it is YES, I think that the Revision:4175
should feed-back to the GF V3.1.2. Right?

Thanks.

Comment by TangYong [ 24/May/13 ]

+1 agree with Zhou!

Comment by flotho [ 28/May/13 ]

Hy folks,

If it could help, I also explained How I hav the same issue.
Whatt is tsrange is that the problem is coming only on GF reboot.
I installed archiva.apache.org with success and all the stuff....
When I reboot I have the same problem.

So I vote +1 for having a solution to this

Comment by gfuser9999 [ 02/Jun/13 ]

I thought the fix made to 3.1.2.4 (available from Oracle)
since many months now. See
https://blogs.oracle.com/GlassFishForBusiness/entry/oracle_glassfish_server_ogfs_v3
15884192 INTEGRATE NEW HK2
14512884 EXCEPTION WHILE VISITING COM/SUN/GJC/COMMON/DATASOURCESPEC.CLASS OF SIZE 3267

Comment by flotho [ 02/Jun/13 ]

Hy,

And do you know ho to integrate this in the community release?

Regards





[GLASSFISH-21041] make schema/table-prefix/table-suffix configurable for batch status tables Created: 16/Apr/14  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: batch
Affects Version/s: 4.0
Fix Version/s: 4.1

Type: Improvement Priority: Major
Reporter: ChristianSch Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 4_0_1-reviewed

 Description   

currently schema is hard coded, see GLASSFISH-20886

to comply with site policies / name scheme it would be useful to be able to define not only schema, but also table-prefix and suffix, for example javax.batch.table-prefix="T_"



 Comments   
Comment by Mahesh Kannan [ 16/Apr/14 ]

Mar for 4.0.1





[GLASSFISH-21216] Java Batch does not work properly in Hybrid wep and ejb Created: 26/Sep/14  Updated: 25/Feb/15

Status: Open
Project: glassfish
Component/s: batch, OSGi-JavaEE
Affects Version/s: 4.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: kewlmain Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

windows 8.1
jdk1.8.0_20



 Description   

If I deploy a wab or a hybrid ejb which is OSGi-Bundle the jbatch runtime does not work properly anymore. jbatch seems like it would start the job, but failes to execute the actual artifact, i.e. a batchlet.
If I deploy the archive as plain web app or ejb than everything works fine.
I traced the logs until the BatchWorkUnit should start but the logging stops there and no error messages get printed out in the console.

I created a post on the glassfish forum: https://www.java.net/forum/topic/glassfish/jsr-352-within-osgi-ejb-or-war-failes-execute-batch-job?force=286

There I attached a sample application, which demonstrate the issue. If you deploy the app as plain web app, the you will see the output:
Information: Starting batch...
Information: Batch with executionId: 14.780 started!
Information: SimpleBatchlet executed

If you deploy the package as OSGi bundle you only get to see:
Information: Starting batch...
Information: Batch with executionId: 14.780 started!

This means I can't use jbatch in the OSGi environment, which I need currently. And it seems like I'm not able to access the jbatch runtime with a plain OSGi bundle.



 Comments   
Comment by kewlmain [ 12/Oct/14 ]

After a few days of debugging I found out the problem lies somewhere in the ManagedExecuterServiceImpl, to be precise in the ContextSetupProviderImpl class on line 210:

private boolean isApplicationEnabled(String appId) {
if (appId != null)

{ Application app = applications.getApplication(appId); // return null if (app != null) return deployment.isAppEnabled(app); }

return false;
}

It seems like the hybrid bundles (doesn't matter whether WAB or EJB) are not recognised as enabled applications. I'm not sure why? The glassfish logs don't report any kind of exceptions, which could indicate whether the bundle was installed and started without any errors. The OSGi view of the admin web gui displays the bundle was started and is active successfully.

Do I miss something regarding how bundles are handled and this is the desired behaviour? I thought the point of the hybrid bundles was to have access to both the JavaEE and OSGi world. But in my case the bundles don't have access to the ManagedExecutorService implementations.

Maybe I missed some configuration entries in the pom file of the bundles, which could enabled this feature ?

Comment by smillidge-c2b2 [ 25/Feb/15 ]

I believe this is a simple race condition. The EJB startup class PostConstruct method is called before the application is fully deployed hence the failure in the code you have described above.

Comment by smillidge-c2b2 [ 25/Feb/15 ]

The EJB specification doesn't state that you can use JBatch or concurrency utility within a Singleton @Startup @Postconstruct method. I suppose this needs clarification from EJB spec leads.

The spec says you can only do;

SessionContext methods: getBusinessObject, getRollbackOnly, setRollbackOnly, getTimerService, lookup, getContextData
JNDI access to java:comp/env
Resource manager access
Enterprise bean access
EntityManagerFactory access
EntityManager access
TimerService and Timer methods





[GLASSFISH-18609] Glassfish throws NullPointerException on startup Created: 10/Apr/12  Updated: 08/Aug/13

Status: Open
Project: glassfish
Component/s: other
Affects Version/s: 3.1.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: emailnbw Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 21
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows Server 2008 R2 Standard SP1 & Windows XP Version 2003 SP2 x64, JDK 1.7u3, GF 3.1.2, embedded derby drivers and Oracle ojdbc6



 Description   

During GF server startup/restart the following SEVERE exception is thrown:

[#|2012-04-09T23:29:00.171-0400|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=57;_ThreadName=Thread-2;|Exception while visiting com/sun/gjc/spi/JdbcObjectsFactory.class of size 3630
java.lang.NullPointerException
at org.glassfish.hk2.classmodel.reflect.impl.TypesImpl.getType(TypesImpl.java:78)
at org.glassfish.hk2.classmodel.reflect.impl.ModelClassVisitor.visit(ModelClassVisitor.java:119)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:363)
at org.glassfish.hk2.classmodel.reflect.util.JarArchive.onSelectedEntries(JarArchive.java:125)
at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

#]

This may be related to http://java.net/jira/browse/GLASSFISH-17061. One of our environments where we see this uses the bundled embedded derby with a GF managed Derby connection pool. The other environment we see this uses Oracle's ojdbc6 thin driver with a GF managed JDBC connection pool/resource.



 Comments   
Comment by Hong Zhang [ 10/Apr/12 ]

assign to HK2 team evaluation

Comment by mhankus [ 05/May/12 ]

Stacktrace is exactly the same as GLASSFISH-18513.
It happens to me too

Comment by rusty_turkey [ 17/May/12 ]

I also get error intermittently, and I already am already watching GLASSFISH-18513

Comment by jmkgreen [ 25/Jul/12 ]

Me too... In my case my .war had other faults. As seems usual, Glassfish decided to give me an apparently random NPE and stacktrace instead of the real error. JBoss told me exactly what was wrong.

Comment by smithh032772 [ 04/Sep/12 ]

Interesting, I am running on Windows Server 2008 (test/development) and Windows Server 2003 (production), and I see this error on startup or restart of Glassfish via NetBeans 7.2. I don't recall if I see this error on Windows Server 2003 when deploying app via NetBeans 7.1.2. Anyway, here is system log from beginning:

Launching GlassFish on Felix platform
INFO: Running GlassFish Version: GlassFish Server Open Source Edition 3.1.2.2 (build 5)
INFO: Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry
INFO: Grizzly Framework 1.9.50 started in: 19ms - bound to [0.0.0.0:8181]
INFO: Grizzly Framework 1.9.50 started in: 60ms - bound to [0.0.0.0:8080]
INFO: Grizzly Framework 1.9.50 started in: 4ms - bound to [0.0.0.0:4848]
INFO: Grizzly Framework 1.9.50 started in: 13ms - bound to [0.0.0.0:3700]
INFO: Grizzly Framework 1.9.50 started in: 15ms - bound to [0.0.0.0:7676]
INFO: The Admin Console is already installed, but not yet loaded.
INFO: Created EjbThreadPoolExecutor with thread-core-pool-size 16 thread-max-pool-size 32 thread-keep-alive-seconds 60 thread-queue-capacity 2147483647 allow-core-thread-timeout false
INFO: SEC1002: Security Manager is OFF.
INFO: SEC1010: Entering Security Startup Service
INFO: SEC1143: Loading policy provider com.sun.enterprise.security.provider.PolicyWrapper.
INFO: SEC1115: Realm [admin-realm] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] successfully created.
INFO: SEC1115: Realm [file] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] successfully created.
INFO: SEC1115: Realm [certificate] of classtype [com.sun.enterprise.security.auth.realm.certificate.CertificateRealm] successfully created.
INFO: SEC1011: Security Service(s) Started Successfully
INFO: WEB0169: Created HTTP listener [http-listener-1] on host/port [0.0.0.0:8080]
INFO: WEB0169: Created HTTP listener [http-listener-2] on host/port [0.0.0.0:8181]
INFO: WEB0169: Created HTTP listener [admin-listener] on host/port [0.0.0.0:4848]
INFO: WEB0171: Created virtual server [server]
INFO: WEB0171: Created virtual server [__asadmin]
INFO: WEB0172: Virtual server [server] loaded default web module []
SEVERE: Exception while visiting com/sun/gjc/spi/JdbcObjectsFactory.class of size 3615
java.lang.NullPointerException
at org.glassfish.hk2.classmodel.reflect.impl.TypesImpl.getType(TypesImpl.java:78)
at org.glassfish.hk2.classmodel.reflect.impl.ModelClassVisitor.visit(ModelClassVisitor.java:119)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:363)
at org.glassfish.hk2.classmodel.reflect.util.JarArchive.onSelectedEntries(JarArchive.java:125)
at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

INFO: HV000001: Hibernate Validator 4.3.0.Final
INFO: EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461

Comment by jwells [ 04/Sep/12 ]

Classmodel is only used by the config subsystem, so assigning to Mahesh.

Comment by gfuser9999 [ 16/Sep/12 ]

See also GLASSFISH-18513

Comment by kithouna [ 08/Apr/13 ]

I've got the exact same exception using GlassFish 3.1.2.2 and an h2 database version 1.3.170. Please fix this, it's really annoying.

Comment by disney2002 [ 30/May/13 ]

got the same problem while using GlassFish 3.1.2.2.

and restart glassfish maybe the will not happen.

Comment by gfuser9999 [ 02/Jun/13 ]

I thought the fix made to 3.1.2.4 (available from Oracle)
since many months now (on the HK2 module) for GF-18513. See
https://blogs.oracle.com/GlassFishForBusiness/entry/oracle_glassfish_server_ogfs_v3
15884192 INTEGRATE NEW HK2
14512884 EXCEPTION WHILE VISITING COM/SUN/GJC/COMMON/DATASOURCESPEC.CLASS OF SIZE 3267

Comment by linuxhippy [ 08/Aug/13 ]

Same here on Linux x86_64 with:

java version "1.7.0_25"
OpenJDK Runtime Environment (fedora-2.3.12.3.fc19-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Stack: [#|2013-08-08T17:01:44.899+0200|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=85;_ThreadName=Thread-2;|Exception while visiting EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap.class of size 6209
java.lang.NullPointerException
at org.glassfish.hk2.classmodel.reflect.impl.TypesImpl.getType(TypesImpl.java:78)
at org.glassfish.hk2.classmodel.reflect.impl.ModelClassVisitor.visit(ModelClassVisitor.java:119)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:363)
at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.handleEntry(ReadableArchiveScannerAdapter.java:171)
at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.onSelectedEntries(ReadableArchiveScannerAdapter.java:133)
at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:348)
at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:307)
at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:296)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)

#]




[GLASSFISH-15260] Storing and retrieving session with varying sizes fails Created: 17/Dec/10  Updated: 17/Dec/10

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1_b32
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: gopaljorapur Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I am using Build 32

The tet is about storing varying size data in session and retrieving, across failover

Instance fails to retrieve session data after 3-4 requests

[#|2010-12-02T21:30:30.784-0800|INFO|glassfish3.1|ShoalLogger|_ThreadID=16;_ThreadName=Thread-1;|**********************************************************************|#]

[#|2010-12-02T21:30:33.407-0800|INFO|glassfish3.1|null|_ThreadID=16;_ThreadName=Thread-1;|In constructor of Session::Cache|#]

[#|2010-12-02T21:30:33.422-0800|WARNING|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=16;_ThreadName=Thread-1;|StandardWrapperValve[SessionData]: PWC1406: Servlet.service() for servlet SessionData threw exception
java.lang.NullPointerException
at Session.SessionData.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:323)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:817)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:718)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1007)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:619)

#]

[#|2010-12-02T21:30:33.422-0800|WARNING|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=83;_ThreadName=http-thread-pool-28083(3);|StandardWrapperValve[SessionData]: PWC1406: Servlet.service() for servlet SessionData threw exception
java.lang.NullPointerException
at Session.SessionData.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:323)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:817)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:718)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1007)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:619)



 Comments   
Comment by Mahesh Kannan [ 17/Dec/10 ]

Gopal, could you also attach the server.logs for this test with org.shoal.ha log level set to FINE?





[GLASSFISH-15105] Session invalidation across instance shutdown not happening Created: 10/Dec/10  Updated: 10/Dec/10

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1_b31
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: gopaljorapur Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I am using Build 32

Here is scenario

1. Send a request, goes to instance 1
2. Bring down instance 1
3. Send a invalidation of request, goes to instance 2, session is invalidated
4. Bring back instance 1
5. Send a request to same session, it should be null, but session is returned






[GLASSFISH-6300] Badly designed class called ComponentInvocation Created: 25/Sep/08  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: other
Affects Version/s: V3
Fix Version/s: not determined

Type: Bug Priority: Minor
Reporter: Sanjeeb Sahoo Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Sun


Issuezilla Id: 6,300
Status Whiteboard:

gfv3-prelude-excluded


 Description   

I am referring to org.glassfish.api.invocation.ComponentInvocation. First of all
I don't understand why we are making a @Service available as part of
glassfish-api. Should this not be a @Contract to reduce glassfish-api's
dependency on other modules? Secondly, it has a lovely enum defined like this:

public enum ComponentInvocationType

{ SERVLET_INVOCATION, EJB_INVOCATION, APP_CLIENT_INVOCATION, UN_INITIALIZED, SERVICE_STARTUP }

This seems like a violation of extensibility of GFv3. What if I have an
invocation context which is not one of the above?

Given that any publicly visible signature of glassfish-api will be difficult to
change after prelude, please be more careful while designing them.



 Comments   
Comment by kumara [ 25/Sep/08 ]

v3 defect tracking

Comment by kumara [ 25/Sep/08 ]

glassfish-api for prelude release is of "Unstable" classification. A change to
the class at this stage is risky and this should be taken up after the Prelude
release.

Comment by kumara [ 24/Oct/08 ]

Reclassifying as P4 because these issues are not must fix for prelude release.
This issue will be scrubbed after prelude release and will be given the right
priority for v3 final release.

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-10104] NPE from JxtaReplicationUnicastSender Created: 08/Oct/09  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: v2.1.1
Fix Version/s: not determined

Type: Bug Priority: Minor
Reporter: meenap Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: Sun


Issuezilla Id: 10,104
Status Whiteboard:

v3_exclude


 Description   

GlassFish V2.1.1 HCF RC2 B31e
JDK: JDK1.6.0_17 B03
RH 5.1

When running Richaccess with latest build and JDK1.6.0_17, seeing the following
NPE after about 20 mins into the run. The run has been going on for about 19
hours now. So far there are 11 such NPE's in the server logs happening at
different times, with some happening at intervals of 2 hours, some of 1 hour and
some of 30 mins. This is not affecting the run as the instances are working as
expected and the client has not produced any errors.

The last run on RH was done with B31b with JDK1.6.0_16. NPE was not seen in that
run. This is the first time we are trying with JDK1.6.0_17. I am doing a
parallel run of this app on RH with B31e + JDK1.6.0_16 to see if this could be
related to JDK change.

[#|2009-10-07T17:10:59.782-0700|WARNING|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=19;_ThreadName=RMI
TCP
Connection(19)-10.5.220.93;_RequestID=f30103f6-0000-4678-834a-c96e161b38fd;|Default
Removal interval threshold: 15000|#]

[#|2009-10-07T17:37:47.743-0700|WARNING|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=21;_ThreadName=httpSSLWorkerThread-38080-3;_RequestID=2117176d-dab3-408a-b2cd-11af8d412d7f;|The
log message is null.
java.lang.NullPointerException
at
com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationUnicastSender.doesListContainAckRequiredState(JxtaReplicationUnicastSender.java:646)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationUnicastSender.addToMapDupsAllowed(JxtaReplicationUnicastSender.java:406)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationUnicastSender.replicateStateDupsAllowed(JxtaReplicationUnicastSender.java:344)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationUnicastSender.sendReplicationState(JxtaReplicationUnicastSender.java:236)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationSender.sendReplicationState(JxtaReplicationSender.java:382)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaBackingStoreImpl.doTransmit(JxtaBackingStoreImpl.java:918)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaBackingStoreImpl.sendBulkRemove(JxtaBackingStoreImpl.java:591)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaBackingStoreImpl$BulkRemove.handle(JxtaBackingStoreImpl.java:1079)
at
com.sun.enterprise.ee.web.sessmgmt.CommandAccumulator.handleOnFull(CommandAccumulator.java:108)
at
com.sun.enterprise.ee.web.sessmgmt.CommandAccumulator.add(CommandAccumulator.java:96)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaBackingStoreImpl.remove(JxtaBackingStoreImpl.java:543)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaBackingStoreImpl.remove(JxtaBackingStoreImpl.java:69)
at com.sun.ejb.ee.sfsb.store.ReplicatedEjbStore.remove(ReplicatedEjbStore.java:573)
at
com.sun.ejb.ee.sfsb.store.ReplicatedSFSBStoreManager.remove(ReplicatedSFSBStoreManager.java:919)
at
com.sun.ejb.containers.util.cache.LruSessionCache.remove(LruSessionCache.java:349)
at
com.sun.ejb.containers.StatefulSessionContainer.forceDestroyBean(StatefulSessionContainer.java:925)
at
com.sun.ejb.containers.StatefulSessionContainer.removeBean(StatefulSessionContainer.java:873)
at
com.sun.ejb.containers.StatefulSessionContainer.removeBean(StatefulSessionContainer.java:803)
at com.sun.ejb.containers.EJBObjectImpl.remove(EJBObjectImpl.java:210)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invokeEJBObjectMethod(EJBObjectInvocationHandler.java:264)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:167)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:120)
at $Proxy37.remove(Unknown Source)
at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:233)
at
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at
com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
at
samples.rmiiiopclient.ejb._SFSBRemoteObjRef_DynamicStub.remove(samples/rmiiiopclient/ejb/_SFSBRemoteObjRef_DynamicStub.java)
at
com.s1as.e2e.richAccess.servlet.SendOrder.processRequest(SendOrder.java:138)
at com.s1as.e2e.richAccess.servlet.SendOrder.doPost(SendOrder.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
at
com.sun.enterprise.ee.web.sessmgmt.SessionLockingStandardPipeline.invoke(SessionLockingStandardPipeline.java:120)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at
com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:382)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
at
com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

#]


 Comments   
Comment by meenap [ 08/Oct/09 ]

changing target milestone

Comment by meenap [ 08/Oct/09 ]

The B31e + JDK1.6.0_16 run also produced the same NPE after 30 mins into the
run. So this is confirmed as not related to JDK.

start
[#|2009-10-08T12:20:37.960-0700|INFO|sun-appserver2.1|javax.enterprise.system.core|_ThreadID=10;_ThreadName=main;|Starting
Sun GlassFish Enterprise Server v2.1.1 ((v2.1 Patch06)(9.1_02 Patch12)) (build
b31e-fcs) ...|#]

[#|2009-10-08T12:20:38.850-0700|INFO|sun-appserver2.1|javax.enterprise.system.core|_ThreadID=10;_ThreadName=main;Java
HotSpot(TM) Server VM;1.6.0_16;Sun Microsystems Inc.;|CORE5076: Using [Java
HotSpot(TM) Server VM, Version 1.6.0_16] from
[Sun Microsystems Inc.]|#]

..........

[#|2009-10-08T13:08:44.988-0700|WARNING|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=20;_ThreadName=httpSSLWorkerThread-38080-0;_RequestID=1cfcb0c1-d0e1-4a3a-93f5-e69ff06ec9b0;|The
log message is null.
java.lang.NullPointerException
at
com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationUnicastSender.doesListContainAckRequiredState(JxtaReplicationUnicastSender.java:646)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationUnicastSender.addToMapDupsAllowed(JxtaReplicationUnicastSender.java:406)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationUnicastSender.replicateStateDupsAllowed(JxtaReplicationUnicastSender.java:344)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationUnicastSender.sendReplicationState(JxtaReplicationUnicastSender.java:236)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationSender.sendReplicationState(JxtaReplicationSender.java:382)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaBackingStoreImpl.doTransmit(JxtaBackingStoreImpl.java:918)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaBackingStoreImpl.sendBulkRemove(JxtaBackingStoreImpl.java:591)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaBackingStoreImpl$BulkRemove.handle(JxtaBackingStoreImpl.java:1079)
at
com.sun.enterprise.ee.web.sessmgmt.CommandAccumulator.handleOnFull(CommandAccumulator.java:108)
at
com.sun.enterprise.ee.web.sessmgmt.CommandAccumulator.add(CommandAccumulator.java:96)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaBackingStoreImpl.remove(JxtaBackingStoreImpl.java:543)
at
com.sun.enterprise.ee.web.sessmgmt.JxtaBackingStoreImpl.remove(JxtaBackingStoreImpl.java:69)
at
com.sun.ejb.ee.sfsb.store.ReplicatedEjbStore.remove(ReplicatedEjbStore.java:573)
at
com.sun.ejb.ee.sfsb.store.ReplicatedSFSBStoreManager.remove(ReplicatedSFSBStoreManager.java:919)
at
com.sun.ejb.containers.util.cache.LruSessionCache.remove(LruSessionCache.java:349)
at
com.sun.ejb.containers.StatefulSessionContainer.forceDestroyBean(StatefulSessionContainer.java:925)
at
com.sun.ejb.containers.StatefulSessionContainer.removeBean(StatefulSessionContainer.java:873)
at
com.sun.ejb.containers.StatefulSessionContainer.removeBean(StatefulSessionContainer.java:803)
at com.sun.ejb.containers.EJBObjectImpl.remove(EJBObjectImpl.java:210)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invokeEJBObjectMethod(EJBObjectInvocationHandler.java:264)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:167)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:120)
at $Proxy15.remove(Unknown Source)
at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:233)
at
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at
com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
at
samples.rmiiiopclient.ejb._SFSBRemoteObjRef_DynamicStub.remove(samples/rmiiiopclient/ejb/_SFSBRemoteObjRef_DynamicStub.java)
at
com.s1as.e2e.richAccess.servlet.SendOrder.processRequest(SendOrder.java:138)
at com.s1as.e2e.richAccess.servlet.SendOrder.doPost(SendOrder.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
at
com.sun.enterprise.ee.web.sessmgmt.SessionLockingStandardPipeline.invoke(SessionLockingStandardPipeline.java:120)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at
com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:382)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
at
com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

#]
Comment by shreedhar_ganapathy [ 08/Oct/09 ]

Mahesh, could you look into this and reassign accordingly?

Comment by kumara [ 12/Oct/09 ]

Exclude from v3 defect tracking because the feature is planned for the next release.

Comment by Mahesh Kannan [ 19/Oct/09 ]

Since this is not affecting the (longivity) run, I am downgrading this to a P4.
Will fix this issue after this release.

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-14845] Change replication log messages from INFO level Created: 28/Nov/10  Updated: 06/Dec/10

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: sonymanuel Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

See these messages when running a ReadWriteServletTest. Its better to move them from INFO to FINE or FINEST level.

[#|2010-11-29T10:26:13.540+0530|INFO|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=16;_ThreadName=Thread-1;|********************* REMOVED STALE REPLICA: 5fc113b74318d00002caf47da0dd ** SENT BY: instance103|#]

[#|2010-11-29T10:26:13.540+0530|INFO|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=16;_ThreadName=Thread-1;|********************* REMOVED STALE REPLICA: 5fc113b1c1d591e5b0248b7ad39e ** SENT BY: instance103|#]

[#|2010-11-29T10:26:13.540+0530|INFO|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=16;_ThreadName=Thread-1;|********************* REMOVED STALE REPLICA: 5fc1143125ff7c88203ee636c9a4 ** SENT BY: instance103|#]

[#|2010-11-29T10:26:13.670+0530|INFO|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=16;_ThreadName=Thread-1;|********************* REMOVED STALE REPLICA: 5fc1b196e7a0902bb1d3ccead87b ** SENT BY: instance102|#]

[#|2010-11-29T10:26:13.725+0530|INFO|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=16;_ThreadName=Thread-1;|********************* REMOVED STALE REPLICA: 5fc11431a8495be1c58c1b51aba9 ** SENT BY: instance103|#]

[#|2010-11-29T10:26:13.800+0530|WARNING|glassfish3.1|org.shoal.ha.cache.command.save|_ThreadID=16;_ThreadName=Thread-1;|/ReadWriteServletTest: put(5fc87a959060000884641fffa5d4) sent stale_remove to stale data to instance102|#]

[#|2010-11-29T10:26:13.801+0530|WARNING|glassfish3.1|org.shoal.ha.cache.command.save|_ThreadID=16;_ThreadName=Thread-1;|/ReadWriteServletTest: put(5fc87aaab0a1e010dfa0f2e66765) sent stale_remove to stale data to instance102|#]

[#|2010-11-29T10:26:13.802+0530|WARNING|glassfish3.1|org.shoal.ha.cache.command.save|_ThreadID=16;_ThreadName=Thread-1;|/ReadWriteServletTest: put(5fc87aa47ff5905662a0c42b6d9b) sent stale_remove to stale data to instance102|#]

[#|2010-11-29T10:26:13.808+0530|WARNING|glassfish3.1|org.shoal.ha.cache.command.save|_ThreadID=16;_ThreadName=Thread-1;|/ReadWriteServletTest: put(5fc87ad4ad1dd0f236aaaf14fe91) sent stale_remove to stale data to instance102|#]

[#|2010-11-29T10:26:13.808+0530|WARNING|glassfish3.1|org.shoal.ha.cache.command.save|_ThreadID=16;_ThreadName=Thread-1;|/ReadWriteServletTest: put(5fc87b2132dec63d475c63794186) sent stale_remove to stale data to instance103|#]

[#|2010-11-29T10:26:13.827+0530|WARNING|glassfish3.1|org.shoal.ha.cache.command.save|_ThreadID=16;_ThreadName=Thread-1;|/ReadWriteServletTest: put(5fc87c96c01fa09189549f0c698b) sent stale_remove to stale data to instance103|#]



 Comments   
Comment by Mahesh Kannan [ 06/Dec/10 ]

Fix checked into shoal workspace. Will close the issue after next
shoal integration





[GLASSFISH-3724] <BT6612206>AS9.1EEUR1: Repair does not work as expected when a replica partner goes down Created: 03/Oct/07  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 9.1peur1
Fix Version/s: not determined

Type: Bug Priority: Minor
Reporter: gfbugbridge Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 3,724

 Description   

*********READ-ONLY Data from Bugtraq*********************
Inside SWAN :http://swsblweb1.central.sun.com:8080/CrPrint?id=6612206
Outside SWAN :http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6612206
**********READ-ONLY Data from Bugtraq Ends********
*********READ-ONLY Data from Bugtraq*********************
Description BUild : AS91UR1 promoted build b02
Testcase:
First request lands in instance1
instance1's partner instance2 is brought down
and instance1 should be connected to instance3 and do a repair
instance1 also brought down after this

second request lands in one of the alive instance and the session resumed.

issue:
Session data is saved via a repair but the ejb data is lost and
result in the following exception afer failover

[#|2007-10-02T13:54:07.069-0700|SEVERE|sun-appserver9.1|javax.enterprise.resource.corba|_ThreadID=30;_ThreadName=httpSSLWorkerThread-38080-1;_RequestID=b486aec4-9cd5-48e7-920e-9d09c2799405;|IOP5011: Exception getting the servant: [

{0}

]
javax.ejb.NoSuchObjectLocalException: Invalid Session Key ( 1f0090c0627aaaec-60012506eeb244b-1)
at com.sun.ejb.containers.StatefulSessionContainer._getContextForInstance(StatefulSessionContainer.java:1089)
at com.sun.ejb.containers.StatefulSessionContainer.getEJBRemoteBusinessObjectImpl(StatefulSessionContainer.java:1113)
at com.sun.ejb.containers.BaseContainer.getTargetObject(BaseContainer.java:1110)
at com.sun.enterprise.iiop.POARemoteReferenceFactory.preinvoke(POARemoteReferenceFactory.java:464)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorImpl_NR_USM.internalGetServant(POAPolicyMediatorImpl_NR_USM.java:93)
at com.sun.corba.ee.impl.oa.poa.POAPolicyMediatorBase.getInvocationServant(POAPolicyMediatorBase.java:130)
at com.sun.corba.ee.impl.oa.poa.POAImpl.getInvocationServant(POAImpl.java:1652)
at com.sun.corba.ee.impl.protocol.ServantCacheLocalCRDBase.updateCachedInfo(ServantCacheLocalCRDBase.java:127)
at com.sun.corba.ee.impl.protocol.ServantCacheLocalCRDBase.getCachedInfo(ServantCacheLocalCRDBase.java:90)
at com.sun.corba.ee.impl.protocol.FullServantCacheLocalCRDImpl.internalPreinvoke(FullServantCacheLocalCRDImpl.java:72)
at com.sun.corba.ee.impl.protocol.LocalClientRequestDispatcherBase.servant_preinvoke(LocalClientRequestDispatcherBase.java:217)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.servant_preinvoke(CorbaClientDelegateImpl.java:516)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:210)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
at ha.failover.beans.sfsb._SFSBRemote_Remote_DynamicStub.addAttribute(ha/failover/beans/sfsb/_SFSBRemote_Remote_DynamicStub.java)
at ha.failover.beans.sfsb._SFSBRemote_Wrapper.addAttribute(ha/failover/beans/sfsb/_SFSBRemote_Wrapper.java)
at org.apache.jsp.HaJsp_jsp._jspService(HaJsp_jsp.java:123)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:96)
at com.sun.enterprise.ee.web.sessmgmt.SessionLockingStandardPipeline.invoke(SessionLockingStandardPipeline.java:120)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:361)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

**********READ-ONLY Data from Bugtraq Ends********
*********READ-ONLY Data from Bugtraq*********************
Justification Priority changed from [] to XXXXXX 2007-10-02 21:18:50 GMT

**********READ-ONLY Data from Bugtraq Ends********



 Comments   
Comment by lwhite [ 13/Mar/08 ]

First part of fix checked in.
This code establishes and uses a RepairRegistry.
This will allow the ejb SFSB container to register as a RepairManager
and be called at appropriate time to repair.
Mahesh will complete the fix for this issue.
a) having SFSBContainer implement RepairManager
interface and repair method which will save it's local cache
contents
b) register the container during deployment and unregister during undeployment
assigning to Mahesh to complete rest of fix.
Checking in RepairManager.java;
/cvs/glassfish/common-util/src/java/com/sun/appserv/ha/util/Attic/RepairManager.java,v
<-- RepairManager.java
new revision: 1.1.2.1; previous revision: 1.1
done
RCS file:
/cvs/glassfish/common-util/src/java/com/sun/appserv/ha/util/Attic/RepairRegistry.java,v
done
Checking in RepairRegistry.java;
/cvs/glassfish/common-util/src/java/com/sun/appserv/ha/util/Attic/RepairRegistry.java,v
<-- RepairRegistry.java
new revision: 1.1.2.1; previous revision: 1.1
done
Checking in ReplicationMessageRouter.java;
/cvs/glassfish/appserv-core-ee/http-session-persistence/src/java/com/sun/enterprise/ee/web/sessmgmt/ReplicationMessageRouter.java,v
<-- ReplicationMessageRouter.java
new revision: 1.8.2.15; previous revision: 1.8.2.14
done

Comment by Joe Fialli [ 17/Apr/08 ]

SIFT functional tests FRTC1_replica2 and FRTC1_replica3 can fail till this is
fixed. They don't always fail since passivated EJB are repaired, only
non-passivated are not repaired.

See ReplicatedSFSBStoreManager.repair() for details.

To confirm this failure in server.log. Go to server.log of instance that is
first accessed and then has its replica instance killed. The failure notification
of a replica being killed triggers repair. Log shows repairing of web http
sessions but no EJB repair is done.

[#|2008-04-17T08:39:56.571-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt.pipe|_ThreadID=42;_ThreadName=pool-2-thread-5;ClassName=com.sun.enterprise.ee.web.sessmgmt.JxtaBiDiPipeWrapper;MethodName=reshape;_RequestID=97cdcdb0-1601-4a34-9694-e5a2526b1e50;|JxtaBiDiPipeWrapper:end
of reshape: new partner=instance1|#]

[#|2008-04-17T08:39:56.573-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=43;_ThreadName=Thread-62;ClassName=com.sun.enterprise.ee.web.sessmgmt.ReplicationManagerBase;MethodName=repair;_RequestID=3a676f89-1229-4bf4-a50b-235cbf39c4c1;|ReplicationManager>>repair|#]

[#|2008-04-17T08:39:56.574-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=43;_ThreadName=Thread-62;ClassName=com.sun.enterprise.ee.web.sessmgmt.ReplicationStore;MethodName=valveSave;_RequestID=3a676f89-1229-4bf4-a50b-235cbf39c4c1;|ReplicationStore>>valveSave
id=c658a591b95fe62d92bdca92b1f3 isPersistent=false isDirty=true|#]

[#|2008-04-17T08:39:56.574-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=43;_ThreadName=Thread-62;ClassName=com.sun.enterprise.ee.web.sessmgmt.ReplicationStore;MethodName=doValveSave;_RequestID=3a676f89-1229-4bf4-a50b-235cbf39c4c1;|ReplicationStore>>doValveSave:id
=c658a591b95fe62d92bdca92b1f3|#]

[#|2008-04-17T08:39:56.575-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=43;_ThreadName=Thread-62;ClassName=com.sun.enterprise.ee.web.sessmgmt.ReplicationStore;MethodName=doValveSave;_RequestID=3a676f89-1229-4bf4-a50b-235cbf39c4c1;|ReplicationStore>>doValveSave:valid
=true|#]

[#|2008-04-17T08:39:56.576-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=43;_ThreadName=Thread-62;ClassName=com.sun.enterprise.ee.web.sessmgmt.ReplicationStore;MethodName=doValveSave;_RequestID=3a676f89-1229-4bf4-a50b-235cbf39c4c1;|ReplicationStore>>doValveSave:ssoId=|#]

[#|2008-04-17T08:39:56.577-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=43;_ThreadName=Thread-62;ClassName=com.sun.enterprise.ee.web.sessmgmt.ReplicationStore;MethodName=doValveSave;_RequestID=3a676f89-1229-4bf4-a50b-235cbf39c4c1;|ReplicationStore>>doValveSave
replicator: _mode = web
_appid = WEB:cluster1:com.sun.appserv:server:/clusterjsp
_idleTimeoutInSeconds = 0|#]

[#|2008-04-17T08:39:56.577-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=43;_ThreadName=Thread-62;ClassName=com.sun.enterprise.ee.web.sessmgmt.ReplicationStore;MethodName=doValveSave;_RequestID=3a676f89-1229-4bf4-a50b-235cbf39c4c1;|ReplicationStore>>doValveSave
version:0|#]

[#|2008-04-17T08:39:56.579-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=43;_ThreadName=Thread-62;ClassName=com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationSender;MethodName=addToMapNoDups;_RequestID=3a676f89-1229-4bf4-a50b-235cbf39c4c1;|addToMapNoDups
added state id: c658a591b95fe62d92bdca92b1f3[ver: 0] to mapHashCode: 7627456|#]

[#|2008-04-17T08:39:56.579-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=43;_ThreadName=Thread-62;ClassName=com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationSender;MethodName=addToMapNoDups;_RequestID=3a676f89-1229-4bf4-a50b-235cbf39c4c1;|addToMapNoDups
exiting... |#]

[#|2008-04-17T08:39:56.580-0400|FINE|sun-appserver9.1|com.sun.ejb.ee.sfsb.store|_ThreadID=43;_ThreadName=Thread-62;ClassName=com.sun.ejb.ee.sfsb.store.ReplicatedSFSBStoreManager;MethodName=repair;_RequestID=3a676f89-1229-4bf4-a50b-235cbf39c4c1;|ReplicatedSFSBStoreManager>>repair|#]
//NOTE: No EJB saved by repair so test will fail unable to find EJB's that were
only on this server instance. Test kills this server instance after the test
provides enough time for instance to repair itself after losing its initial
replica instance.
[#|2008-04-17T08:39:56.652-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=36;_ThreadName=Thread-47;ClassName=com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationSender;MethodName=flushAllMessagesFromCurrentMapNoDupsAllowed;_RequestID=d88ee60a-e220-4a24-8663-79ab7c24c320;|flushAllMessagesFromCurrentMapNoDupsAllowed
flipped maps oldMapKey: 7627456currentMapNoDupsAllowed.get()Key):1989223|#]

[#|2008-04-17T08:39:56.654-0400|FINE|sun-appserver9.1|com.sun.enterprise.ee.web.sessmgmt|_ThreadID=44;_ThreadName=pool-5-thread-3;ClassName=com.sun.enterprise.ee.web.sessmgmt.JxtaReplicationSender;MethodName=displayList;_RequestID=0490d327-4abb-4462-a6a6-5cc8e93bbe69;|ids
about to be sent Operation: valveSave
AppId:WEB:cluster1:com.sun.appserv:server:/clusterjsp
Id:c658a591b95fe62d92bdca92b1f3[ver:0]|#]

Comment by sanandal [ 11/Jan/09 ]

"Reclassifying as P4 because this issue is not deemed "must fix" for this v2.1
release whose primary release driver is SailFin.
This issue will be scrubbed after this release and will be given the right
priority for the next release."

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-2843] NAM0006: JMS Destination object not found during deployment Created: 17/Apr/07  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: other
Affects Version/s: 9.1pe
Fix Version/s: not determined

Type: Bug Priority: Minor
Reporter: jungicz Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: PC


Attachments: Text File server.log     File WebApplication2.war     Zip Archive WebApplication2.zip    
Issuezilla Id: 2,843

 Description   

gf-v2-b41a with rest API in $GF_HOME/lib/addons (see
http://wiki.netbeans.org/wiki/view/CheatSheetForRestJ1Tryingout for details on this)

-have attached web app with some rest ws
-deploy it

=> it the server log there you can see:

NAM0006: JMS Destination object not found: test.service.MicroMarketsResource/context
javax.naming.NameNotFoundException
javax.naming.NameNotFoundException
at
com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:255)
at
com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:178)
at
com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
at
com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:315)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
...



 Comments   
Comment by jungicz [ 17/Apr/07 ]

Created an attachment (id=868)
server log

Comment by jungicz [ 17/Apr/07 ]

Created an attachment (id=869)
war for reproducing this

Comment by jungicz [ 17/Apr/07 ]

Created an attachment (id=870)
sources of the war

Comment by Dhiru Pandey [ 17/Apr/07 ]

Re-assigning

Comment by sheetalv [ 01/Jun/07 ]

will not fix for beta2.

Comment by sheetalv [ 29/Apr/08 ]

assigning to Mahesh

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-2731] bean out of heap space Created: 29/Mar/07  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: other
Affects Version/s: 9.1pe
Fix Version/s: not determined

Type: Bug Priority: Minor
Reporter: elmooney Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Solaris
Platform: Sun


Attachments: JPEG File malloc.jpg     Text File server-interop.txrequired.log     Text File server-interop.txrequired.log    
Issuezilla Id: 2,731

 Description   

Attempt to drive a 2.0 stateful session bean from a 3.0 EJB web service fails with

[#|2007-03-29T09:23:00.094-0400|SEVERE|sun-appserver9.1|com.sun.xml.ws.server.sei.EndpointMethodHandler|_ThreadID=20;_ThreadName=httpSSLWorkerThread-3000-0;_RequestID=402fc184-4cd6-44fb-b9e0-261370fceab4;|Exception
thrown from bean: java.lang.OutOfMemoryError: Java heap space
javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean:
java.lang.OutOfMemoryError: Java heap space

To reproduce:

$ cvs -d:pserver:$

{LOGNAME}

@sunsw.sfbay.sun.com:2401/sw/wpts co
tango/qe-tests/wstx # Installs GF to tmp subdirectory
$ cd tango/qe-tests/wstx/interop
$ ant container.install2
$ cd ../functional
$ ant interop|tee interop.out

Logs are in ../interop/tmp/glassfish.

This happens immediately, with no apparent memory leak. A profile of the run
shows that heap space grows to a maximum of ~50 Mb, and no more than that is
ever used. Attaching a jpg showing memory allocation.

This issue blocks WSIT test development.



 Comments   
Comment by elmooney [ 29/Mar/07 ]

Created an attachment (id=829)
domains/domain1/logs/server.log

Comment by elmooney [ 29/Mar/07 ]

Created an attachment (id=830)
domains/domain2/logs/server.log

Comment by elmooney [ 29/Mar/07 ]

Created an attachment (id=831)
profile of memory allocation

Comment by elmooney [ 29/Mar/07 ]

Please check out the tag ejb-out-of-heap-space. I.e.:

cvs -d:pserver:$

{LOGNAME}

@sunsw.sfbay.sun.com:2401/sw/wpts co -r
ejb-out-of-heap-space tango/qe-tests/wstx

Comment by gfbugbridge [ 29/Mar/07 ]

<BT6540340>

Comment by elmooney [ 29/Mar/07 ]

Use same subcat as http://monaco.sfbay/detail.jsf?cr=6375989 .

Comment by gfbugbridge [ 05/Apr/07 ]

<BT6543356>

Comment by Mahesh Kannan [ 29/May/07 ]

First I started with simple stateless session bean dev tests and found a couple
of leaks.

1. com.sun.corba.ee.impl.oa.rfm.ReferecnceFactoryManagerImpl.factories.size()
keeps growing for every deploy/undeploy cycle.

2. com.sun.enterprise.security.PermissionCache keeps growing for every
deploy/undeploy. (This is referenced by both WebSecurityManager and
CachedPermissionImpl)

I verified that no instances of EJBClassLoader leaks after a deploy/undeploy cycle

I'll be filing separate bugs about the above two issues.

I am currently trying to install tango tests to reproduce the above problem.

Comment by elmooney [ 31/May/07 ]

I originally saw this with b41-rc. I'm not able to reproduce it with b48-beta3.
I am encountering other problems that I am investigating. Mahesh, please don't
spend any more time on this until I report back.

This no longer blocks WSIT test development. Lowering priority to 4.

Comment by monzillo [ 09/Nov/09 ]

see related issue 10899 which pertains to EjbSecurityManager
the same problem existed in bot Web and EjbSecurityManagers.
both have been resolved in v3

Comment by monzillo [ 09/Nov/09 ]
      • Issue 10899 has been marked as a duplicate of this issue. ***
Comment by monzillo [ 09/Nov/09 ]

problem fixed for v3 (only) via issue 10899

Comment by Tom Mueller [ 06/Mar/12 ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-17190] Session replication for instance that is brought up. Created: 15/Aug/11  Updated: 11/Nov/11

Status: Open
Project: glassfish
Component/s: failover
Affects Version/s: 3.1.1
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: gfuser9999 Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by gfuser9999 [ 15/Aug/11 ]

In GFv3.1.1, for the following scenario (using notation set forth
in the GFV31 HA One Pager
http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFish3.1HAOnePager

1. S1 gets replicated from n1 to n2 initially
2. n1 crashes (data is still in n2)
3. n1 comes back (data is still in n2 only)
4. n2 crashes but S1 not accessed (now the session is totally lost)

Note:- If the session is accessed before step3, then data is replicated

====
Issue:
====
The issue is file to track this use-case that there is session lost.
Apparently this used to work on GFv2.x, where on step [3], n2 detects
that n1 joins the group and sent its sessions to n1. (Assuming a 2 node
cluster).

SO there may be some difference in behaviour with GFv211.

========
REQUEST
========

  • Is there a way to enable replication for this back to node
    that up (n1)?
  • The conditions for the HA "availability" is not clearly
    stated out in docs or the OnePager. This may be the currrent
    limitation and if so it should be documented.
Comment by Tushar Patidar [ 11/Nov/11 ]

Similar behavior observed. In GF v3.1 b43, I set up a cluster spanning two hosts with one instances in1 (on localhost node) and in2 (on remote node) and set up an Apahce mod_jk LB to front the cluster. I deployed the sample clusterjsp app over the cluster and accessed it. The requests were properly routed to both instances with the session maintained (no stickiness). When I stop in1, the next request goes to in2 with the session replicated on in2. But when in1 comes back, the request goes to in1 with the creation of new session.





[GLASSFISH-16859] hard-coded messages with no message IDs in flashlight Created: 14/Jun/11  Updated: 02/Dec/11

Status: Open
Project: glassfish
Component/s: monitoring
Affects Version/s: 4.0
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Dies Koper Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Below java file contains direct usage of log messages:

http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3LoggingMessageFormat

flashlight\framework\src\main\java\org\glassfish\flashlight\transformer\ProbeProviderClassFileTransformer.java

There are multiple messages hard-coded instead of using LogStrings.properties file for localization.

One particularly that stands out is the following, which is logged several times during QL. Probably this one could be changed to level FINE.

logger.log(Level.INFO, "Successfully got INSTRUMENTATION: " + instrumentation);

[#|2011-06-14T14:05:40.210+1000|INFO|glassfish3.2|org.glassfish.flashlight.transformer.ProbeProviderClassFileTransformer|_ThreadID=17;_ThreadName=Thread-1;|Successfully got INSTRUMENTATION: sun.instrument.InstrumentationImpl@1ccaac7|#]



 Comments   
Comment by Dies Koper [ 05/Jul/11 ]

Another hard-coded message appeared in my QL logs today:

[#|2011-07-05T12:58:07.684+1000|INFO|glassfish3.2|org.glassfish.flashlight.transformer.ProbeProviderClassFileTransformer|_ThreadID=15;_ThreadName=Thread-2;|Couldn't write the retransformed class data

See ProbeProviderClassFileTransformer.java:

logger.log(Level.INFO, "Couldn't write the retransformed class data", th);





[GLASSFISH-20685] Provide a REST API to stop a long running job after its submission Created: 08/Jul/13  Updated: 19/Sep/14

Status: Open
Project: glassfish
Component/s: batch
Affects Version/s: 4.0_b89_RC5
Fix Version/s: 4.1

Type: Improvement Priority: Minor
Reporter: Anissa Lam Assignee: Mahesh Kannan
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
blocks GLASSFISH-20683 Add the possibility to stop - JobOper... Open

 Description   

Console will need this API in order to implement GLASSFISH-20683






Generated at Tue Jun 30 10:38:50 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.