New issue
Advanced search Search tips

Issue 813112 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 2
Type: Bug

Blocking:
issue 813111



Sign in to add a comment

Tolerate broker disconnection and reconnection

Project Member Reported by roc...@chromium.org, Feb 16 2018

Issue description

Today Mojo embedders get one chance to establish a connection to the set of interconnected processes, and they have no way of re-connecting to anything if that broker connection gets severed.

Motivations behind that decision are:

 - if the broker dies, connections between client processes may end up
   in an inconsistent state on some platforms, because the broker may
   be brokering platform handles on behalf of an in-transit message

 - terminating all interprocess connections is necessary to efficiently
   compensate for the above issue, and this may be disruptive in some cases

I don't think this sufficiently bad to warrant the status quo. We should make the following changes:

 - On broker connection loss, sever *all* message pipes with remote peers,
   sever *all* remote peer connections, and forget all remote peer identities

 - Allow a broker client to accept a new broker client invitation if its
   previous broker connection has been lost

 

Comment 1 by roc...@chromium.org, Feb 16 2018

Description: Show this description

Comment 2 by roc...@chromium.org, Feb 16 2018

Blocking: 813111
Project Member

Comment 3 by bugdroid1@chromium.org, Feb 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/02989854444bc7713f896979d8fea957e1257f0a

commit 02989854444bc7713f896979d8fea957e1257f0a
Author: Ken Rockot <rockot@chromium.org>
Date: Wed Feb 21 15:13:43 2018

Rename some Mojo internals bits

Gets rid of references to "parent" and "child" misnomers throughout EDK
code so that the actual relationship between endpoints (i.e. inviter and
invitee) is clear.

Also because they are relevant to this naming cleanup, some useless
histograms are removed here as well.

Bug: 813112
Change-Id: Id5ab66a0648b5556b397dfa076c0bcde8bc61378
Reviewed-on: https://chromium-review.googlesource.com/924575
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538106}
[modify] https://crrev.com/02989854444bc7713f896979d8fea957e1257f0a/mojo/edk/system/broker.h
[modify] https://crrev.com/02989854444bc7713f896979d8fea957e1257f0a/mojo/edk/system/broker_host.h
[modify] https://crrev.com/02989854444bc7713f896979d8fea957e1257f0a/mojo/edk/system/broker_posix.cc
[modify] https://crrev.com/02989854444bc7713f896979d8fea957e1257f0a/mojo/edk/system/broker_win.cc
[modify] https://crrev.com/02989854444bc7713f896979d8fea957e1257f0a/mojo/edk/system/core.cc
[modify] https://crrev.com/02989854444bc7713f896979d8fea957e1257f0a/mojo/edk/system/node_channel.cc
[modify] https://crrev.com/02989854444bc7713f896979d8fea957e1257f0a/mojo/edk/system/node_channel.h
[modify] https://crrev.com/02989854444bc7713f896979d8fea957e1257f0a/mojo/edk/system/node_controller.cc
[modify] https://crrev.com/02989854444bc7713f896979d8fea957e1257f0a/mojo/edk/system/node_controller.h
[modify] https://crrev.com/02989854444bc7713f896979d8fea957e1257f0a/tools/metrics/histograms/histograms.xml

Owner: rockot@google.com

Sign in to add a comment