Skip to content
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

test: flaky queue/Example_connectionPool on macOS #278

Closed
oleg-jukovec opened this issue Mar 24, 2023 · 3 comments · Fixed by #292
Closed

test: flaky queue/Example_connectionPool on macOS #278

oleg-jukovec opened this issue Mar 24, 2023 · 3 comments · Fixed by #292
Assignees
Labels
bug Something isn't working good first issue Good for newcomers teamE

Comments

@oleg-jukovec
Copy link
Collaborator

oleg-jukovec commented Mar 24, 2023

https://github.com/tarantool/go-tarantool/actions/runs/4511463511/jobs/7944401745

2023-03-24T13:52:48.0576220Z === RUN   Example_connectionPool
2023-03-24T13:52:49.1545340Z 2023/03/24 13:52:49 tarantool: storing connection to 127.0.0.1:3015 canceled: .../.rocks/share/tarantool/queue/abstract/queue_session.lua:223: The UUID f16c5fac-9d33-4640-8494-1043d26b4b80 is unknown. (0x20)
2023-03-24T13:52:49.1556050Z --- FAIL: Example_connectionPool (1.10s)

https://github.com/tarantool/go-tarantool/actions/runs/4512321687/jobs/7948237951

--- FAIL: Example_connectionPool (0.01s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x48 pc=0x438ed37]

goroutine 1 [running]:
testing.(*InternalExample).processRunResult(0xc0001e95a8, 0xc0000289f0, 0x28, 0xcbff1f, 0x4438b40, 0x4825660, 0x4015a70)
	/Users/runner/hostedtoolcache/go/1.13.15/x64/src/testing/example.go:89 +0x63f
testing.runExample.func2(0xc0ff93057598e2e0, 0x6ec8ac3cc, 0x4831f20, 0xc0001184d0, 0xc0000aa008, 0xc000131440, 0xc0001e95a8, 0xc0001e95d8)
	/Users/runner/hostedtoolcache/go/1.13.15/x64/src/testing/run_example.go:58 +0x105
panic(0x4438b40, 0x4825660)
	/Users/runner/hostedtoolcache/go/1.13.15/x64/src/runtime/panic.go:679 +0x1b2
github.com/tarantool/go-tarantool.(*Connection).loadSchema(0xc000296000, 0x44d11b8, 0xc000296000)
	/Users/runner/work/go-tarantool/go-tarantool/tarantool/go-tarantool/schema.go:328 +0x397
github.com/tarantool/go-tarantool.Connect(0x44b6cd8, 0xe, 0x0, 0x0, 0x0, 0x3b9aca00, 0x0, 0x0, 0x44b3ee0, 0x4, ...)
	/Users/runner/work/go-tarantool/go-tarantool/tarantool/go-tarantool/connection.go:430 +0x65d
github.com/tarantool/go-tarantool/connection_pool.(*ConnectionPool).fillPools(0xc000098b60, 0xc00010ebd0, 0x44b6cd8, 0xe, 0xc00010ec89)
	/Users/runner/work/go-tarantool/go-tarantool/tarantool/go-tarantool/connection_pool/connection_pool.go:905 +0x1fd
github.com/tarantool/go-tarantool/connection_pool.ConnectWithOpts(0xc00010f2d0, 0x2, 0x2, 0x0, 0x0, 0x0, 0x3b9aca00, 0x0, 0x0, 0x44b3ee0, ...)
	/Users/runner/work/go-tarantool/go-tarantool/tarantool/go-tarantool/connection_pool/connection_pool.go:146 +0x5fb
github.com/tarantool/go-tarantool/queue_test.Example_connectionPool()
	/Users/runner/work/go-tarantool/go-tarantool/tarantool/go-tarantool/queue/example_connection_pool_test.go:151 +0x2d9
testing.runExample(0x44ba4e8, 0x16, 0x44d1208, 0x44cb6ba, 0x9a, 0x0, 0x0)
	/Users/runner/hostedtoolcache/go/1.13.15/x64/src/testing/run_example.go:62 +0x209
testing.runExamples(0xc0001e9770, 0x482b820, 0x3, 0x3, 0x101)
	/Users/runner/hostedtoolcache/go/1.13.15/x64/src/testing/example.go:44 +0x1a8
testing.(*M).Run(0xc00012a200, 0x0)
	/Users/runner/hostedtoolcache/go/1.13.15/x64/src/testing/testing.go:1118 +0x203
github.com/tarantool/go-tarantool/queue_test.runTestMain(0xc00012a200, 0x0)
	/Users/runner/work/go-tarantool/go-tarantool/tarantool/go-tarantool/queue/queue_test.go:952 +0x530
github.com/tarantool/go-tarantool/queue_test.TestMain(0xc00012a200)
	/Users/runner/work/go-tarantool/go-tarantool/tarantool/go-tarantool/queue/queue_test.go:956 +0x2b
main.main()
	_testmain.go:84 +0x135
