[JBoss JIRA] (WFLY-12718) Clustering: replicated-cache sampling errors
by Radoslav Husar (Jira)
[ https://issues.jboss.org/browse/WFLY-12718?page=com.atlassian.jira.plugin... ]
Radoslav Husar commented on WFLY-12718:
---------------------------------------
We could set this to something clearly sufficient like 15 seconds; just to make sure.
> Clustering: replicated-cache sampling errors
> --------------------------------------------
>
> Key: WFLY-12718
> URL: https://issues.jboss.org/browse/WFLY-12718
> Project: WildFly
> Issue Type: Bug
> Components: Clustering
> Affects Versions: 18.0.0.Final
> Reporter: Tommasso Borgato
> Assignee: Paul Ferraro
> Priority: Blocker
>
> The issue is about replicated-cache in fail-over tests.
> WildFly is started in clustered mode using a replicated cache for replicating HTTP session data across cluster nodes; all 4 nodes in the cluster are initialized with the following cli script:
> {noformat}
> embed-server --server-config=standalone-ha.xml
> /subsystem=jgroups/channel=ee:write-attribute(name=stack,value=tcp)
> /subsystem=infinispan/cache-container=web/replicated-cache=testRepl:add()
> /subsystem=infinispan/cache-container=web/replicated-cache=testRepl/component=locking:write-attribute(name=isolation, value=REPEATABLE_READ)
> /subsystem=infinispan/cache-container=web/replicated-cache=testRepl/component=transaction:write-attribute(name=mode, value=BATCH)
> /subsystem=infinispan/cache-container=web/replicated-cache=testRepl/store=file:add()
> /subsystem=infinispan/cache-container=web:write-attribute(name=default-cache, value=testRepl)
> {noformat}
> The test is run with wildfly-18.0.0.Final.zip;
> The same tests run with version wildfly-17.0.1.Final.zip do not have any problem;
> hence this looks like a regression;
> As usual, we test that the serial value stored in the replicated cache is incremented at every call: when this is not true, we say we have a sampling error;
> Here are the runs that exhibit this issue:
> - **22.82% Fail Rate with WildFly-18 ** [eap-7.x-clustering-http-session-shutdown-repl#23|https://eap-qe-jenkins.r...]
> - **0% Fail Rate with WildFly-17 ** [eap-7.x-clustering-http-session-shutdown-repl#24|https://eap-qe-jenkins.r...]
> We also repeated the tests to make sure it can be reproduced:
> - **22.75% Fail rate with WildFly-18 ** [eap-7.x-clustering-http-session-shutdown-repl#26|https://eap-qe-jenkins.r...]
> - **0% Fail Rate with WildFly-17 ** [eap-7.x-clustering-http-session-shutdown-repl#25|https://eap-qe-jenkins.r...]
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 1 month
[JBoss JIRA] (WFLY-12733) EJB Timers: Forcing refresh timers in a database-data-store in a clustered environment
by Cheng Fang (Jira)
[ https://issues.jboss.org/browse/WFLY-12733?page=com.atlassian.jira.plugin... ]
Cheng Fang edited comment on WFLY-12733 at 11/1/19 9:23 AM:
------------------------------------------------------------
[~rhn-support-rhsilva] I think TimerServiceImpl class is an internal implementation class and is not supposed to be directly accessed by applications. Although users can cast the standard javax.ejb.TimerService to the internal TimerServiceImpl, this type of usage is not supported and may change in the future. In this sense, adding methods to ejb timer internal classes to force refresh is not a viable option, IMHO. The other option is to have getTimers() method always refresh internally before returning results.
was (Author: cfang):
@reporter I think TimerServiceImpl class is an internal implementation class and is not supposed to be directly accessed by applications. Although users can cast the standard javax.ejb.TimerService to the internal TimerServiceImpl, this type of usage is not supported and may change in the future. In this sense, adding methods to ejb timer internal classes to force refresh is not a viable option, IMHO. The other option is to have getTimers() method always refresh internally before returning results.
> EJB Timers: Forcing refresh timers in a database-data-store in a clustered environment
> --------------------------------------------------------------------------------------
>
> Key: WFLY-12733
> URL: https://issues.jboss.org/browse/WFLY-12733
> Project: WildFly
> Issue Type: Feature Request
> Components: EJB
> Reporter: Rhuan Rocha
> Assignee: Cheng Fang
> Priority: Major
>
> The EJB Timer has a way to persist timers in a database using datasources. It is described [here|https://docs.jboss.org/author/display/WFLY10/EJB3+Clustered+Database...]. The database-data-store has an attribute called refresh-interval that define a time in milliseconds to refresh the timers reading the timers from database. Look this sample of configuration.
>
> {code:java}
> <data-stores>
> <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
> <database-data-store name="clustered-store" datasource-jndi-name="java:/jdbc/MyDataSource" partition="timer" refresh-interval="60000" allow-execution="true"/>
> </data-stores>
> {code}
> The RFE is to Wildfly provide a way to force the refresh programmatically.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 1 month
[JBoss JIRA] (WFLY-12733) EJB Timers: Forcing refresh timers in a database-data-store in a clustered environment
by Cheng Fang (Jira)
[ https://issues.jboss.org/browse/WFLY-12733?page=com.atlassian.jira.plugin... ]
Cheng Fang commented on WFLY-12733:
-----------------------------------
@reporter I think TimerServiceImpl class is an internal implementation class and is not supposed to be directly accessed by applications. Although users can cast the standard javax.ejb.TimerService to the internal TimerServiceImpl, this type of usage is not supported and may change in the future. In this sense, adding methods to ejb timer internal classes to force refresh is not a viable option, IMHO. The other option is to have getTimers() method always refresh internally before returning results.
> EJB Timers: Forcing refresh timers in a database-data-store in a clustered environment
> --------------------------------------------------------------------------------------
>
> Key: WFLY-12733
> URL: https://issues.jboss.org/browse/WFLY-12733
> Project: WildFly
> Issue Type: Feature Request
> Components: EJB
> Reporter: Rhuan Rocha
> Assignee: Cheng Fang
> Priority: Major
>
> The EJB Timer has a way to persist timers in a database using datasources. It is described [here|https://docs.jboss.org/author/display/WFLY10/EJB3+Clustered+Database...]. The database-data-store has an attribute called refresh-interval that define a time in milliseconds to refresh the timers reading the timers from database. Look this sample of configuration.
>
> {code:java}
> <data-stores>
> <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
> <database-data-store name="clustered-store" datasource-jndi-name="java:/jdbc/MyDataSource" partition="timer" refresh-interval="60000" allow-execution="true"/>
> </data-stores>
> {code}
> The RFE is to Wildfly provide a way to force the refresh programmatically.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 1 month
[JBoss JIRA] (WFLY-12745) EJB Timers: Forcing refresh timers in a database-data-store in a clustered environment
by Cheng Fang (Jira)
Cheng Fang created WFLY-12745:
---------------------------------
Summary: EJB Timers: Forcing refresh timers in a database-data-store in a clustered environment
Key: WFLY-12745
URL: https://issues.jboss.org/browse/WFLY-12745
Project: WildFly
Issue Type: Feature Request
Components: EJB
Reporter: Cheng Fang
Assignee: Cheng Fang
The EJB Timer has a way to persist timers in a database using datasources. It is described [here|https://docs.jboss.org/author/display/WFLY10/EJB3+Clustered+Database...]. The database-data-store has an attribute called refresh-interval that define a time in milliseconds to refresh the timers reading the timers from database. Look this sample of configuration.
{code:java}
<data-stores>
<file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
<database-data-store name="clustered-store" datasource-jndi-name="java:/jdbc/MyDataSource" partition="timer" refresh-interval="60000" allow-execution="true"/>
</data-stores>
{code}
The RFE is to Wildfly provide a way to force the refresh programmatically.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 1 month