@ejona86 @ascrutae 

If I do managedChannel#shutdownNow, will ongoing StreamObserver(belong to this 
channel) do onError? If yes, I think when service is unavailable at old 
address/port, I should kill the old connection.

The reason I raise this is, that when SkyWalking backend deployed in k8s, 
reboot may mean address/port changes. I want to make sure not channel is closed 
permanently. Now I am doing this by `isNetworkError` exception received.

I am doing `isNetworkError` in this way
```
    private boolean isNetworkError(Throwable throwable) {
        if (throwable instanceof StatusRuntimeException) {
            StatusRuntimeException statusRuntimeException = 
(StatusRuntimeException)throwable;
            return statusEquals(statusRuntimeException.getStatus(),
                Status.UNAVAILABLE,
                Status.PERMISSION_DENIED,
                Status.UNAUTHENTICATED,
                Status.RESOURCE_EXHAUSTED,
                Status.UNKNOWN
            );
        }
        return false;
    }
```

@ejona86 If you have any better suggestion to do so (can't use k8s API to do 
service discovery:( , this is not an option in the agent ), please let me know.

[ Full content available at: 
https://github.com/apache/incubator-skywalking/pull/1637 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to