View Issue Details

IDProjectCategoryView StatusLast Update
0002966GNUnetcadet servicepublic2013-12-24 20:54
ReporterFlorian Dold Assigned ToBart Polot  
PriorityurgentSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.10.0Fixed in Version0.10.0 
Summary0002966: mesh's behavior on client-service disconnect breaks stateful protocols
DescriptionIn the mesh api, when the mesh-api/mesh-service connection is lost, tunnels are re-created transparently to the api user.

However, this practically only happens when the service crashes (what would be other causes?). In this case, tunnels are lost, and the api's reconnect creates what is practically a new tunnel to the same remote peer.

This behavior is a hindrance if the protocol spoken over the tunnel is stateful - for example in SET, as for the other peer, the connection seems to be lost first, but then the there's unexpected traffic on a new tunnel.

Ditching automatic reconnects would also reduces the api's implementation footprint, and I don't see many reasons to have the current behavior (except reducing code in clients for stateless protocols -- but what about message loss when the client-service connection breaks?)
TagsNo tags attached.

Relationships

related to 0003131 closedBart Polot mesh crash causes consensus to fail 

Activities

Bart Polot

2013-07-23 15:42

manager   ~0007287

"It's not a bug, it's a feature".

This was part of the original mesh design. I guess Christian should decide about this one.

Florian Dold

2013-07-24 15:14

developer   ~0007295

As discussed with Christian, if the connection breaks, all tunnels should be reported to the tunnel end handler, and the mesh API should not try to re-establish the tunnels.

Bart Polot

2013-11-26 16:22

manager   ~0007707

Changed in r30874.

Issue History

Date Modified Username Field Change
2013-07-23 15:38 Florian Dold New Issue
2013-07-23 15:38 Florian Dold Status new => assigned
2013-07-23 15:38 Florian Dold Assigned To => Bart Polot
2013-07-23 15:42 Bart Polot Note Added: 0007287
2013-07-24 15:14 Florian Dold Note Added: 0007295
2013-11-15 13:07 Bart Polot Priority normal => urgent
2013-11-26 15:25 Florian Dold Relationship added related to 0003131
2013-11-26 16:22 Bart Polot Note Added: 0007707
2013-11-26 16:22 Bart Polot Status assigned => resolved
2013-11-26 16:22 Bart Polot Fixed in Version => Git master
2013-11-26 16:22 Bart Polot Resolution open => fixed
2013-11-26 23:40 Christian Grothoff Fixed in Version Git master => 0.10.0
2013-11-26 23:40 Christian Grothoff Target Version => 0.10.0
2013-12-24 20:54 Christian Grothoff Status resolved => closed
2014-05-09 18:34 Christian Grothoff Category mesh service => cadet service