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

Add DataStreamBidirectional API #209

Merged
merged 32 commits into from
Mar 5, 2024
Merged

Add DataStreamBidirectional API #209

merged 32 commits into from
Mar 5, 2024

Conversation

corbin-phipps
Copy link
Contributor

Type

  • Bug fix
  • Feature addition
  • Feature update
  • Documentation
  • Build Infrastructure

Side Effects

  • Breaking change
  • Non-functional change

Goals

This PR adds the DataStreamBidirectional API and unit tests. Also fixes a race condition bug and adds handling of sequencing mismatches.

Technical Details

  • Added DataStreamBidirectional API to NetRemoteDataStreamingService.proto.
  • Added server-side DataStreamReaderWriter implementation of the ServerBidiReactor gRPC reactor.
  • Added client-side DataStreamReaderWriter implementation of the ClientBidiReactor gRPC reactor.
  • Added two unit tests - one for fixed-type client streaming and one for continuous-type client streaming.
  • Added handling for mismatched sequencing.
  • Fixed a race condition bug affecting DataStreamUpload.

Test Results

All tests pass.

Reviewer Focus

None.

Future Work

None.

Checklist

  • Build target all compiles cleanly.
  • clang-format and clang-tidy deltas produced no new output.
  • Newly added functions include doxygen-style comment block.

corbin-phipps and others added 28 commits March 1, 2024 19:10
…uencing

Check when mismatched sequencing occurs
Fix intermittent failure in DataStreamUpload
…ion-test

Continuous client-side streaming using DataStreamBidirectional API
@corbin-phipps corbin-phipps requested a review from a team as a code owner March 4, 2024 23:02
@abeltrano
Copy link
Contributor

abeltrano commented Mar 5, 2024

  • Fixed a race condition bug affecting DataStreamUpload.

Was this the fix done in #207? If so, can we add a test to ensure it's fixed and stays fixed?

Copy link
Contributor

@abeltrano abeltrano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added some comments/questions in #205 to address before we complete this.

@corbin-phipps
Copy link
Contributor Author

  • Fixed a race condition bug affecting DataStreamUpload.

Was this the fix done in #207? If so, can we add a test to ensure it's fixed and stays fixed?

Yes, the fix was in #207. The bug was found by the existing unit tests. I'm not sure how to specifically test this bug fix since it would likely do the same thing as the existing tests.

@corbin-phipps
Copy link
Contributor Author

I added some comments/questions in #205 to address before we complete this.

Thanks, will add the changes here

@abeltrano
Copy link
Contributor

I added some comments/questions in #205 to address before we complete this.

Thanks, will add the changes here

Please make sure the change is merged back to the feature branch. Can probably cherry-pick it.

@abeltrano
Copy link
Contributor

  • Fixed a race condition bug affecting DataStreamUpload.

Was this the fix done in #207? If so, can we add a test to ensure it's fixed and stays fixed?

Yes, the fix was in #207. The bug was found by the existing unit tests. I'm not sure how to specifically test this bug fix since it would likely do the same thing as the existing tests.

If the existing unit tests would find it consistently, then we're good.

@abeltrano abeltrano merged commit 0fae759 into develop Mar 5, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants