Alberto Bustamante Reyes created GEODE-9293:
-----------------------------------------------

             Summary: Add root cause to GemFireIOException messages
                 Key: GEODE-9293
                 URL: https://issues.apache.org/jira/browse/GEODE-9293
             Project: Geode
          Issue Type: Improvement
            Reporter: Alberto Bustamante Reyes


*AS A* geode user
*I WANT TO* have more information when an IO exception occurs
*SO THAT I* can understand and fix the root cause of the problem

_GemFireIOException_ is used to encapsulate a given _IOException_ that happen 
in the Geode code.
For creating a _GemFireIOException_ when a _IOException_ is catched, this 
constructor is used:

{code}
public GemFireIOException(String message, Throwable cause)  {
    super(message, cause);
}
{code}

The problem is that the _IOException_ message is not part of the 
_GemFireIOException_ message. So when a _GemFireIOException_ is logged, the 
root cause of the problem is not shown.

For example, the following message log message:

{{"Cache initialization for GemFireCache[id = 1081136680; isClosing = false; 
isShutDownAll = false; created = Fri Jun 19 11:42:29 UTC 2020; server = false; 
copyOnRead = false; lockLease = 120; lockTimeout = 60] failed because: 
org.apache.geode.GemFireIOException: While starting cache server CacheServer on 
port=40404 client subscription config policy=none client subscription config 
capacity=1 client subscription config overflow directory=."}}

It was logged at _GemFireCacheImpl_:
{code}
logger.error("Cache initialization for " + toString() + " failed because:", 
throwable);
{code}
And the _GemFireIOException_ was created in _CacheCreation_ in this way:
{code}
} catch (IOException ex) {
     throw new GemFireIOException(format("While starting cache server %s", 
impl), ex);
}
{code}

 




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to