Skip to content

Mesos backpressure - #1630

Merged
ssalinas merged 2 commits into
masterfrom
mesos_backpressure
Oct 12, 2017
Merged

Mesos backpressure#1630
ssalinas merged 2 commits into
masterfrom
mesos_backpressure

Conversation

@ssalinas

Copy link
Copy Markdown
Contributor

Diff will look nicer once the other mesos_1 PR is merged. Relevant commit is d15af0f

Moves the backpressure to the mesos client itself now that 0.2.0 of mesos-rxjava allows us to set backpressure behaviors. Also doubles the default event buffer size to handle large influxes of status updates from reconciliation

/cc @darcatron @baconmania

String message = String.format("Overflow of event buffer (%s), singularity could not keep up!", scheduler.getEventBufferSize());
scheduler.onUncaughtException(new EventBufferOverflowException(message));
},
BackpressureOverflow.ON_OVERFLOW_ERROR);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So just to confirm, if the set of pending events overflows the max buffer size, we get a top-level exception and abort?

@ssalinas ssalinas Oct 12, 2017

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, it'll cause an abort if the buffer overflows. I felt that was more in line with our idea of keeping state consistent than dropping things. There is an alternative for using an unbounded buffer, but I figured it'd be better to abort with an exception than to oom

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed.

@baconmania

Copy link
Copy Markdown
Contributor

🚢

@ssalinas
ssalinas merged commit 38f4042 into master Oct 12, 2017
@ssalinas
ssalinas deleted the mesos_backpressure branch October 12, 2017 16:57
@ssalinas ssalinas added this to the 0.18.0 milestone Nov 3, 2017
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.

2 participants