[infinispan-issues] [JBoss JIRA] (ISPN-11942) JCache CacheEntryCreatedListener got TimeoutException ISPN000299 when listener calling code which accessing the created cache value

Sammy Chu (Jira) issues at jboss.org
Mon Jun 1 23:50:00 EDT 2020


     [ https://issues.redhat.com/browse/ISPN-11942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sammy Chu updated ISPN-11942:
-----------------------------
    Description: 
We are running into issue when upgrading infinispan from 9.1.7.Final to 9.2.0.Final and got the TimeoutException: ISPN000299: Unable to acquire lock after X seconds for key Y...

We reduced our settings and finally reproduce it in a simple setup:
# configured a local cache (i.e. TestCache) with default settings
# a simple service bean ServiceA with a dummy method foo() annotated with @CacheResult(cacheName = 'TestCache'), which just return string "THIS_IS_RESULT_OF_FOO"
# a simple service bean ServiceB with a dummy method bar() which just return (ServiceA.foo() + "_PROCESSED_BY_BAR")
# a JCache CacheEntryCreatedListener which calling ServiceB.bar() and register to TestCache

When calling ServiceA.foo(), expecting ServiceA will generate a random string and got cached, then trigger the cache entry created listener to notify ServiceB to regenerate its value.

In Infinispan below 9.2, it works correctly. But in 9.2 onward, it will throw TimeoutException: ISPN000299: Unable to acquire lock after X seconds for key Y. May I ask if this is a bug as we cannot found any documentation on this behavior change.

We also tested on latest stable version (10.1.8.Final) and still have such issue. We checked versions one by one and confirmed this bug introduced between change of 9.1.7 and 9.2.0.

  was:
We are running into issue when upgrading infinispan from 9.1.7.Final to 9.2.0.Final and got the TimeoutException: ISPN000299: Unable to acquire lock after X seconds for key Y...

We reduced our settings and finally reproduce it in a simple setup:
# configured a local cache (i.e. TestCache) with default settings
# a simple service bean ServiceA with a dummy method foo() annotated with @CacheResult(cacheName = 'TestCache'), which just return a random string
# a simple service bean ServiceB with a dummy method bar() which just return ServiceA.foo()
# a JCache CacheEntryCreatedListener which calling ServiceB.bar() and register to TestCache

When calling ServiceA.foo(), expecting ServiceA will generate a random string and got cached, then trigger the cache entry created listener to notify ServiceB to regenerate its value.

In Infinispan below 9.2, it works correctly. But in 9.2 onward, it will throw TimeoutException: ISPN000299: Unable to acquire lock after X seconds for key Y. May I ask if this is a bug as we cannot found any documentation on this behavior change.

We also tested on latest stable version (10.1.8.Final) and still have such issue. We checked versions one by one and confirmed this bug introduced between change of 9.1.7 and 9.2.0.



> JCache CacheEntryCreatedListener got TimeoutException ISPN000299 when listener calling code which accessing the created cache value
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ISPN-11942
>                 URL: https://issues.redhat.com/browse/ISPN-11942
>             Project: Infinispan
>          Issue Type: Bug
>          Components: JCache
>    Affects Versions: 10.1.8.Final
>            Reporter: Sammy Chu
>            Priority: Major
>         Attachments: ISPN-11942-fail.log, ISPN-11942-success.log, ISPN-11942.zip
>
>
> We are running into issue when upgrading infinispan from 9.1.7.Final to 9.2.0.Final and got the TimeoutException: ISPN000299: Unable to acquire lock after X seconds for key Y...
> We reduced our settings and finally reproduce it in a simple setup:
> # configured a local cache (i.e. TestCache) with default settings
> # a simple service bean ServiceA with a dummy method foo() annotated with @CacheResult(cacheName = 'TestCache'), which just return string "THIS_IS_RESULT_OF_FOO"
> # a simple service bean ServiceB with a dummy method bar() which just return (ServiceA.foo() + "_PROCESSED_BY_BAR")
> # a JCache CacheEntryCreatedListener which calling ServiceB.bar() and register to TestCache
> When calling ServiceA.foo(), expecting ServiceA will generate a random string and got cached, then trigger the cache entry created listener to notify ServiceB to regenerate its value.
> In Infinispan below 9.2, it works correctly. But in 9.2 onward, it will throw TimeoutException: ISPN000299: Unable to acquire lock after X seconds for key Y. May I ask if this is a bug as we cannot found any documentation on this behavior change.
> We also tested on latest stable version (10.1.8.Final) and still have such issue. We checked versions one by one and confirmed this bug introduced between change of 9.1.7 and 9.2.0.



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the infinispan-issues mailing list