Skip to content

[lte][agw]Mitigate GRPC timeouts in S6a requests#4698

Merged
ulaskozat merged 14 commits intomagma:masterfrom
ulaskozat:s6agrpc_timeouts
Feb 9, 2021
Merged

[lte][agw]Mitigate GRPC timeouts in S6a requests#4698
ulaskozat merged 14 commits intomagma:masterfrom
ulaskozat:s6agrpc_timeouts

Conversation

@ulaskozat
Copy link
Copy Markdown
Contributor

@ulaskozat ulaskozat commented Feb 3, 2021

Summary

To mitigate GRPC timeouts during authentication step:
-- increased the RPC timeout from 3 seconds to 10 seconds. This is the hard time out.
-- implemented file level sharding of subscribers into 100 buckets based on their last 2 digits in IMSI
-- open/close connections per api call.

To allow number of workers configurable via service yml files, I removed the hardwired value for number of workers passed during service initialization.

Test Plan

  • integ tests
  • spirent scaling test

Additional Information

  • This change is backwards-breaking

@ulaskozat ulaskozat added component: agw Access gateway-related issue component: cwf apply-v1.4 Needs to be applied to v1.4 release branch as well labels Feb 3, 2021
@magmabot magmabot added the component: cwag CWAG related issues label Feb 3, 2021
Copy link
Copy Markdown
Contributor

@shaddi shaddi left a comment

Choose a reason for hiding this comment

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

Like the direction you're going with this but suggest we do this in a loop rather than a one-shot retry until we fix the underlying issue.

@rdefosse
Copy link
Copy Markdown
Contributor

rdefosse commented Feb 3, 2021

MAGMA-OAI-TESTS

@rdefosse
Copy link
Copy Markdown
Contributor

rdefosse commented Feb 3, 2021

@ulaskozat

Running also on our pipeline

@lgtm-com
Copy link
Copy Markdown

lgtm-com bot commented Feb 4, 2021

This pull request introduces 2 alerts when merging 0e6825c into 601d6e6 - view on LGTM.com

new alerts:

  • 2 for Unused import

@rdefosse
Copy link
Copy Markdown
Contributor

rdefosse commented Feb 5, 2021

MAGMA-OAI-TESTS

Comment on lines +57 to +59
db_location_list.append(db_location[:i] + '0' + str(n_shard) + db_location[i:])
else:
db_location_list.append(db_location[:i] + str(n_shard) + db_location[i:])
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe you can use "{:02d}".format(n_shard)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

actually I will eliminate this, it is a residual from earlier commits where I wasn't keeping a list...

Signed-off-by: Ulas Kozat <[email protected]>
@lgtm-com
Copy link
Copy Markdown

lgtm-com bot commented Feb 6, 2021

This pull request introduces 2 alerts when merging 361d160 into 1177eba - view on LGTM.com

new alerts:

  • 1 for Unused local variable
  • 1 for Except block handles 'BaseException'

@lgtm-com
Copy link
Copy Markdown

lgtm-com bot commented Feb 6, 2021

This pull request introduces 1 alert when merging b75ba72 into 1177eba - view on LGTM.com

new alerts:

  • 1 for Except block handles 'BaseException'

@rdefosse
Copy link
Copy Markdown
Contributor

rdefosse commented Feb 8, 2021

MAGMA-OAI-TESTS

Copy link
Copy Markdown
Contributor

@ssanadhya ssanadhya left a comment

Choose a reason for hiding this comment

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

Changes in S6aClient.h look good to me!

Copy link
Copy Markdown
Contributor

@ardzoht ardzoht left a comment

Choose a reason for hiding this comment

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

minor nits, overall LGTM

Signed-off-by: Ulas Kozat <[email protected]>
Signed-off-by: Ulas Kozat <[email protected]>
Signed-off-by: Ulas Kozat <[email protected]>
@rdefosse
Copy link
Copy Markdown
Contributor

rdefosse commented Feb 9, 2021

MAGMA-OAI-TESTS

@ulaskozat ulaskozat merged commit 7cde417 into magma:master Feb 9, 2021
@themarwhal themarwhal added the backported-v1.4 Has been backported to v1.4 release branch label Feb 9, 2021
themarwhal pushed a commit that referenced this pull request Feb 9, 2021
* Mitigate GRPC timeouts in S6a requests

Signed-off-by: Ulas Kozat <[email protected]>

* Sharding at file level and set workers to 10 in config

Signed-off-by: Ulas Kozat <[email protected]>

* Fix indexing

Signed-off-by: Ulas Kozat <[email protected]>

* resolve nit comment

Signed-off-by: Ulas Kozat <[email protected]>

* Keep connection lock between table deletion and update phases

Signed-off-by: Ulas Kozat <[email protected]>

* Remove unused libs

Signed-off-by: Ulas Kozat <[email protected]>

* Add defaultdict

Signed-off-by: Ulas Kozat <[email protected]>

* address review comments

Signed-off-by: Ulas Kozat <[email protected]>

* fix object field name, missing s

Signed-off-by: Ulas Kozat <[email protected]>

* removed dangling variable due to the changes in the prev commits

Signed-off-by: Ulas Kozat <[email protected]>

* Address review comments

Signed-off-by: Ulas Kozat <[email protected]>

* Fix unit tests

Signed-off-by: Ulas Kozat <[email protected]>

* Pylint fixes

Signed-off-by: Ulas Kozat <[email protected]>

* Change to temporary file lib

Signed-off-by: Ulas Kozat <[email protected]>
chandra-77 pushed a commit to chandra-77/magma that referenced this pull request Mar 30, 2021
* Mitigate GRPC timeouts in S6a requests

Signed-off-by: Ulas Kozat <[email protected]>

* Sharding at file level and set workers to 10 in config

Signed-off-by: Ulas Kozat <[email protected]>

* Fix indexing

Signed-off-by: Ulas Kozat <[email protected]>

* resolve nit comment

Signed-off-by: Ulas Kozat <[email protected]>

* Keep connection lock between table deletion and update phases

Signed-off-by: Ulas Kozat <[email protected]>

* Remove unused libs

Signed-off-by: Ulas Kozat <[email protected]>

* Add defaultdict

Signed-off-by: Ulas Kozat <[email protected]>

* address review comments

Signed-off-by: Ulas Kozat <[email protected]>

* fix object field name, missing s

Signed-off-by: Ulas Kozat <[email protected]>

* removed dangling variable due to the changes in the prev commits

Signed-off-by: Ulas Kozat <[email protected]>

* Address review comments

Signed-off-by: Ulas Kozat <[email protected]>

* Fix unit tests

Signed-off-by: Ulas Kozat <[email protected]>

* Pylint fixes

Signed-off-by: Ulas Kozat <[email protected]>

* Change to temporary file lib

Signed-off-by: Ulas Kozat <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

apply-v1.4 Needs to be applied to v1.4 release branch as well backported-v1.4 Has been backported to v1.4 release branch component: agw Access gateway-related issue component: cwag CWAG related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants