Skip to content

identify outlier_detection correctly as an object in the high-level c…#1010

Merged
RomanDzhabarov merged 1 commit intoenvoyproxy:masterfrom
christian-posta:ceposta-doco
May 23, 2017
Merged

identify outlier_detection correctly as an object in the high-level c…#1010
RomanDzhabarov merged 1 commit intoenvoyproxy:masterfrom
christian-posta:ceposta-doco

Conversation

@christian-posta
Copy link
Copy Markdown
Contributor

…onfig overview

@RomanDzhabarov RomanDzhabarov self-assigned this May 23, 2017
@RomanDzhabarov RomanDzhabarov merged commit d3d59e6 into envoyproxy:master May 23, 2017
nezdolik pushed a commit to nezdolik/envoy that referenced this pull request May 4, 2024
Previous implementation wasn't entirely safe w.r.t. 32-bit off_t
systems. Specifically around mmap replacement hook. Also, API was a
lot more general and broad than we actually need.

Sadly, old mmap hooks API was shipped with our public headers. But
thankfully it appears to be unused externally (checked via github
search). So we keep this old API and ABI for the sake of formal API
and ABI compatibility. But this old API is now empty and always
fails (some OS/hardware combinations didn't have functional
implementations of those hooks anyways).

New API is 64-bit clean and only provides us with what we need. Namely
being able to react to virtual address space mapping changes for
logging, heap profiling and heap leak checker. I.e. no pre hooks or
mmap-replacement hooks. We also explicitly not ship this API
externally to give us freedom to change it.

New code is also hopefully tidier and slightly more portable. At least
there are fewer arch-specific ifdef-s.

Another somewhat notable change is, since mmap hook isn't needed in
"minimal" configuration, we now don't override system's
mmap/munmap/etc functions in this configuration. No big deal, but it
reduces risk of damage if we somehow mess those up. I.e. musl's mmap
does few things that our mmap replacement doesn't, such as very fancy
vm_lock thingy. Which doesn't look critical, but is good thing for us
not to interfere with when not necessary.

Fixes issue envoyproxy#1406 and issue envoyproxy#1407. Lets also mention issue envoyproxy#1010 which
is somewhat relevant.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants