Skip to content

Commit 9b79a20

Browse files
DPDV-6415: Remove SIGSEV (#100)
* DPDV-6415: Remove SIGSEV * Improve Finish go routine * Fix few more tests * Add more logging related to locks in Memo * add_events_long_running_test are succeeding!!! * All tests are passing now * Add timeout restrictions so that it doesn't run for 6 hours * Enable skipped buffer tests * Reset tickers when event is received * Fix test * Add logging to the pub method * Add even more logging * Add even more logging * Build and run commands with -race flag * Also use channel for publishing messages * Remove pubsub library * Increase time interval between purges * Move SessionManager to separate module * Update buffer_config tests * Add tests related to the buffer * Add more buffer tests * Make number of parallel buffer sendings configurable. * Simplify SessionManager * Add tests for SessionManager * Bump version * Fix session_manager tests * Add sleep to make sure that everything is processed * Reduce logging in the client * Add more tests for statistics * Remove unused variable publishAsap * Make number of outgoing connections configurable * Shutdown sequence finishes on time * Incorporates comments from CR * Improve some function names * Incorporate comments from CR * Rename private functions in the session manager * To be safe stop tickers
1 parent 60effe0 commit 9b79a20

29 files changed

+1138
-787
lines changed

.github/workflows/code-quality.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ jobs:
6565
run: |
6666
pre-commit run -a
6767
- name: Code coverage
68+
timeout-minutes: 15
6869
run: |
6970
make coverage
7071
- name: Upload coverage reports to Codecov
@@ -77,5 +78,6 @@ jobs:
7778
run: |
7879
make build-examples
7980
- name: Check SSL Certificates
81+
timeout-minutes: 10
8082
run: |
8183
make test-ssl-certificates

.github/workflows/stress-tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ jobs:
3636
go: ['1.21', '1.22']
3737
os: [ubuntu-latest, windows-latest, macos-latest]
3838
runs-on: ${{ matrix.os }}
39+
timeout-minutes: 15
3940
needs: pre_job
4041
if: ${{ needs.pre_job.outputs.should_skip != 'true' || github.ref_name == 'main' }}
4142

.github/workflows/unit-tests.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,11 @@ jobs:
5656
run: |
5757
go mod vendor
5858
- name: Code tests
59+
timeout-minutes: 15
5960
run: |
6061
make test
6162
- name: Run Tests Many Times
63+
timeout-minutes: 30
6264
# Run test multiple times to check for flaky tests
6365
if: github.ref_name == 'main'
6466
run: |

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ endif
2424

2525
GO_BUILD_TAGS=""
2626
GOTEST_OPT?= -v -race -timeout 300s -parallel 4 -count=1 --tags=$(GO_BUILD_TAGS)
27-
GOTEST_LONG_RUNNING_OPT?= -v -race -timeout 1200s -parallel 4 -count=1 -tags=long_running,$(GO_BUILD_TAGS)
27+
GOTEST_LONG_RUNNING_OPT?= -v -race -timeout 600s -parallel 4 -count=1 -tags=long_running,$(GO_BUILD_TAGS)
2828
GOTEST_OPT_WITH_COVERAGE = $(GOTEST_OPT) -coverprofile=coverage.txt -covermode=atomic
2929
GOTEST_OPT_WITH_COVERAGE_LONG_RUNNING=$(GOTEST_LONG_RUNNING_OPT) -coverprofile=coverage.txt -covermode=atomic
3030
GOCMD?= go
@@ -93,7 +93,7 @@ coverage-all:
9393
build-examples:
9494
for d in examples/*; do \
9595
echo "Build example: $${d}"; \
96-
(cd $${d}; go mod tidy && go build) || exit 1; \
96+
(cd $${d}; go mod tidy && go build -race) || exit 1; \
9797
done;
9898

9999
.PHONY: test-ssl-certificates

RELEASE_NOTES.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Release Notes
22

3+
## 0.20.0
4+
5+
* fix: fix SIGSEV that was caused by releasing resources associated with inactive sessions
6+
* feat: make number of parallel outgoing requests configurable
7+
38
## 0.19.0
49

510
* fix: retry also when server is not returning JSON

examples/client/go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ require (
1010

1111
require (
1212
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
13-
github.com/cskr/pubsub v1.0.2 // indirect
1413
github.com/go-logr/logr v1.4.1 // indirect
1514
github.com/go-logr/stdr v1.2.2 // indirect
1615
github.com/google/uuid v1.6.0 // indirect

examples/client/go.sum

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
22
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
3-
github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0=
4-
github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis=
53
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
64
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
75
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=

examples/readme/go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ require (
1010

1111
require (
1212
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
13-
github.com/cskr/pubsub v1.0.2 // indirect
1413
github.com/go-logr/logr v1.4.1 // indirect
1514
github.com/go-logr/stdr v1.2.2 // indirect
1615
github.com/google/uuid v1.6.0 // indirect

examples/readme/go.sum

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
22
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
3-
github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0=
4-
github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis=
53
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
64
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
75
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=

examples/stress/go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ require (
99

1010
require (
1111
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
12-
github.com/cskr/pubsub v1.0.2 // indirect
1312
github.com/google/uuid v1.6.0 // indirect
1413
go.opentelemetry.io/otel v1.27.0 // indirect
1514
go.opentelemetry.io/otel/metric v1.27.0 // indirect

0 commit comments

Comments
 (0)