GoogleAsyncClient should shutdown gracefully
Open
enhancement
no stalebot
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 430
Description
Destroying GoogleAsyncClientThreadLocal put the reset streams in deferred deleted list. What's more, it expect the stream objects not destroyed. If these streams are destroyed, the GrpcStream, which hides google grpc and envoy grpc, holds a dangling pointer to the destroyed stream. The xds client may call sendMessage later and crash Envoy.
Essentially dispatcher should be able to clean up the deferred deleted list because the deferred deleted object may hold references to ssl ctx object. We want to clean it up in shutdown. Also this allows dispatcher to easier to detect unexpected behavior after shutdown.
Contributor guide
Assessment
This issue has not been assessed yet.