FAIL	github.com/tarantool/go-tarantool/queue	30.049s
@oleg-jukovec oleg-jukovec added bug Something isn't working teamE good first issue Good for newcomers labels Mar 24, 2023
@oleg-jukovec oleg-jukovec changed the title test: flaky Example_connectionPool on macOS test: flaky queue/Example_connectionPool on macOS Mar 24, 2023
better0fdead added a commit that referenced this issue Apr 17, 2023
Increased timeout for all test's server options.
Have done it to solve the problem with macOs flaky tests.

Part of #282
Part of #278
better0fdead added a commit that referenced this issue Apr 18, 2023
Increased timeout for all test's server options.
Have done it to solve the problem with macOs flaky tests.

Closes #282
Closes #278
better0fdead added a commit that referenced this issue Apr 19, 2023
Increased timeout for all test's server options.
Have done it to solve the problem with macOs flaky tests.

Closes #282
Closes #278
better0fdead added a commit that referenced this issue Apr 20, 2023
Increased timeout for all test's server options.
Have done it to solve the problem with macOs flaky tests.

Closes #282
Closes #278
oleg-jukovec pushed a commit that referenced this issue May 11, 2023
Increased timeout for all test's server options.
Have done it to solve the problem with macOs flaky tests.

Closes #282
Closes #278
oleg-jukovec pushed a commit that referenced this issue May 11, 2023
Increased timeout for all test's server options.
Have done it to solve the problem with macOs flaky tests.

Closes #282
Closes #278
oleg-jukovec pushed a commit that referenced this issue May 11, 2023
Increased timeout for all test's server options.
Have done it to solve the problem with macOs flaky tests.

Closes #282
Closes #278
oleg-jukovec pushed a commit that referenced this issue May 11, 2023
Increased timeout for all test's server options.
Have done it to solve the problem with macOs flaky tests.

Closes #282
Closes #278
oleg-jukovec pushed a commit that referenced this issue May 11, 2023
Increased timeout for all test's server options.
Have done it to solve the problem with macOs flaky tests.

Closes #282
Closes #278
oleg-jukovec pushed a commit that referenced this issue May 11, 2023
Increased timeout for all test's server options.
Have done it to solve the problem with macOs flaky tests.

Closes #282
Closes #278
@oleg-jukovec oleg-jukovec self-assigned this May 11, 2023
@oleg-jukovec
Copy link
Collaborator Author

=== RUN   Example_connectionPool
--- FAIL: Example_connectionPool (0.03s)
got:
Master 127.0.0.1:3014 is ready to work!
A Queue object is ready to work.
Send data: test_data
Unable to set cluster roles: Space '_queue_taken_2_mgr' already exists (0xa)
want:
Master 127.0.0.1:3014 is ready to work!
A Queue object is ready to work.
Send data: test_data
Master 127.0.0.1:3015 is ready to work!
Got data: test_data

@oleg-jukovec
Copy link
Collaborator Author

=== RUN   Example_connectionPool
--- FAIL: Example_connectionPool (5.01s)
got:
Master 127.0.0.1:3014 is ready to work!
A Queue object is ready to work.
Send data: test_data
Master 127.0.0.1:3015 is ready to work!
Unable to got task: can't find rw instance in pool
want:
Master 127.0.0.1:3014 is ready to work!
A Queue object is ready to work.
Send data: test_data
Master 127.0.0.1:3015 is ready to work!
Got data: test_data

oleg-jukovec added a commit that referenced this issue May 12, 2023
We need to wait for a queue configuration on all instances before
start a work.

Closes #278
@oleg-jukovec
Copy link
Collaborator Author

=== RUN   Example_connectionPool
2023/05/12 07:50:00 tarantool: storing connection to 127.0.0.1:3015 canceled: .../.rocks/share/tarantool/queue/abstract/queue_session.lua:223: The UUID eff1bc1e-6e56-4c1b-bc6e-9c635a5fb4fd is unknown. (0x20)
--- FAIL: Example_connectionPool (5.08s)
got:
Master 127.0.0.1:3014 is ready to work!
A Queue object is ready to work.
Send data: test_data
Unable to re-identify in the pool: .../.rocks/share/tarantool/queue/abstract/queue_session.lua:223: The UUID eff1bc1e-6e56-4c1b-bc6e-9c635a5fb4fd is unknown. (0x20)
want:
Master 127.0.0.1:3014 is ready to work!
A Queue object is ready to work.
Send data: test_data
Master 127.0.0.1:3015 is ready to work!
Got data: test_data
FAIL

oleg-jukovec added a commit that referenced this issue May 12, 2023
oleg-jukovec added a commit that referenced this issue May 12, 2023
We need to wait a ready state for a queue. We also need to wait for
a success queue configuration on all instances before start a work.

Closes #278
oleg-jukovec added a commit that referenced this issue May 12, 2023
Ttr should be in seconds.

