[JBoss JIRA] (WFLY-6571) ClassNotFoundException while using remote-store for hibernate entity cache
by Gunther v. Wolffersdorff (JIRA)
[ https://issues.jboss.org/browse/WFLY-6571?page=com.atlassian.jira.plugin.... ]
Gunther v. Wolffersdorff updated WFLY-6571:
-------------------------------------------
Attachment: sample.zip
> ClassNotFoundException while using remote-store for hibernate entity cache
> --------------------------------------------------------------------------
>
> Key: WFLY-6571
> URL: https://issues.jboss.org/browse/WFLY-6571
> Project: WildFly
> Issue Type: Feature Request
> Components: Clustering
> Affects Versions: 10.0.0.Final
> Environment: * Java version: 1.8.0_45, vendor: Oracle Corporation
> * OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "dos"
> Reporter: Gunther v. Wolffersdorff
> Assignee: Paul Ferraro
> Labels: infinispan, remote-store
> Attachments: infinispan.zip, persistence.xml, sample.zip
>
>
> * configure hibernate cache, default cache is entity
> * configure entity cache as invalidation-cache with remote-store
> * deploying an application having @Cachable entities
> -> you get:
> 08:55:54,656 UTC INFO [org.hibernate.cache.spi.UpdateTimestampsCache] (ServerService Thread Pool -- 28) HHH000250: Starting update timestamps cache at region: sample-ear.ear/sample-ejb.jar#primary.org.hibernate.ca che.spi.UpdateTimestampsCache
> 08:55:54,656 UTC INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 28) WFLYCLINF0002: Started sample-ear.ear/sample-ejb.jar#primary.org.hibernate.cache.spi.UpdateTimestampsCache cache from hi bernate container
> 08:55:54,656 UTC INFO [org.hibernate.cache.internal.StandardQueryCache] (ServerService Thread Pool -- 28) HHH000248: Starting query cache at region: sample-ear.ear/sample-ejb.jar#primary.org.hibernate.cache.intern al.StandardQueryCache
> 08:55:54,671 UTC INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 28) WFLYCLINF0002: Started sample-ear.ear/sample-ejb.jar#primary.org.hibernate.cache.internal.StandardQueryCache cache from hibernate container
> 08:55:54,754 UTC ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 28) MSC000001: Failed to start service jboss.persistenceunit."sample-ear.ear/sample-ejb.jar#primary": org.jboss.msc.service.StartExc eption in service jboss.persistenceunit."sample-ear.ear/sample-ejb.jar#primary": javax.persistence.PersistenceException: [PersistenceUnit: primary] Unable to build Hibernate SessionFactory
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:172) [wildfly-jpa-10.0.0.Final.jar:10.0.0.Final]
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:117) [wildfly-jpa-10.0.0.Final.jar:10.0.0.Final]
> at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:667)
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:182) [wildfly-jpa-10.0.0.Final.jar:10.0.0.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_45]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_45]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_45]
> at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> Caused by: javax.persistence.PersistenceException: [PersistenceUnit: primary] Unable to build Hibernate SessionFactory
> at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:954) [hibernate-entitymanager-5.0.7.Final.jar:5.0.7.Final]
> at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:882) [hibernate-entitymanager-5.0.7.Final.jar:5.0.7.Final]
> at org.jboss.as.jpa.hibernate5.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44)
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:154) [wildfly-jpa-10.0.0.Final.jar:10.0.0.Final]
> ... 7 more
> Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:172)
> at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:870)
> at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:639)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:628)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:531)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:222)
> at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:849)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:621)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:572)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:440)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.lambda$getCache$6(DefaultCacheContainer.java:119)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer$$Lambda$112/661685893.run(Unknown Source)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:120)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:114)
> at org.hibernate.cache.infinispan.InfinispanRegionFactory.getCache(InfinispanRegionFactory.java:673)
> at org.hibernate.cache.infinispan.InfinispanRegionFactory.buildEntityRegion(InfinispanRegionFactory.java:285)
> at org.hibernate.internal.SessionFactoryImpl.determineEntityRegionAccessStrategy(SessionFactoryImpl.java:619) [hibernate-core-5.0.7.Final.jar:5.0.7.Final]
> at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:332) [hibernate-core-5.0.7.Final.jar:5.0.7.Final]
> at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) [hibernate-core-5.0.7.Final.jar:5.0.7.Final]
> at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) [hibernate-entitymanager-5.0.7.Final.jar:5.0.7.Final]
> ... 9 more
> Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders
> at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:174)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_45]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_45]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_45]
> at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_45]
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
> ... 28 more
> Caused by: org.infinispan.commons.CacheConfigurationException: Unable to instantiate class org.infinispan.client.hotrod.impl.transport.tcp.RoundRobinBalancingStrategy
> at org.infinispan.commons.util.Util.loadClass(Util.java:103)
> at org.infinispan.client.hotrod.configuration.ConfigurationBuilder.balancingStrategy(ConfigurationBuilder.java:125)
> at org.infinispan.persistence.remote.RemoteStore.buildRemoteConfiguration(RemoteStore.java:221)
> at org.infinispan.persistence.remote.RemoteStore.start(RemoteStore.java:89)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:141)
> ... 33 more
> Caused by: java.lang.ClassNotFoundException: org.infinispan.client.hotrod.impl.transport.tcp.RoundRobinBalancingStrategy from [Module "deployment.sample-ear.ear.sample-ejb.jar:main" from Service Module Loader]
> at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198) [jboss-modules.jar:1.5.1.Final]
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363) [jboss-modules.jar:1.5.1.Final]
> at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351) [jboss-modules.jar:1.5.1.Final]
> at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93) [jboss-modules.jar:1.5.1.Final]
> at java.lang.Class.forName0(Native Method) [rt.jar:1.8.0_45]
> at java.lang.Class.forName(Class.java:348) [rt.jar:1.8.0_45]
> at org.infinispan.commons.util.Util.loadClassStrict(Util.java:158)
> at org.infinispan.commons.util.Util.loadClass(Util.java:101)
> ... 37 more
> domain.xml is:
> {{<cache-container name="hibernate" default-cache="entity" module="org.hibernate.infinispan">
> <transport lock-timeout="60000"/>
> <local-cache name="local-query">
> <eviction strategy="LRU" max-entries="10000"/>
> <expiration max-idle="100000"/>
> </local-cache>
> <invalidation-cache name="entity" mode="SYNC">
> <eviction strategy="LRU" max-entries="1000"/>
> <expiration lifespan="45000" max-idle="30000"/>
> <remote-store cache="hibernateDistributed" socket-timeout="60000" tcp-no-delay="true" remote-servers="local-cache-server" fetch-state="false" passivation="false" preload="false" purge="true" shared="true"/>
> </invalidation-cache>
> <replicated-cache name="timestamps" mode="ASYNC"/>
> </cache-container>}}
> The attached infinispan.zip conatins some changes to the module configuration
> (module.xml's) in $JBOSS_HOME/modules/system/layers/base/org/infinispan. This
> config changes are marked wih ALVARA an fix the problem for us.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (WFLY-6571) ClassNotFoundException while using remote-store for hibernate entity cache
by Gunther v. Wolffersdorff (JIRA)
[ https://issues.jboss.org/browse/WFLY-6571?page=com.atlassian.jira.plugin.... ]
Gunther v. Wolffersdorff updated WFLY-6571:
-------------------------------------------
Attachment: persistence.xml
> ClassNotFoundException while using remote-store for hibernate entity cache
> --------------------------------------------------------------------------
>
> Key: WFLY-6571
> URL: https://issues.jboss.org/browse/WFLY-6571
> Project: WildFly
> Issue Type: Feature Request
> Components: Clustering
> Affects Versions: 10.0.0.Final
> Environment: * Java version: 1.8.0_45, vendor: Oracle Corporation
> * OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "dos"
> Reporter: Gunther v. Wolffersdorff
> Assignee: Paul Ferraro
> Labels: infinispan, remote-store
> Attachments: infinispan.zip, persistence.xml
>
>
> * configure hibernate cache, default cache is entity
> * configure entity cache as invalidation-cache with remote-store
> * deploying an application having @Cachable entities
> -> you get:
> 08:55:54,656 UTC INFO [org.hibernate.cache.spi.UpdateTimestampsCache] (ServerService Thread Pool -- 28) HHH000250: Starting update timestamps cache at region: sample-ear.ear/sample-ejb.jar#primary.org.hibernate.ca che.spi.UpdateTimestampsCache
> 08:55:54,656 UTC INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 28) WFLYCLINF0002: Started sample-ear.ear/sample-ejb.jar#primary.org.hibernate.cache.spi.UpdateTimestampsCache cache from hi bernate container
> 08:55:54,656 UTC INFO [org.hibernate.cache.internal.StandardQueryCache] (ServerService Thread Pool -- 28) HHH000248: Starting query cache at region: sample-ear.ear/sample-ejb.jar#primary.org.hibernate.cache.intern al.StandardQueryCache
> 08:55:54,671 UTC INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 28) WFLYCLINF0002: Started sample-ear.ear/sample-ejb.jar#primary.org.hibernate.cache.internal.StandardQueryCache cache from hibernate container
> 08:55:54,754 UTC ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 28) MSC000001: Failed to start service jboss.persistenceunit."sample-ear.ear/sample-ejb.jar#primary": org.jboss.msc.service.StartExc eption in service jboss.persistenceunit."sample-ear.ear/sample-ejb.jar#primary": javax.persistence.PersistenceException: [PersistenceUnit: primary] Unable to build Hibernate SessionFactory
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:172) [wildfly-jpa-10.0.0.Final.jar:10.0.0.Final]
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:117) [wildfly-jpa-10.0.0.Final.jar:10.0.0.Final]
> at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:667)
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:182) [wildfly-jpa-10.0.0.Final.jar:10.0.0.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_45]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_45]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_45]
> at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> Caused by: javax.persistence.PersistenceException: [PersistenceUnit: primary] Unable to build Hibernate SessionFactory
> at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:954) [hibernate-entitymanager-5.0.7.Final.jar:5.0.7.Final]
> at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:882) [hibernate-entitymanager-5.0.7.Final.jar:5.0.7.Final]
> at org.jboss.as.jpa.hibernate5.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44)
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:154) [wildfly-jpa-10.0.0.Final.jar:10.0.0.Final]
> ... 7 more
> Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:172)
> at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:870)
> at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:639)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:628)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:531)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:222)
> at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:849)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:621)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:572)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:440)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.lambda$getCache$6(DefaultCacheContainer.java:119)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer$$Lambda$112/661685893.run(Unknown Source)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:120)
> at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:114)
> at org.hibernate.cache.infinispan.InfinispanRegionFactory.getCache(InfinispanRegionFactory.java:673)
> at org.hibernate.cache.infinispan.InfinispanRegionFactory.buildEntityRegion(InfinispanRegionFactory.java:285)
> at org.hibernate.internal.SessionFactoryImpl.determineEntityRegionAccessStrategy(SessionFactoryImpl.java:619) [hibernate-core-5.0.7.Final.jar:5.0.7.Final]
> at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:332) [hibernate-core-5.0.7.Final.jar:5.0.7.Final]
> at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) [hibernate-core-5.0.7.Final.jar:5.0.7.Final]
> at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) [hibernate-entitymanager-5.0.7.Final.jar:5.0.7.Final]
> ... 9 more
> Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders
> at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:174)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_45]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_45]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_45]
> at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_45]
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
> ... 28 more
> Caused by: org.infinispan.commons.CacheConfigurationException: Unable to instantiate class org.infinispan.client.hotrod.impl.transport.tcp.RoundRobinBalancingStrategy
> at org.infinispan.commons.util.Util.loadClass(Util.java:103)
> at org.infinispan.client.hotrod.configuration.ConfigurationBuilder.balancingStrategy(ConfigurationBuilder.java:125)
> at org.infinispan.persistence.remote.RemoteStore.buildRemoteConfiguration(RemoteStore.java:221)
> at org.infinispan.persistence.remote.RemoteStore.start(RemoteStore.java:89)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:141)
> ... 33 more
> Caused by: java.lang.ClassNotFoundException: org.infinispan.client.hotrod.impl.transport.tcp.RoundRobinBalancingStrategy from [Module "deployment.sample-ear.ear.sample-ejb.jar:main" from Service Module Loader]
> at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198) [jboss-modules.jar:1.5.1.Final]
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363) [jboss-modules.jar:1.5.1.Final]
> at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351) [jboss-modules.jar:1.5.1.Final]
> at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93) [jboss-modules.jar:1.5.1.Final]
> at java.lang.Class.forName0(Native Method) [rt.jar:1.8.0_45]
> at java.lang.Class.forName(Class.java:348) [rt.jar:1.8.0_45]
> at org.infinispan.commons.util.Util.loadClassStrict(Util.java:158)
> at org.infinispan.commons.util.Util.loadClass(Util.java:101)
> ... 37 more
> domain.xml is:
> {{<cache-container name="hibernate" default-cache="entity" module="org.hibernate.infinispan">
> <transport lock-timeout="60000"/>
> <local-cache name="local-query">
> <eviction strategy="LRU" max-entries="10000"/>
> <expiration max-idle="100000"/>
> </local-cache>
> <invalidation-cache name="entity" mode="SYNC">
> <eviction strategy="LRU" max-entries="1000"/>
> <expiration lifespan="45000" max-idle="30000"/>
> <remote-store cache="hibernateDistributed" socket-timeout="60000" tcp-no-delay="true" remote-servers="local-cache-server" fetch-state="false" passivation="false" preload="false" purge="true" shared="true"/>
> </invalidation-cache>
> <replicated-cache name="timestamps" mode="ASYNC"/>
> </cache-container>}}
> The attached infinispan.zip conatins some changes to the module configuration
> (module.xml's) in $JBOSS_HOME/modules/system/layers/base/org/infinispan. This
> config changes are marked wih ALVARA an fix the problem for us.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (WFLY-6581) EJB Timers Intermittently Execute Repeatedly on Server Restart with Error Code WFLYEJB0043
by Stuart Douglas (JIRA)
Stuart Douglas created WFLY-6581:
------------------------------------
Summary: EJB Timers Intermittently Execute Repeatedly on Server Restart with Error Code WFLYEJB0043
Key: WFLY-6581
URL: https://issues.jboss.org/browse/WFLY-6581
Project: WildFly
Issue Type: Bug
Components: EJB
Affects Versions: 10.0.0.Final
Reporter: Kevin Chen
Assignee: Stuart Douglas
On Wildfly10, we are experiencing intermittent problems where on server startup, an @Timeout annotated method can be executed hundreds of times in a second (log below). Going through the references to the @Timeout methods and the @Scheduled methods, all scheduled methods are set to be non-persistent (ex: timerConfig.setPersistent(false), persistent=false) so we don't know how this could occur. It is not consistent and our only solution has been to kill the Wildfly10 server process and restart.
13:47:27,824 WARN [org.jboss.as.ejb3] (EJB default - 6) [ ] WFLYEJB0043: A previous execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8 timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00 PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
13:47:27,825 WARN [org.jboss.as.ejb3] (EJB default - 96) [ ] WFLYEJB0043: A previous execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8 timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00 PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
13:47:27,825 WARN [org.jboss.as.ejb3] (EJB default - 97) [ ] WFLYEJB0043: A previous execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8 timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00 PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
13:47:27,825 WARN [org.jboss.as.ejb3] (EJB default - 37) [ ] WFLYEJB0043: A previous execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8 timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00 PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (WFLY-6561) EJB Timers Intermittently Execute Repeatedly on Server Restart with Error Code WFLYEJB0043
by Stuart Douglas (JIRA)
[ https://issues.jboss.org/browse/WFLY-6561?page=com.atlassian.jira.plugin.... ]
Stuart Douglas commented on WFLY-6561:
--------------------------------------
I can reproduce this with the following code (the problem occurs if the timer start time is in the first second of the minute):
{code}
@PostConstruct
public void start() throws InterruptedException {
Calendar c = new GregorianCalendar();
c.set(Calendar.SECOND, 0);
c.add(Calendar.MINUTE, 1);
timerService.createCalendarTimer(new ScheduleExpression().second("0").minute("*").hour("*").start(c.getTime()));
}
{code}
This basically ends up with a timer execution that is in the past, and for that second it will basically queue timer tasks in a loop, which is bad.
> EJB Timers Intermittently Execute Repeatedly on Server Restart with Error Code WFLYEJB0043
> ------------------------------------------------------------------------------------------
>
> Key: WFLY-6561
> URL: https://issues.jboss.org/browse/WFLY-6561
> Project: WildFly
> Issue Type: Bug
> Components: EJB
> Affects Versions: 10.0.0.Final
> Reporter: Kevin Chen
> Assignee: Stuart Douglas
>
> On Wildfly10, we are experiencing intermittent problems where on server startup, an @Timeout annotated method can be executed hundreds of times in a second (log below). Going through the references to the @Timeout methods and the @Scheduled methods, all scheduled methods are set to be non-persistent (ex: timerConfig.setPersistent(false), persistent=false) so we don't know how this could occur. It is not consistent and our only solution has been to kill the Wildfly10 server process and restart.
> 13:47:27,824 WARN [org.jboss.as.ejb3] (EJB default - 6) [ ] WFLYEJB0043: A previous execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8 timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00 PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
> 13:47:27,825 WARN [org.jboss.as.ejb3] (EJB default - 96) [ ] WFLYEJB0043: A previous execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8 timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00 PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
> 13:47:27,825 WARN [org.jboss.as.ejb3] (EJB default - 97) [ ] WFLYEJB0043: A previous execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8 timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00 PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
> 13:47:27,825 WARN [org.jboss.as.ejb3] (EJB default - 37) [ ] WFLYEJB0043: A previous execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8 timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00 PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (WFLY-6579) When JASPIC's register session is used, Subject not propagated to EJB
by arjan tijms (JIRA)
[ https://issues.jboss.org/browse/WFLY-6579?page=com.atlassian.jira.plugin.... ]
arjan tijms updated WFLY-6579:
------------------------------
Description:
When the JASPIC 1.1 register session ({{javax.servlet.http.registerSession}}) is used, the authenticated identity (via the Subject) is not propagated to the EJB container.
The problems seems to be with {{JASPICAuthenticationMechanism.createAccount}}. When a cached account is re-used, a {{null}} is passed for the {{Subject}} parameter in the call to {{jbossSct.getUtil().createSubjectInfo}}. This will set indeed set a {{SubjectInfo}} with subject being null.
{{EJBContext#getCallerPrincipal}} checks exactly this subject, and when seeing a null will consider the user to be unauthenticated, even when the caller is authenticated in the web layer.
See the code below:
{code:java}
// SAM handled the same principal found in the cached account: indicates we must use the cached account.
if (cachedAccount != null && cachedAccount.getPrincipal() == userPrincipal) {
// populate the security context using the cached account data.
jbossSct.getUtil().createSubjectInfo(
userPrincipal, ((AccountImpl) cachedAccount).getCredential(),
null); // PROBLEMATIC NULL
RoleGroup roleGroup = new SimpleRoleGroup(SecurityConstants.ROLES_IDENTIFIER);
for (String role : cachedAccount.getRoles())
roleGroup.addRole(new SimpleRole(role));
jbossSct.getUtil().setRoles(roleGroup);
return cachedAccount;
}
{code}
Instead of passing a {{null}}, passing the existing subject as set by the JASPIC callback handler seems to work:
{code:java}
jbossSct.getUtil().createSubjectInfo(
userPrincipal, ((AccountImpl) cachedAccount).getCredential(),
jbossSct.getUtil().getSubject());
{code}
was:
When the JASPIC 1.1 register session ({{javax.servlet.http.registerSession}}) is used, the authenticated identity (via the Subject) is not propagated to the EJB container.
The problems seems to be with {{JASPICAuthenticationMechanism.createAccount}}. When a cached account is re-used, a {{null}} is passed for the {{Subject}} parameter in the call to {{jbossSct.getUtil().createSubjectInfo}}. This will set indeed set a {{SubjectInfo}} with subject being null.
{{EJBContext#getCallerPrincipal}} checks exactly this subject, and when seeing a null will consider the user to be unauthenticated, even when the caller is authenticated in the web layer.
See the code below:
{code:java}
// SAM handled the same principal found in the cached account: indicates we must use the cached account.
if (cachedAccount != null && cachedAccount.getPrincipal() == userPrincipal) {
// populate the security context using the cached account data.
jbossSct.getUtil().createSubjectInfo(userPrincipal, ((AccountImpl) cachedAccount).getCredential(), null);
RoleGroup roleGroup = new SimpleRoleGroup(SecurityConstants.ROLES_IDENTIFIER);
for (String role : cachedAccount.getRoles())
roleGroup.addRole(new SimpleRole(role));
jbossSct.getUtil().setRoles(roleGroup);
return cachedAccount;
}
{code}
Instead of passing a {{null}}, passing the existing subject as set by the JASPIC callback handler seems to work:
{code:java}
jbossSct.getUtil().createSubjectInfo(userPrincipal, ((AccountImpl) cachedAccount).getCredential(), jbossSct.getUtil().getSubject());
{code}
> When JASPIC's register session is used, Subject not propagated to EJB
> ---------------------------------------------------------------------
>
> Key: WFLY-6579
> URL: https://issues.jboss.org/browse/WFLY-6579
> Project: WildFly
> Issue Type: Bug
> Components: Security
> Affects Versions: 10.0.0.Final
> Reporter: arjan tijms
> Assignee: Darran Lofthouse
> Labels: jaspic
>
> When the JASPIC 1.1 register session ({{javax.servlet.http.registerSession}}) is used, the authenticated identity (via the Subject) is not propagated to the EJB container.
> The problems seems to be with {{JASPICAuthenticationMechanism.createAccount}}. When a cached account is re-used, a {{null}} is passed for the {{Subject}} parameter in the call to {{jbossSct.getUtil().createSubjectInfo}}. This will set indeed set a {{SubjectInfo}} with subject being null.
> {{EJBContext#getCallerPrincipal}} checks exactly this subject, and when seeing a null will consider the user to be unauthenticated, even when the caller is authenticated in the web layer.
> See the code below:
> {code:java}
> // SAM handled the same principal found in the cached account: indicates we must use the cached account.
> if (cachedAccount != null && cachedAccount.getPrincipal() == userPrincipal) {
> // populate the security context using the cached account data.
> jbossSct.getUtil().createSubjectInfo(
> userPrincipal, ((AccountImpl) cachedAccount).getCredential(),
> null); // PROBLEMATIC NULL
> RoleGroup roleGroup = new SimpleRoleGroup(SecurityConstants.ROLES_IDENTIFIER);
> for (String role : cachedAccount.getRoles())
> roleGroup.addRole(new SimpleRole(role));
> jbossSct.getUtil().setRoles(roleGroup);
> return cachedAccount;
> }
> {code}
> Instead of passing a {{null}}, passing the existing subject as set by the JASPIC callback handler seems to work:
> {code:java}
> jbossSct.getUtil().createSubjectInfo(
> userPrincipal, ((AccountImpl) cachedAccount).getCredential(),
> jbossSct.getUtil().getSubject());
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (WFLY-6579) When JASPIC's register session is used, Subject not propagated to EJB
by arjan tijms (JIRA)
arjan tijms created WFLY-6579:
---------------------------------
Summary: When JASPIC's register session is used, Subject not propagated to EJB
Key: WFLY-6579
URL: https://issues.jboss.org/browse/WFLY-6579
Project: WildFly
Issue Type: Bug
Components: Security
Affects Versions: 10.0.0.Final
Reporter: arjan tijms
Assignee: Darran Lofthouse
When the JASPIC 1.1 register session ({{javax.servlet.http.registerSession}}) is used, the authenticated identity (via the Subject) is not propagated to the EJB container.
The problems seems to be with {{JASPICAuthenticationMechanism.createAccount}}. When a cached account is re-used, a {{null}} is passed for the {{Subject}} parameter in the call to {{jbossSct.getUtil().createSubjectInfo}}. This will set indeed set a {{SubjectInfo}} with subject being null.
{{EJBContext#getCallerPrincipal}} checks exactly this subject, and when seeing a null will consider the user to be unauthenticated, even when the caller is authenticated in the web layer.
See the code below:
{code:java}
// SAM handled the same principal found in the cached account: indicates we must use the cached account.
if (cachedAccount != null && cachedAccount.getPrincipal() == userPrincipal) {
// populate the security context using the cached account data.
jbossSct.getUtil().createSubjectInfo(userPrincipal, ((AccountImpl) cachedAccount).getCredential(), null);
RoleGroup roleGroup = new SimpleRoleGroup(SecurityConstants.ROLES_IDENTIFIER);
for (String role : cachedAccount.getRoles())
roleGroup.addRole(new SimpleRole(role));
jbossSct.getUtil().setRoles(roleGroup);
return cachedAccount;
}
{code}
Instead of passing a {{null}}, passing the existing subject as set by the JASPIC callback handler seems to work:
{code:java}
jbossSct.getUtil().createSubjectInfo(userPrincipal, ((AccountImpl) cachedAccount).getCredential(), jbossSct.getUtil().getSubject());
{code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months