robotics-in-concert / rocon_multimaster

Key components for ros multimaster systems
12 stars 19 forks source link

Conductor being confused if pull rules already exist #317

Closed asmodehn closed 8 years ago

asmodehn commented 8 years ago

When a robot connects and try to flip some connections, if these rules are already being pulled, the conductor doesnt add the robot :

[INFO] [WallTime: 1438675927.129437] Conductor : concert client transition [joining->available][tosh]
[INFO] [WallTime: 1438676180.745056] Conductor : concert client transition [available->gone][tosh]
[INFO] [WallTime: 1438676182.230042] Gateway : abandoning pulled connection [publisher][/tosh/status][/app_manager][tosh]
[INFO] [WallTime: 1438676182.231230] Gateway : abandoning pulled connection [service][/tosh/invite][/app_manager][tosh]
[...]
[ERROR] [WallTime: 1438676184.752541] Gateway : pull rule already exists [tosh:(/tosh/invite,service)].
[WARN] [WallTime: 1438676184.752758] Conductor: failed to register pull requests from the concert client [tosh]['platform_info', 'list_rapps', 'invite']

Instead the conductor should not fail to pull these topics. It should pull them, even if potentially overriding existing pulled topics. That would allow the robot to go out, crash or shutdown (goes missing or gone) and come back later without issues.

If we ever have two robots flipping the same topics, it s a different problem that needs to be handled at another level (either nice warning allowing user to fix its setup, always namespace topics in a unique way, etc.)

stonier commented 8 years ago

You're getting flipping and pulling mixed up here. This example is strictly about pulling.

Anyway, looks like conductor logic is at issue here and there is no data yet that it is a misbehaving gateway at the root of it yet, so closing the issue here.

Since the conductor logic is changing for gopher, let's open new issues for that as we discover them.