You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Jianxia Chen (Jira)" <ji...@apache.org> on 2021/01/07 01:31:00 UTC
[jira] [Updated] (GEODE-8815) Cache could close with uncaught
exception
[ https://issues.apache.org/jira/browse/GEODE-8815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jianxia Chen updated GEODE-8815:
--------------------------------
Description:
In GemFireCacheImpl.initialize(), it is possible that an uncaught exception is not logged and close the cache.
{code:java}
try {
if (!isClient) {
applyJarAndXmlFromClusterConfig();
}
initializeDeclarativeCache();
completedCacheXml = true;
} catch (RuntimeException e) {
logger.error("Cache initialization for " + this.toString() + " failed because:", e);
throw e;
} finally {
if (!completedCacheXml) {
// so initializeDeclarativeCache threw an exception
try {
close();
} catch (Throwable ignore) {
// I don't want init to throw an exception that came from the close.
// I want it to throw the original exception that came from initializeDeclarativeCache.
}
configurationResponse = null;
}
{code}
was:
In GemFireCacheImpl.initialize(), it is possible that an uncaught exception is logged and close the cache.
{code:java}
try {
if (!isClient) {
applyJarAndXmlFromClusterConfig();
}
initializeDeclarativeCache();
completedCacheXml = true;
} catch (RuntimeException e) {
logger.error("Cache initialization for " + this.toString() + " failed because:", e);
throw e;
} finally {
if (!completedCacheXml) {
// so initializeDeclarativeCache threw an exception
try {
close();
} catch (Throwable ignore) {
// I don't want init to throw an exception that came from the close.
// I want it to throw the original exception that came from initializeDeclarativeCache.
}
configurationResponse = null;
}
{code}
> Cache could close with uncaught exception
> -----------------------------------------
>
> Key: GEODE-8815
> URL: https://issues.apache.org/jira/browse/GEODE-8815
> Project: Geode
> Issue Type: Bug
> Reporter: Jianxia Chen
> Priority: Major
>
> In GemFireCacheImpl.initialize(), it is possible that an uncaught exception is not logged and close the cache.
> {code:java}
> try {
> if (!isClient) {
> applyJarAndXmlFromClusterConfig();
> }
> initializeDeclarativeCache();
> completedCacheXml = true;
> } catch (RuntimeException e) {
> logger.error("Cache initialization for " + this.toString() + " failed because:", e);
> throw e;
> } finally {
> if (!completedCacheXml) {
> // so initializeDeclarativeCache threw an exception
> try {
> close();
> } catch (Throwable ignore) {
> // I don't want init to throw an exception that came from the close.
> // I want it to throw the original exception that came from initializeDeclarativeCache.
> }
> configurationResponse = null;
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)