We have 50 SLSBs running on non-clustered WL servers. Yet we are seeing
the following ASSERTION FAILED error, which from the stacktrace seems to
hint the ejb stub is doing something cluster-related... I have attached
ejb-jar.xml of the offending bean; someone please verify we are not
building cluster-capable stubs, and if we are building the right stub,
please explain why the exception is happening. Thanks!
******** STACKTRACE
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Assertion
violated ]
at weblogic.utils.Debug.assert(Debug.java:74)
at weblogic.rmi.cluster.BasicReplicaList.reset(BasicReplicaList.java:175)
at
weblogic.rmi.cluster.PrimarySecondaryReplicaHandler.setPiggybackResponse(Pri
marySecondaryReplicaHandler.java:94)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.setPiggybackResponse(ReplicaAware
RemoteRef.java:294)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:265)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:229)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy14.getStatus(Unknown Source)
at
com.go2.dtc.service.AccountStatus.accountIsOnline(AccountStatus.java:57)
******* EJB-JAR.XML
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>accountservice.AccountServiceHome</ejb-name>
<home>com.go2.ejb.services.accountservice.AccountServiceHome</home>
<remote>com.go2.ejb.services.accountservice.AccountService</remote>
<ejb-class>com.go2.ejb.services.accountservice.AccountServiceBean</ejb-class
>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>accountservice.AccountServiceHome</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
<container-transaction>
<method>
<ejb-name>accountservice.AccountServiceHome</ejb-name>
<method-intf>Remote</method-intf>
<method-name>getStatus</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<container-transaction>
<method>
<ejb-name>accountservice.AccountServiceHome</ejb-name>
<method-intf>Remote</method-intf>
<method-name>changeSearchListingStatus</method-name>
<method-params>
<method-param>int</method-param>
<method-param>java.lang.String</method-param>
</method-params>
</method>
<trans-attribute>RequiresNew</trans-attribute>
</container-transaction>
</assembly-descriptor>
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>accountservice.AccountServiceHome</ejb-name>
<home>com.go2.ejb.services.accountservice.AccountServiceHome</home>
<remote>com.go2.ejb.services.accountservice.AccountService</remote>
<ejb-class>com.go2.ejb.services.accountservice.AccountServiceBean</ejb-class
>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>accountservice.AccountServiceHome</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
<container-transaction>
<method>
<ejb-name>accountservice.AccountServiceHome</ejb-name>
<method-intf>Remote</method-intf>
<method-name>getStatus</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<container-transaction>
<method>
<ejb-name>accountservice.AccountServiceHome</ejb-name>
<method-intf>Remote</method-intf>
<method-name>changeSearchListingStatus</method-name>
<method-params>
<method-param>int</method-param>
<method-param>java.lang.String</method-param>
</method-params>
</method>
<trans-attribute>RequiresNew</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
Do you have any sfsb?
-- Rob
Can this be reproduced at will ?
Rob Woollen wrote:
--
Rajesh Mirchandani
Developer Relations Engineer
BEA Support
Unfortunately, along with other ASSERTION FAILED bugs I've seen before, this
one cannot be reproduced at will.
Gene
"Rajesh Mirchandani" <Re...@ToNewsgroup.Only> wrote in message
news:3D00D938...@ToNewsgroup.Only...
AccountStatus is calling AccountService, which is a SLSB. I have attached
its ejb-jar.xml in my original post, and here's the corresponding
weblogic-ejb-jar.xml:
!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 6.0.0
EJB//EN' 'http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd'>
<!-- Generated XML! -->
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>accountservice.AccountServiceHome</ejb-name>
<stateless-session-descriptor>
<pool>
<max-beans-in-free-pool>100</max-beans-in-free-pool>
</pool>
<stateless-clustering>
<stateless-bean-is-clusterable>False</stateless-bean-is-clusterable>
<stateless-bean-methods-are-idempotent>False</stateless-bean-methods-are-ide
mpotent>
</stateless-clustering>
</stateless-session-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>300</trans-timeout-seconds>
</transaction-descriptor>
<jndi-name>accountservice.AccountServiceHome</jndi-name>
</weblogic-enterprise-bean>
<transaction-isolation>
<isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
<method>
<ejb-name>accountservice.AccountServiceHome</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
</transaction-isolation>
</weblogic-ejb-jar>
"Rob Woollen" <r...@nomail.com> wrote in message
news:3D00091D...@nomail.com...
Is this happening under load ?
Gene Chuang wrote:
--
This error was reported on our QA system error log, and only occurred a
couple of times in a very specific time frame. I will ask QA again if it
has happened since the first report.
However, even if this bug is minor and not production-worthy, what I am more
concerned about is the fact that the stacktrace seem to indicate the bug is
cluster-related, when we set our SLSBs to be non-clustered. Can someone
please confirm, given the ejb-jar.xml and weblogic-ejb-jar.xml I've posted
below, that I have properly configured and deployed our beans to be
non-clustered? I don't want to introduce cluster overhead (and cluster
bugs) when we don't need to!
Gene
"Rajesh Mirchandani" <Re...@ToNewsgroup.Only> wrote in message
news:3D00EF41...@ToNewsgroup.Only...