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

[core][BUG] Group connection errors are reported misleadingly #1415

Closed
ethouris opened this issue Jul 27, 2020 · 2 comments
Closed

[core][BUG] Group connection errors are reported misleadingly #1415

ethouris opened this issue Jul 27, 2020 · 2 comments
Assignees
Labels
[core] Area: Changes in SRT library core Priority: High Type: Bug Indicates an unexpected problem or unintended behavior
Milestone

Comments

@ethouris
Copy link
Collaborator

The group connections, regardless if made through srt_connect_group or srt_connect, do not report properly connection errors for individual sockets, this way making the connection errors impossible to properly report.

The problem is that all of the calls resolve to CUDTUnited::groupConnect that potentially can make multiple connections at once, each one being potentially able to fail by different reason.

There is also the matter of the stage of errors: some errors appear at the preparation stage, in which case for a single socket they are reported immediately, and the runtime stage, in case when the preparation succeeded and the process continues in background, where it may only be reported through the error event on epoll.

A method of recording the socket connection failure should be provided somehow with a possibility to report it through an array, and it is also desired that the error for one socket failure is available somehow, including rejection reason.

@ethouris ethouris added the Type: Bug Indicates an unexpected problem or unintended behavior label Jul 27, 2020
@ethouris ethouris self-assigned this Jul 27, 2020
@ethouris ethouris added [core] Area: Changes in SRT library core Priority: High labels Jul 27, 2020
@maxsharabayko maxsharabayko added this to the v1.5.1 milestone Jul 28, 2020
@ethouris
Copy link
Collaborator Author

ethouris commented Aug 12, 2020

The #1456 fixes the problem of transferring the error information into the call when srt_connect is used to just make a single in-group connection. This concerns however only the part when the initial errors are reported for an asynchronous mode. Although this makes it possible to report also late errors if you use synchronous mode, this gives the application using synchronous mode only a possibility to get the full error information at a cost of possibly waiting up to timeout with one of the group connection before attempting to make another one, which isn't too comfortable.

Another proposal to fix the problem of asynchronous failures - including the case when you use synchronous call of srt_connect_group and you have a "partial success" - is in #1464.

@mbakholdina mbakholdina modified the milestones: v1.5.1, v1.5.0 - Sprint 22 Aug 24, 2020
@maxsharabayko
Copy link
Collaborator

Resolved in #1456

@maxsharabayko maxsharabayko modified the milestones: v1.5.0 - Sprint 22, v1.5.0 - Sprint 21 Aug 25, 2020
@mbakholdina mbakholdina modified the milestones: v1.5.0 - Sprint 21, v1.4.2 Oct 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[core] Area: Changes in SRT library core Priority: High Type: Bug Indicates an unexpected problem or unintended behavior
Projects
None yet
Development

No branches or pull requests

3 participants