envoyproxy / envoyproxy/envoy

[dataplane] reset ActiveStream::streamInfo().route() when clearRouteCache()

Open
#20,157 5 comments 0 reactions 1 assignee Claimed by @yanavlasov View on GitHub
area/http bug help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

Description

*Title*: reset ActiveStream::streamInfo().route() when clearRouteCache()

*Description*:
There is a gap between the ActiveStreamFilterBase::clearRouteCache and ActiveStreamFilterBase::streamInfo()::route():

whenever we call clearRouteCache(), the {en,de}coder_callback_.route() ONLY!, the streamInfo().route() is NOT updated.

The "new" route() on {en,de}coder_callback_ will be reset when we refreshCachedRoute(), by either explicitly calling it, or calling {en,de}coder_callback_.route().

So after a clearCachedRoute(), the route() on streamInfo is "stale" and will be out-of-date until refreshCachedRoute() is called.

we should explicitly clear/reset streamINfo()::route_ in clearRouteCache()

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.