You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#### Summary
<!-- π Thank you for making CloudQuery awesome by submitting a PR π -->
Currently sync method has 3 gorutines running in single errorGroup let's
call them G1,G2 and G3
G1-
```
eg.Go(func() error {
if err := s.Plugin.Transform(gctx, recvRecords, sendRecords); err != nil
{
return status.Error(codes.Internal, err.Error())
}
return nil
})
```
runs the transformer logic which consumes records from recvRecords and
pushes them to sendRecords both of which are unbuffered channels.
Gorutine g2 consumes record produced by G1
```
record := range sendRecords
(..)
```
when gorutine g2 returns an error, code executing in G1 may hang
indefinietly trying to write into channel that has no associated error.
<!--
Explain what problem this PR addresses
-->
---
Use the following steps to ensure your PR is ready to be reviewed
- [ ] Read the [contribution guidelines](../blob/main/CONTRIBUTING.md)
π§βπ
- [ ] Run `go fmt` to format your code π
- [ ] Lint your changes via `golangci-lint run` π¨ (install golangci-lint
[here](https://golangci-lint.run/usage/install/#local-installation))
- [ ] Update or add tests π§ͺ
- [ ] Ensure the status checks below are successful β
0 commit comments