Skip to content

Parameters for Creating Mesh

When using a service mesh, there may be some error messages. This page lists the detailed meanings of some error parameters for reference.

Max Retries

The service mesh embeds Envoy components, and some parameters related to Envoy can be set when creating the mesh. For more details, refer to the Envoy documentation.

HTTP

  • 5xx

    If the upstream server responds with any 5xx response code, or doesn't respond at all (connection closed/reset/read timeout), a retry will be attempted (including connect-failure and refused-stream).

  • connect-failure

    If a request fails due to connection failure with the upstream server (such as connection timeout), a retry will be attempted (included in 5xx).

  • envoy-ratelimited

    If the header x-envoy-ratelimited is present, Envoy will retry.

  • gateway-error

    This policy is similar to the 5xx policy, but only retries requests that result in a 502, 503, or 504 error.

  • http3-post-connect-failure

    If a request is sent to the upstream server via HTTP/3 and fails after connecting, a retry will be attempted.

  • refused-stream

    If the upstream server resets the stream with the REFUSED_STREAM error code, a retry will be attempted. This reset type indicates that the request can be safely retried (included in 5xx).

  • reset

    If the upstream server doesn't respond at all (connection closed/reset/read timeout), a retry will be attempted.

  • retriable-4xx

    If the upstream server responds with a retriable 4xx response code, a retry will be attempted. Currently, the only response code in this category is 409.

    Note: be careful when enabling this retry type. In some cases, 409 may indicate that an optimistic locking revision needs to be updated. Therefore, the caller should not retry and should read and then attempt write instead. If a retry occurs in this situation, it will always fail and return another 409.

  • retriable-headers

    If any header in the upstream server response matches a retry policy or the x-envoy-retriable-header-names header, a retry will be attempted.

  • retriable-status-codes

    If the upstream server responds with any response code that matches a retry policy or is defined in the x-envoy-retriable-status-codes header, a retry will be attempted.

gRPC

  • cancelled

    If the gRPC status code in the response header is "cancelled", a retry will be attempted.

  • deadline-exceeded

    If the gRPC status code in the response header is "deadline-exceeded", a retry will be attempted.

  • internal

    If the gRPC status code in the response header is "internal", a retry will be attempted.

  • resource-exhausted

    If the gRPC status code in the response header is "resource-exhausted", a retry will be attempted.

  • unavailable

    If the gRPC status code in the response header is "unavailable", a retry will be attempted.

Sidecar Log Level

  • critical

    Any errors that force the service or application to shut down to prevent data loss (or further data loss). These are reserved for the most egregious errors and situations where data corruption or loss is guaranteed.

  • debug

    Using debug , you provide diagnostic information in a verbose manner. It's lengthy and contains more information than you need while using the application. The debug log level is used to get information needed to diagnose, troubleshoot, or test the application. This ensures the smooth operation of the application.

  • error

    Unlike the critical log level, errors don't mean your application is aborting. Instead, it just can't access a service or file. This error indicates that something important in your application has failed. This log level is used when serious issues cause the functionality within the application to not work effectively. Most of the time, the application will continue to run but eventually needs this issue resolved.

  • info

    General information to be logged (service start/stop and configuration assumptions). This is information that you want always available but typically don't care about in normal situations. This is the out-of-the-box configuration level.

  • off

    This log level doesn't log anything. The off level is used to turn off logging and is the highest possible level. Using this log level, nothing is recorded at all.

  • trace

    The trace log level captures all detailed information about application behavior. It's primarily diagnostic and more granular than the debug log level. This log level is used for situations where you need to see what's happening in your application or in third-party libraries used. You can use the trace log level to query parameters in your code or interpret algorithmic steps.

  • warning

    When unexpected application issues are detected, the warning log level will be used. This means that you aren't quite sure if the problem will happen again or still exists. At this point, you might not notice any harm to your application. This issue is usually a case where a specific process has stopped running. But that doesn't mean that the application has been damaged. In fact, the code should continue to work as usual. You should eventually investigate these warnings to prevent the problem from happening again.

Comments