ext_proc: Stop timers during ExternalProcessing::Filter::onDestroy
Signed-off-by: Rick Stewart [email protected]
Commit Message: If a timer fires after onDestroy is called, the ext_proc filter may crash while trying to access invalid encoder or decoder filter callbacks. The documentation for StreamFilterBase::onDestroy() says, "Filters must not invoke either encoder or decoder filter callbacks after having onDestroy() invoked." [email protected] said it's OK to upstream this since ext_proc is marked alpha.
Additional Description: Risk Level: Low Testing: Unit tests added Docs Changes: Release Notes: Platform Specific Features: [Optional Runtime guard:] [Optional Fixes #Issue] [Optional Fixes commit #PR or SHA] [Optional Deprecated:] [Optional API Considerations:]
/assign @mpwarres @PiotrSikora
You might also consider adding a test case to ext_proc_integration_test.cc similar to ExtProcIntegrationTest.ResponseMessageTimeout, but with the added element that the downstream disconnects before time is advanced.
You might also consider adding a test case to ext_proc_integration_test.cc similar to ExtProcIntegrationTest.ResponseMessageTimeout, but with the added element that the downstream disconnects before time is advanced.
Done.
/retest
Retrying Azure Pipelines: Check envoy-presubmit didn't fail.
/retest
Retrying Azure Pipelines: Retried failed jobs in: envoy-presubmit
LGTM, thanks! CI seems to be in a bad state, can you take a look?
Thanks! I fixed the tests.