You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Pereslegin (JIRA)" <ji...@apache.org> on 2018/07/30 15:17:00 UTC
[jira] [Created] (IGNITE-9128) Continuous query handlers don't
clean up after cache was stopped.
Pavel Pereslegin created IGNITE-9128:
----------------------------------------
Summary: Continuous query handlers don't clean up after cache was stopped.
Key: IGNITE-9128
URL: https://issues.apache.org/jira/browse/IGNITE-9128
Project: Ignite
Issue Type: Bug
Components: cache
Affects Versions: 2.6
Reporter: Pavel Pereslegin
Continuous query handlers don't clean up after the cache was stopped.
Reproducer shows resource leak:
{code:java}
public class Reproducer extends GridCommonAbstractTest {
/** */
private static final String CACHE1 = "cache1";
/** */
public void testCacheRecreate() throws Exception {
IgniteEx node = startGrid(0);
int hndCntr = 0;
try {
for (int i = 0; i < 100; i++) {
IgniteCache<Integer, Integer> cache = node.createCache(CACHE1);
cache.query(new ContinuousQuery<>().setLocalListener(evts -> {}));
cache.put(1, 1);
cache.destroy();
}
for (Object locInfo : ((Map)U.field(node.context().continuous(), "locInfos")).values()) {
GridContinuousHandler hnd = U.field(locInfo, "hnd");
if (CACHE1.equals(hnd.cacheName()))
++hndCntr;
}
assertEquals("No local handlers expected after cache was stopped.", 0, hndCntr);
}
finally {
stopAllGrids();
}
}
}
{code}
Output:
{noformat}
junit.framework.AssertionFailedError: No local handlers expected after cache was stopped.
Expected :0
Actual :100
{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)