[ https://issues.apache.org/jira/browse/MESOS-10057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17050993#comment-17050993 ]
Andrei Sekretenko edited comment on MESOS-10057 at 3/4/20, 8:32 AM: -------------------------------------------------------------------- {noformat} commit 54227a33b68d83b97ef1a7c14283351d45322317 Author: Andrei Sekretenko <asekrete...@apache.org> Date: Fri Feb 28 22:39:54 2020 +0100 Got rid of passing Shared<> into `Subscribers::Subscriber::send(...)`. Now that operator API events are authorized synchronously, `Subscribers::Subscriber::send(...)` is no longer deferred, and copying arguments of `Subscribers::send()` into `Shared` becomes unnecessary. Review: https://reviews.apache.org/r/72179 commit f2a0eace106692860d1df3c282481f9855d3d629 Author: Andrei Sekretenko <asekrete...@apache.org> Date: Thu Feb 27 21:06:21 2020 +0100 Converted sending operator API events to synchronous authorization. Now that `ObjectApprovers` are indefinitely valid, we can store them in each Subscriber for its whole lifetime, instead of creating them for each event sent to each subscriber. Review: https://reviews.apache.org/r/72178 {noformat} was (Author: asekretenko): {noformat} commit 54227a33b68d83b97ef1a7c14283351d45322317 (HEAD -> master, origin/master, origin/HEAD, mesos-write-through-github/master, ci/ci/asekretenko/MESOS-10057, ci/asekretenko/MESOS-10057) Author: Andrei Sekretenko <asekrete...@apache.org> Date: Fri Feb 28 22:39:54 2020 +0100 Got rid of passing Shared<> into `Subscribers::Subscriber::send(...)`. Now that operator API events are authorized synchronously, `Subscribers::Subscriber::send(...)` is no longer deferred, and copying arguments of `Subscribers::send()` into `Shared` becomes unnecessary. Review: https://reviews.apache.org/r/72179 commit f2a0eace106692860d1df3c282481f9855d3d629 Author: Andrei Sekretenko <asekrete...@apache.org> Date: Thu Feb 27 21:06:21 2020 +0100 Converted sending operator API events to synchronous authorization. Now that `ObjectApprovers` are indefinitely valid, we can store them in each Subscriber for its whole lifetime, instead of creating them for each event sent to each subscriber. Review: https://reviews.apache.org/r/72178 {noformat} > Perform synchronous authorization for outgoing events on event stream. > ---------------------------------------------------------------------- > > Key: MESOS-10057 > URL: https://issues.apache.org/jira/browse/MESOS-10057 > Project: Mesos > Issue Type: Improvement > Components: master > Reporter: Benjamin Mahler > Assignee: Andrei Sekretenko > Priority: Major > Fix For: 1.10.0 > > > The master event stream outgoing message authorization becomes very expensive > for a large number of subscribers (cc [~greggomann]). > Instead of asynchronously obtaining object approvers for every event > multiplied by every subscriber, we can instead always hold on to valid object > approvers so that we could synchronously (and cheaply) authorize the outgoing > events. These object approvers would be kept up to date in the background, > and if authorization fails to keep them up to date, we would treat that the > same as an authorization failure is currently treated. > This should improve the performance dramatically. -- This message was sent by Atlassian Jira (v8.3.4#803005)