Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Talking across versions #105

Open
osrf-migration opened this issue Apr 18, 2019 · 2 comments
Open

Talking across versions #105

osrf-migration opened this issue Apr 18, 2019 · 2 comments
Labels
bug Something isn't working

Comments

@osrf-migration
Copy link

Original report (archived issue) by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


Description

It's possible to install 2 ign-transport versions side-by-side, but they don't seem to be able to talk to each other. Not sure if that's expected.

Steps to Reproduce

  1. Install ign-transport6 and ign-transport7

  2. Clone branch multi-version (e3cc098), where I created a little example that has 2 publishers and 2 subscribers

  3. Compile the example:

     cd multi-version
     mkdir build
     cd build
     cmake ..
     make
    
  4. On one terminal, start subscriber6:

     cd build
     ./subscriber6
    
  5. On another terminal, start subscriber7:

     cd build
     ./subscriber7
    
  6. On another terminal, start publisher6:

     cd build
     ./publisher6
    

    Only subscriber6 will receive the message

  7. Now try publisher7, and only subscriber7 will receive the message.

Expected behavior:

Both subscribers receive messages from both publishers.

Actual behavior:

Only pub/sub with matching versions can see each other.

Reproduces how often:

100%

Versions

Tested with 6/7

Additional Information

Again, I'm not sure if this is expected. If it is, we can close this issue, but be more strict with our transport / msgs versions on all Ignition libraries.

@osrf-migration
Copy link
Author

Original comment by Carlos Agüero (Bitbucket: caguero, GitHub: caguero).


Yes, it's possible if the wire protocol changes. In particular it happened from 6 to 7, so this is expected.

@osrf-migration
Copy link
Author

Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


After talking offline, some conclusions:

  1. We should try to prevent users from mixing versions, by preventing compilation linking to both 6 and 7 and / or printing runtime errors if both versions are in use
  2. There are changes that can be made to the discovery protocol to make future changes backwards compatible

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants