You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "wujimin (JIRA)" <ji...@apache.org> on 2019/02/14 06:45:00 UTC

[jira] [Updated] (SCB-1150) improve how to find problem when error happened

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

wujimin updated SCB-1150:
-------------------------
    Description: 
when invocation timeout or isolated or other scenes, it's very difficult to find the problem, we must improve related ability

 

we can create projects in "integration test" to build business like: 3rd -> edge -> A -> B, and enhance fault injection to support inject error or timeout on:
 * consumer handler request
 * http client filter beforeSendRequest
 * http server filter afterReceiveRequest
 * producer handler request
 * producer business method
 * producer handler response
 * http server filter beforeSendResponse
 * http client filter afterReceiveResponse
 * consumer handler response

that means there are 21 places will inject faults.

when fault happened in any place, we should be able to find problem from log.

 

this is a big and very important task, feel free to create subtasks, eg: 
 * provide a marker instance by invocation, to log invocation id and traceId by %marker
 * enhance fault injection
 * provide a way to view discovery tree status
 * provide a way to view isolation status
 * when timeout happened, how to find problem
 * when error happened, how to find problem
 * when isolation happened, how to find problem
 * ......

  was:
when invocation timeout or isolated or other scenes, it's very difficult to find the problem, we must improve related ability

 

we can create projects in "integration test" to build business like: 3rd -> edge -> A -> B, and enhance fault injection to support inject error or timeout on:
 * consumer handler request
 * http client filter beforeSendRequest
 * http server filter afterReceiveRequest
 * producer handler request
 * producer business method
 * producer handler response
 * http server filter beforeSendResponse
 * http client filter afterReceiveResponse
 * consumer handler response

that means there are 21 places will inject faults.

when fault happened in any place, we should be able to find problem from log.

 

this is a big and very important task, feel free to create subtasks, eg: 
 * create rule for filter or handler, when execute an action caused lost invocation context in threadLocal, it's develop's duty to restore context in threadLocal, that makes we can log invocation id and traceId by MDC mechanism
 * enhance fault injection
 * provide a way to view discovery tree status
 * provide a way to view isolation status
 * when timeout happened, how to find problem
 * when error happened, how to find problem
 * when isolation happened, how to find problem
 * ......


> improve how to find problem when error happened
> -----------------------------------------------
>
>                 Key: SCB-1150
>                 URL: https://issues.apache.org/jira/browse/SCB-1150
>             Project: Apache ServiceComb
>          Issue Type: Task
>          Components: Java-Chassis
>            Reporter: wujimin
>            Priority: Major
>
> when invocation timeout or isolated or other scenes, it's very difficult to find the problem, we must improve related ability
>  
> we can create projects in "integration test" to build business like: 3rd -> edge -> A -> B, and enhance fault injection to support inject error or timeout on:
>  * consumer handler request
>  * http client filter beforeSendRequest
>  * http server filter afterReceiveRequest
>  * producer handler request
>  * producer business method
>  * producer handler response
>  * http server filter beforeSendResponse
>  * http client filter afterReceiveResponse
>  * consumer handler response
> that means there are 21 places will inject faults.
> when fault happened in any place, we should be able to find problem from log.
>  
> this is a big and very important task, feel free to create subtasks, eg: 
>  * provide a marker instance by invocation, to log invocation id and traceId by %marker
>  * enhance fault injection
>  * provide a way to view discovery tree status
>  * provide a way to view isolation status
>  * when timeout happened, how to find problem
>  * when error happened, how to find problem
>  * when isolation happened, how to find problem
>  * ......



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)