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)