The grpc disconnect mechanism in voltha 2.9 is polling based. The polling interval is 5s which means it can take an additional 5s for a connection loss to be detected. "Additional" is used here because there are a few elements (k8s liveness detection and the speed which a process dies) that used up some time before the process is marked as gone.
It is desirable to move to a streaming approach fo the following reasons:
- The connection loss is detected quicker, hence reducing by 5s the time for the grpc client to be available again.
- A service can also detect when its peer service has a valid connection to it. For instance, this will help the openonu adapter in issuing omci proxy message towards the openolt adapter only when the latter has a valid connection to the former to send back the omci responses.