vmware-go-kcl is a vmware originated open-source project for AWS Kinesis Client Library in Go. It has been widely used by many external companies and internally by Carbon Black. vmware-go-kcl-v2 is its companion project by utilizing AWS Go SDK V2 which introduces lots of breaking changes. To keep the repo clean, it is better to have a separated repo vmware-go-kcl-v2 with better golang project structure improvement.
Find a file
Aurélien Rainone c8a5aa1891 Fix possible deadlock with getRecords in eventLoop (#42)
A waitgroup should always be incremented before the creation of the
goroutine which decrements it (through Done) or there is the
potential for deadlock.
That was not the case since the wg.Add was performed after the
`go getRecords() ` line.

Also, since there's only one path leading to the wg.Done in getRecords,
I moved wg.Done out of the getRecords function and placed it
alongside the goroutine creation, thus totally removing the need to
pass the waitgroup pointer to the sc instance, this lead to the
removal of the `waitGroup` field from the `ShardConsumer` struct.

This has been tested in production and didn't create any problem.

Signed-off-by: Aurélien Rainone <aurelien.rainone@gmail.com>
2021-12-20 21:21:14 -06:00
clientlibrary Fix possible deadlock with getRecords in eventLoop (#42) 2021-12-20 21:21:14 -06:00
support Release shard lease after shutdown (#31) 2021-12-20 21:21:14 -06:00
test Release shard lease after shutdown (#31) 2021-12-20 21:21:14 -06:00
.gitignore CKL: Initial version for starting repository 2021-12-20 21:13:11 -06:00
.gitreview CKL: Initial version for starting repository 2021-12-20 21:13:11 -06:00
CODE_OF_CONDUCT.md Add Code of Conduct template 2021-11-30 23:05:17 +08:00
CONTRIBUTING.md Add DCO text 2021-12-20 21:20:10 -06:00
go.mod Use AWS built-in retry logic and refactor tests (#24) 2021-12-20 21:21:14 -06:00
go.sum Use AWS built-in retry logic and refactor tests (#24) 2021-12-20 21:21:14 -06:00
HyperMake Use AWS built-in retry logic and refactor tests (#24) 2021-12-20 21:21:14 -06:00
LICENSE KCL: Update copyright and permission 2021-12-20 21:16:27 -06:00
README.md Add DCO text 2021-12-20 21:19:26 -06:00

vmware-go-kcl-v2

Overview

Try it out

Prerequisites

  • Prereq 1
  • Prereq 2
  • Prereq 3

Build & Run

  1. Step 1
  2. Step 2
  3. Step 3

Documentation

Contributing

The vmware-go-kcl-v2 project team welcomes contributions from the community. Before you start working with vmware-go-kcl-v2, please read our Developer Certificate of Origin. All contributions to this repository must be signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch. For more detailed information, refer to CONTRIBUTING.md.

License

Build & Run

hmake

# security scan
hmake scanast

# run test
hmake check

# run integration test
# update the worker_test.go to let it point to your Kinesis stream
hmake test

Documentation

VMware-Go-KCL matches exactly the same interface and programming model from original Amazon KCL, the best place for getting reference, tutorial is from Amazon itself:

Contributing

The vmware-go-kcl project team welcomes contributions from the community. Before you start working with vmware-go-kcl, please read our Developer Certificate of Origin. All contributions to this repository must be signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch. For more detailed information, refer to CONTRIBUTING.md.

License

MIT License