Tristan Tarrant created ISPN-2418:
-------------------------------------
Summary: CLONE - Cache restart doesn't work properly
Key: ISPN-2418
URL:
https://issues.jboss.org/browse/ISPN-2418
Project: Infinispan
Issue Type: Bug
Components: Core API
Affects Versions: 5.1.7.Final, 5.2.0.Alpha3
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 5.2.0.Final, 5.1.9.Final
Cache restart has at least two issues:
1. If a cache is stopped via {{Cache.stop()}} it will still be returned by
{{DefaultCacheManager.getCache()}}. Cache {{start()}} and {{stop()}} are not synchronized
in any way, so a {{start()}} call may return before the cache was properly started - just
because another thread is in the process of starting it.
2. {{ComponentRegistry}} keeps a few components as fields to speed up access. These
components are destroyed on {{stop()}} and re-created on {{start()}}, because they are
volatile, but the field references are not updated.
Also, the documentation of {{EmbeddedCacheManager.getCache()}} should say that it will
start the cache only if it doesn't exist yet - if the cache is stopped it will return
the cache as it was. Alternatively we could change the behaviour of {{getCache()}} to
always start the cache.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira