envoyproxy/envoy

Protecting envoy from stacking events on the same fd

Open

#8,925 opened on Nov 7, 2019

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
help wantedtech debt

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Description: The way envoy FileEventImpl use libevent is tricky. If two FileEventImpl refer to the same fd, eventually the assigned events are stacked and it's probably hard to recover the intention of each other.

https://github.com/envoyproxy/envoy/pull/8922 is the one I encountered but I believe there are more hidden.

We need to figure out

  1. what is pattern we should follow all over envoy,
  2. how to detect the violation
  3. what are the tools to debug when we suspect there is violation

Contributor guide