-
1. Re: WildFly hangs after asynchronous servlet response
pferraro Dec 11, 2018 11:59 AM (in response to valsaraj007)Is the containing web application distributable?
-
2. Re: WildFly hangs after asynchronous servlet response
valsaraj007 Dec 12, 2018 1:12 AM (in response to pferraro)Yes, this is distributable.
-
3. Re: WildFly hangs after asynchronous servlet response
pferraro Dec 12, 2018 8:04 AM (in response to valsaraj007)1 of 1 people found this helpfulDisable batching in your Infinispan cache within the "web" cache container.
e.g. <transaction mode="NONE"/>
-
4. Re: WildFly hangs after asynchronous servlet response
valsaraj007 Jan 8, 2019 8:18 AM (in response to pferraro)Thanks Paul!
This is current conf:
<cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan">
<transport lock-timeout="120000"/>
<distributed-cache name="dist" batching="true" mode="ASYNC" owners="2" l1-lifespan="0">
<locking isolation="REPEATABLE_READ" acquire-timeout="360000" concurrency-level="1000"/>
<file-store/>
</distributed-cache>
</cache-container>
Here transaction is disabled. So it should work, right?
Also batching="true" what for this used?
-
5. Re: WildFly hangs after asynchronous servlet response
pferraro Jan 8, 2019 3:03 PM (in response to valsaraj007)Actually, no - transactions will not be disabled in that configuration.
batching="true" was deprecated many release ago, and translates to <transaction mode="BATCH"/>.
Remove this attribute and you should be all set.
Additionally, mode="ASYNC" was also deprecated while ago as well - and will be ignored.
-
6. Re: WildFly hangs after asynchronous servlet response
valsaraj007 Jan 9, 2019 8:47 AM (in response to pferraro)thanks!
I tried but got this error when applied in WildFly-8.2.1 on startup:
[Server: node-00] service jboss.clustering.registry.web.default: org.jboss.msc.service.StartException in service jboss.clustering.registry.web.default: org.infinispan.commons.CacheConfigurationException: Invocation batching not enabled in current configuration! Please enable it.
Here is the conf:
<cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan">
<transport lock-timeout="120000"/>
<distributed-cache name="dist" mode="ASYNC" owners="2" l1-lifespan="0">
<locking isolation="REPEATABLE_READ" acquire-timeout="360000"/>
<file-store/>
<transaction mode="NONE"/>
</distributed-cache>
</cache-container>
Above exception fixed when I added back batching="true".
<cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan">
<transport lock-timeout="120000"/>
<distributed-cache name="dist" batching="true" mode="ASYNC" owners="1" l1-lifespan="0">
<locking isolation="REPEATABLE_READ" acquire-timeout="360000"/>
<transaction mode="NONE"/>
<file-store/>
</distributed-cache>
</cache-container>
But still async servlet not working!
What for we need following conf:
<locking isolation="REPEATABLE_READ" acquire-timeout="360000"/>
-
7. Re: WildFly hangs after asynchronous servlet response
pferraro Jan 9, 2019 12:23 PM (in response to valsaraj007)Sorry - I had no idea you were using such an old release (the latest release is WildFly 15!).
The deprecations I mentioned earlier occurred in WF10, IIRC. Try lowering your locking isolation to READ_COMMITTED (that should be the default).
Otherwise, I suggest using a more recent release - as we have since made a number of fixes to improve the behavior of asynchronous contexts with distributable web applications.
-
8. Re: WildFly hangs after asynchronous servlet response
valsaraj007 Jan 15, 2019 8:18 AM (in response to pferraro)1 of 1 people found this helpfulThis issue fixed in 8.2 when the following conf change applied:
<cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan">
<transport lock-timeout="120000"/>
<distributed-cache name="dist" batching="true" mode="ASYNC" owners="2" l1-lifespan="0">
<locking isolation="READ_COMMITTED" acquire-timeout="360000"/>
<transaction locking="OPTIMISTIC"/>
<file-store/>
</distributed-cache>
</cache-container>