[JBoss JIRA] (WFLY-9278) EJB Access Timeout is ignored on SFSBs when using distributed caches
by Tomasz Adamski (JIRA)
[ https://issues.jboss.org/browse/WFLY-9278?page=com.atlassian.jira.plugin.... ]
Tomasz Adamski reassigned WFLY-9278:
------------------------------------
Assignee: Tomasz Adamski
> EJB Access Timeout is ignored on SFSBs when using distributed caches
> --------------------------------------------------------------------
>
> Key: WFLY-9278
> URL: https://issues.jboss.org/browse/WFLY-9278
> Project: WildFly
> Issue Type: Bug
> Components: Clustering, EJB
> Affects Versions: 11.0.0.CR1
> Reporter: Bernhard Hablesreiter
> Assignee: Tomasz Adamski
> Attachments: wildfly-request-test.zip
>
>
> When using distributed caches on Stateful Session Beans, the configured access timeout is ignored. However, the caches acquire-timeout is used instead, leading to a "org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after x seconds".
> The configuration:
> {code:xml}
> <session-bean>
> <stateless>
> <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
> </stateless>
> <stateful default-access-timeout="2000" cache-ref="distributable" passivation-disabled-cache-ref="simple"/>
> <singleton default-access-timeout="2000"/>
> </session-bean>
> <pools>
> <bean-instance-pools>
> <strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
> <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
> </bean-instance-pools>
> </pools>
> <caches>
> <cache name="simple"/>
> <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
> </caches>
> ...
> <subsystem xmlns="urn:jboss:domain:infinispan:4.0">
> ...
> <cache-container name="ejb" aliases="sfsb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan">
> <local-cache name="passivation">
> <locking isolation="REPEATABLE_READ" acquire-timeout="10000"/>
> <transaction mode="BATCH" />
> <file-store passivation="true" purge="true"/>
> </local-cache>
> </cache-container>
> ...
> </subsystem>
> {code}
> With the above configuration, any access to a @Stateful-component does not timeout after 2 seconds, but the 10 seconds configured on the infinispan-cache.
> I have attached a simple JSF web application as an eclipse project to reproduce the problem. The application calls a method on a sfsb, increments a counter and waits for 300ms. If one sends multiple request at the same time (e.g. by pressing F5 repeatedly), the problem can easily be reproduced after a few seconds.
> If the cache-ref is set to "simple" the configured access timeout works as exptected, however the access to the stateful bean does not appear to be in sync with the requests the client sent. We came around this issue when trying to migrate vom WF9 to WF10 (see also this forum post: https://developer.jboss.org/thread/266303). When the cache-ref is set to "distrubted", the requests are handled correctly/in correct order (in WF9 this was also the case with cache-ref "simple"), but the access timeout is ignored.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 9 months
[JBoss JIRA] (WFLY-9277) Wildfly logs warning "WFLYEJB0463: Invalid transaction attribute" for Stateful components with CDI lifecycle methods
by Tomasz Adamski (JIRA)
[ https://issues.jboss.org/browse/WFLY-9277?page=com.atlassian.jira.plugin.... ]
Tomasz Adamski reassigned WFLY-9277:
------------------------------------
Assignee: Tomasz Adamski
> Wildfly logs warning "WFLYEJB0463: Invalid transaction attribute" for Stateful components with CDI lifecycle methods
> --------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-9277
> URL: https://issues.jboss.org/browse/WFLY-9277
> Project: WildFly
> Issue Type: Bug
> Components: EJB
> Affects Versions: 11.0.0.CR1
> Environment: WFLY 11.0.0.CR1, JDK8
> Reporter: Bernhard Hablesreiter
> Assignee: Tomasz Adamski
> Labels: cdi, ejb, transaction
>
> Wildlfy logs a warning "WFLYEJB0463: Invalid transaction attribute type REQUIRED on SFSB lifecycle method Method postConstruct() of class class com.test.Test, valid types are REQUIRES_NEW and NOT_SUPPORTED. Method will be treated as NOT_SUPPORTED." for @Stateful-components with CDI lifecycle annotations, even if the Class does not define any Transaction-Attributes:
> {code:java}
> @Named
> @SessionScoped
> @Stateful
> public class Test implements Serializable
> {
> private static final long serialVersionUID = -2055975290009863989L;
> @PostConstruct
> private void postConstruct()
> {}
> }
> {code}
> The warning is only created when the @PostConstruct-method is on the class itself and not inherited (which does not make any difference). If the class extends another class, which declares a @PostConstruct-method, the warning does not appear.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 9 months
[JBoss JIRA] (WFLY-9414) Expose the derived ejb max pool sizes as runtime attrbutes
by Tomasz Adamski (JIRA)
[ https://issues.jboss.org/browse/WFLY-9414?page=com.atlassian.jira.plugin.... ]
Tomasz Adamski reassigned WFLY-9414:
------------------------------------
Assignee: Tomasz Adamski
> Expose the derived ejb max pool sizes as runtime attrbutes
> ----------------------------------------------------------
>
> Key: WFLY-9414
> URL: https://issues.jboss.org/browse/WFLY-9414
> Project: WildFly
> Issue Type: Enhancement
> Components: EJB
> Reporter: Brian Stansberry
> Assignee: Tomasz Adamski
>
> The max size of ejb pools can either be explicitly configured, or configured to be calculated by the server. The explicit config is done via an attribute named "max-pool-size", which for compatibility reasons can't be renamed or repurposed. But we don't provide any attribute that exposes the actually used value, whether it's explicitly set or calculated.
> The RFE is to provide such an attribute. It would be a runtime-only attribute only available on the server.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 9 months