[ 
https://issues.apache.org/jira/browse/GEODE-10231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oleksii Sitnianskyi reassigned GEODE-10231:
-------------------------------------------

    Assignee: Oleksii Sitnianskyi

> Add configuration for suppressing FunctionException logging
> -----------------------------------------------------------
>
>                 Key: GEODE-10231
>                 URL: https://issues.apache.org/jira/browse/GEODE-10231
>             Project: Geode
>          Issue Type: Improvement
>          Components: client/server, functions
>            Reporter: Oleksii Sitnianskyi
>            Assignee: Oleksii Sitnianskyi
>            Priority: Major
>
> According to Apache Geode function implementation, the following is stated in 
> [1]:
> "To propagate an error condition or exception back to the caller of the
> function, throw a FunctionException from the execute method. Geode transmits 
> the
> exception back to the caller as if it had been thrown on the calling side. See
> the Java API documentation for
> FunctionException<https://geode.apache.org/releases/latest/javadoc/org/apache/geode/cache/execute/FunctionException.html>
> for more information."
> And as per [2]:
> "if a GemFire client executes a Function on a server, and the function's 
> execute
> method throws a FunctionException, the server logs the exception as a warning,
> and transmits it back to the calling client, which throws it"
> So, for every FunctionException thrown by a user Server Function, the server
> logs the exception with the corresponding stack trace.
> This could imply, depending on the logic implemented in the user Server
> Function, that the log of the server is packed with these messages (which
> probably are not providing extra useful information given that the exception
> will reach the client), and making it difficult to analyze the logs to find
> other relevant events.
> Given that Apache Geode recommends the use of FunctionException as the means 
> to
> propagate an error condition or exception back to the caller, we could argue 
> if
> a FunctionException thrown by a user Function should have any reflection, at
> all, in the server logs. Besides, as said before, depending on the amount of 
> the
> exceptions generated, this can complicate the analysis of log files, require
> much more space for logs storage and have a negative impact in performance.
> The improvement for server side logging is adding system property 
> configuration for surprising FunctionException logging.
> Property example: 
> {code}
> gemfire.logging.suppressFunctionExceptionLogging=true
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to