-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Merging to release-5.3: TT-13130 updated version of gorpc library and prevent panic on start edge (#6629) #6637
Merging to release-5.3: TT-13130 updated version of gorpc library and prevent panic on start edge (#6629) #6637
Conversation
…edge (#6629) <details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-13130" title="TT-13130" target="_blank">TT-13130</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Tyk Cloud: Panic appears when a user tried to deploy GW before Control Plane is in deployed state </td> </tr> <tr> <th>Type</th> <td> <img alt="Bug" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium" /> Bug </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td><a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20Re_open%20ORDER%20BY%20created%20DESC" title="Re_open">Re_open</a></td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- <!-- Provide a general summary of your changes in the Title above --> Moved the logic of waitgroup to be handled internally in the gorpc library. GW only have to wait until done() TT-13130 <!-- Why is this change required? What problem does it solve? --> <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why ___ Bug fix, Enhancement ___ - Refactored the connection dialing logic in `rpc_client.go` to remove manual `sync.WaitGroup` handling, leveraging the internal wait group management provided by the `gorpc` library. - Updated the `gorpc` library to a newer version in `go.mod` and `go.sum`, ensuring compatibility and leveraging improvements. ___ <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>rpc_client.go</strong><dd><code>Refactor connection dialing wait group handling</code> </dd></summary> <hr> rpc/rpc_client.go <li>Removed manual handling of <code>sync.WaitGroup</code> for connection dialing.<br> <li> Utilized <code>clientSingleton.ConnectionDialingWG</code> for managing connection <br>readiness.<br> </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/6629/files#diff-3b88914c99bb9418e44e6389ce73579843562e8900730b380d7fff2e95c51033">+1/-7</a> </td> </tr> </table></td></tr><tr><td><strong>Dependencies</strong></td><td><table> <tr> <td> <details> <summary><strong>go.mod</strong><dd><code>Update gorpc library version in go.mod</code> </dd></summary> <hr> go.mod - Updated `gorpc` library version to latest. </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/6629/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>go.sum</strong><dd><code>Update go.sum for new gorpc version</code> </dd></summary> <hr> go.sum - Updated checksums for new `gorpc` library version. </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/6629/files#diff-3295df7234525439d778f1b282d146a4f1ff6b415248aaac074e8042d9f42d63">+8/-2</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > 💡 **PR-Agent usage**: Comment `/help "your question"` on any pull request to receive relevant information --------- Co-authored-by: sredny buitrago <[email protected]> (cherry picked from commit 6b687a2)
API Changes no api changes detected |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
Quality Gate failedFailed conditions |
… prevent panic on start edge (#6629) (#6637) ### **User description** TT-13130 updated version of gorpc library and prevent panic on start edge (#6629) ### **User description** <details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-13130" title="TT-13130" target="_blank">TT-13130</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Tyk Cloud: Panic appears when a user tried to deploy GW before Control Plane is in deployed state </td> </tr> <tr> <th>Type</th> <td> <img alt="Bug" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium" /> Bug </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td><a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20Re_open%20ORDER%20BY%20created%20DESC" title="Re_open">Re_open</a></td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- <!-- Provide a general summary of your changes in the Title above --> ## Description Moved the logic of waitgroup to be handled internally in the gorpc library. GW only have to wait until done() ## Related Issue TT-13130 ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Refactored the connection dialing logic in `rpc_client.go` to remove manual `sync.WaitGroup` handling, leveraging the internal wait group management provided by the `gorpc` library. - Updated the `gorpc` library to a newer version in `go.mod` and `go.sum`, ensuring compatibility and leveraging improvements. ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>rpc_client.go</strong><dd><code>Refactor connection dialing wait group handling</code> </dd></summary> <hr> rpc/rpc_client.go <li>Removed manual handling of <code>sync.WaitGroup</code> for connection dialing.<br> <li> Utilized <code>clientSingleton.ConnectionDialingWG</code> for managing connection <br>readiness.<br> </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/6629/files#diff-3b88914c99bb9418e44e6389ce73579843562e8900730b380d7fff2e95c51033">+1/-7</a> </td> </tr> </table></td></tr><tr><td><strong>Dependencies</strong></td><td><table> <tr> <td> <details> <summary><strong>go.mod</strong><dd><code>Update gorpc library version in go.mod</code> </dd></summary> <hr> go.mod - Updated `gorpc` library version to latest. </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/6629/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>go.sum</strong><dd><code>Update go.sum for new gorpc version</code> </dd></summary> <hr> go.sum - Updated checksums for new `gorpc` library version. </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/6629/files#diff-3295df7234525439d778f1b282d146a4f1ff6b415248aaac074e8042d9f42d63">+8/-2</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > 💡 **PR-Agent usage**: Comment `/help "your question"` on any pull request to receive relevant information --------- Co-authored-by: sredny buitrago <[email protected]> ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Refactored the connection dialing logic in `rpc_client.go` to remove manual `sync.WaitGroup` handling, leveraging the internal wait group management provided by the `gorpc` library. - Updated the `gorpc` library to a newer version in `go.mod` and `go.sum`, ensuring compatibility and leveraging improvements. ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>rpc_client.go</strong><dd><code>Refactor connection dialing wait group handling</code> </dd></summary> <hr> rpc/rpc_client.go <li>Removed manual handling of <code>sync.WaitGroup</code> for connection dialing.<br> <li> Utilized <code>clientSingleton.ConnectionDialingWG</code> for managing connection <br>readiness.<br> </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/6637/files#diff-3b88914c99bb9418e44e6389ce73579843562e8900730b380d7fff2e95c51033">+1/-8</a> </td> </tr> </table></td></tr><tr><td><strong>Dependencies</strong></td><td><table> <tr> <td> <details> <summary><strong>go.mod</strong><dd><code>Update gorpc library version in go.mod</code> </dd></summary> <hr> go.mod - Updated `gorpc` library version to the latest. </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/6637/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>go.sum</strong><dd><code>Update go.sum for new gorpc version</code> </dd></summary> <hr> go.sum - Updated checksums for new `gorpc` library version. </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/6637/files#diff-3295df7234525439d778f1b282d146a4f1ff6b415248aaac074e8042d9f42d63">+2/-2</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > 💡 **PR-Agent usage**: Comment `/help "your question"` on any pull request to receive relevant information --------- Co-authored-by: Sredny M <[email protected]> Co-authored-by: sredny buitrago <[email protected]>
User description
TT-13130 updated version of gorpc library and prevent panic on start edge (#6629)
User description
TT-13130
Description
Moved the logic of waitgroup to be handled internally in the gorpc
library. GW only have to wait until done()
Related Issue
TT-13130
Motivation and Context
How This Has Been Tested
Screenshots (if appropriate)
Types of changes
functionality to change)
coverage to functionality)
Checklist
why it's required
explained why
PR Type
Bug fix, Enhancement
Description
rpc_client.go
to removemanual
sync.WaitGroup
handling, leveraging the internal wait groupmanagement provided by the
gorpc
library.gorpc
library to a newer version ingo.mod
andgo.sum
, ensuring compatibility and leveraging improvements.Changes walkthrough 📝
rpc_client.go
Refactor connection dialing wait group handling
rpc/rpc_client.go
sync.WaitGroup
for connection dialing.clientSingleton.ConnectionDialingWG
for managing connectionreadiness.
go.mod
Update gorpc library version in go.mod
go.mod
gorpc
library version to latest.go.sum
Update go.sum for new gorpc version
go.sum
gorpc
library version.Co-authored-by: sredny buitrago [email protected]
PR Type
Bug fix, Enhancement
Description
rpc_client.go
to remove manualsync.WaitGroup
handling, leveraging the internal wait group management provided by thegorpc
library.gorpc
library to a newer version ingo.mod
andgo.sum
, ensuring compatibility and leveraging improvements.Changes walkthrough 📝
rpc_client.go
Refactor connection dialing wait group handling
rpc/rpc_client.go
sync.WaitGroup
for connection dialing.clientSingleton.ConnectionDialingWG
for managing connectionreadiness.
go.mod
Update gorpc library version in go.mod
go.mod
gorpc
library version to the latest.go.sum
Update go.sum for new gorpc version
go.sum
gorpc
library version.