Part of #278
oleg-jukovec added a commit that referenced this issue May 12, 2023
We need to wait a ready state for a queue. We also need to wait for
a success queue configuration on all instances before start a work.

Closes #278
oleg-jukovec added a commit that referenced this issue May 12, 2023
oleg-jukovec added a commit that referenced this issue May 12, 2023
oleg-jukovec added a commit that referenced this issue May 12, 2023
Ttr should be in seconds.

Part of #278
oleg-jukovec added a commit that referenced this issue May 12, 2023
We need to wait for an additional events to make the test stable:

1. A ready state for a queue.
2. A success queue configuration on all instances.
3. An available RW instance.
4. A success role switch.

Closes #278
oleg-jukovec added a commit that referenced this issue May 12, 2023
oleg-jukovec added a commit that referenced this issue May 12, 2023
oleg-jukovec added a commit that referenced this issue May 12, 2023
Ttr should be in seconds.

Part of #278
oleg-jukovec added a commit that referenced this issue May 12, 2023
We need to wait for an additional events to make the test stable:

1. A ready state for a queue.
2. A success queue configuration on all instances.
3. An available RW instance.
4. A success role switch.

Closes #278
oleg-jukovec added a commit that referenced this issue May 12, 2023
We don't have stable results if queue.cfg({in_replicaset = true})
is called after box.cfg(). Probably it is expected [1].

1. tarantool/queue#206

Part of #278
oleg-jukovec added a commit that referenced this issue May 12, 2023
We need to wait for an additional events to make the test stable:

1. A ready state for a queue.
2. A success queue configuration on all instances.
3. An available RW instance.
4. A success role switch.

Closes #278
oleg-jukovec added a commit that referenced this issue May 15, 2023
oleg-jukovec added a commit that referenced this issue May 15, 2023
oleg-jukovec added a commit that referenced this issue May 15, 2023
Ttr should be in seconds.

Part of #278
oleg-jukovec added a commit that referenced this issue May 15, 2023
We don't have stable results if queue.cfg({in_replicaset = true})
is called after box.cfg(). Probably it is expected [1].

1. tarantool/queue#206

Part of #278
oleg-jukovec added a commit that referenced this issue May 15, 2023
We need to wait for an additional events to make the test stable:

1. A ready state for a queue.
2. A success queue configuration on all instances.
3. An available RW instance.
4. A success role switch.

Closes #278
oleg-jukovec added a commit that referenced this issue May 17, 2023
oleg-jukovec added a commit that referenced this issue May 17, 2023
oleg-jukovec added a commit that referenced this issue May 17, 2023
Ttr should be in seconds.

Part of #278
oleg-jukovec added a commit that referenced this issue May 17, 2023
We don't have stable results if queue.cfg({in_replicaset = true})
is called after box.cfg(). Probably it is expected [1].

1. tarantool/queue#206

Part of #278
oleg-jukovec added a commit that referenced this issue May 17, 2023
We need to wait for an additional events to make the test stable:

1. A ready state for a queue.
2. A success queue configuration on all instances.
3. An available RW instance.
4. A success role switch.

Closes #278
oleg-jukovec added a commit that referenced this issue May 18, 2023
oleg-jukovec added a commit that referenced this issue May 18, 2023
oleg-jukovec added a commit that referenced this issue May 18, 2023
Ttr should be in seconds.

Part of #278
oleg-jukovec added a commit that referenced this issue May 18, 2023
We don't have stable results if queue.cfg({in_replicaset = true})
is called after box.cfg(). Probably it is expected [1].

1. tarantool/queue#206

Part of #278
oleg-jukovec added a commit that referenced this issue May 18, 2023
We need to wait for an additional events to make the test stable:

1. A ready state for a queue.
2. A success queue configuration on all instances.
3. An available RW instance.
4. A success role switch.

Closes #278
oleg-jukovec added a commit that referenced this issue May 18, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

    Missed iterator constant (#285).

Bugfixes

    Several non-critical data race issues (#218).

    Build on Apple M1 with OpenSSL (#260).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).

    Watcher events loss with a small per-request timeout (#284).

    Connect() panics on concurrent schema update (#278).

    Wrong Ttr setup by Queue.Cfg() (#278).

    Flaky queue/Example_connectionPool (#278).

    Flaky queue/Example_simpleQueueCustomMsgPack (#277).

Other

    queue module version bumped to 1.3.0 (#278).
oleg-jukovec added a commit that referenced this issue May 18, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

    Missed iterator constant (#285).

Bugfixes

    Several non-critical data race issues (#218).

    Build on Apple M1 with OpenSSL (#260).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).

    Watcher events loss with a small per-request timeout (#284).

    Connect() panics on concurrent schema update (#278).

    Wrong Ttr setup by Queue.Cfg() (#278).

    Flaky queue/Example_connectionPool (#278).

    Flaky queue/Example_simpleQueueCustomMsgPack (#277).

Other

    queue module version bumped to 1.3.0 (#278).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers teamE
Projects
None yet
3 participants