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

tokio-compat: sinks::statsd::test::test_send_to_statsd fails tracking issue #2016

Closed
MOZGIII opened this issue Mar 10, 2020 · 4 comments · Fixed by #2026
Closed

tokio-compat: sinks::statsd::test::test_send_to_statsd fails tracking issue #2016

MOZGIII opened this issue Mar 10, 2020 · 4 comments · Fixed by #2026
Labels
domain: tests Anything related to Vector's internal tests sink: statsd Anything `statsd` sink related type: task Generic non-code related tasks type: tech debt A code change that does not add user value.

Comments

@MOZGIII
Copy link
Contributor

MOZGIII commented Mar 10, 2020

This issue is to gather all the data related to the sinks::statsd::test::test_send_to_statsd fails. It's related to #1922 and is designed to be a sort of separate thread where we focus on the sinks::statsd::test::test_send_to_statsd specifically.

I gathered some relevant info from before, shared at the #1922:

Notable failed CI runs:

From tokio-compat-statsd-debug branch:

@MOZGIII MOZGIII mentioned this issue Mar 10, 2020
7 tasks
@MOZGIII
Copy link
Contributor Author

MOZGIII commented Mar 10, 2020

I managed to reproduce the issue locally.

e717a45872c677a57c69cc97aec8b21991bfd3e3

It fails/passes randomly. Fails much more rarely than passes actually.

Falied:

running 1 test
Mar 10 13:45:57.369 TRACE vector::sinks::statsd::test: TR 1
Mar 10 13:45:57.381 TRACE mio::poll: registering with poller    
Mar 10 13:45:57.382 TRACE mio::poll: registering with poller    
Mar 10 13:45:57.382 TRACE vector::sinks::statsd::test: TR 2
Mar 10 13:45:57.382 TRACE vector::sinks::statsd::test: TR 3
Mar 10 13:45:57.383 TRACE vector::sinks::statsd::test: TR 6
Mar 10 13:45:57.383 TRACE vector::sinks::statsd::test: TR 7
Mar 10 13:45:57.383 TRACE vector::sinks::util: request succeeded. response=()
Mar 10 13:45:57.383 TRACE vector::sinks::statsd::test: TR 4
Mar 10 13:45:57.383 DEBUG tokio_reactor: adding I/O source: 0    
Mar 10 13:45:57.383 TRACE mio::poll: registering with poller    
Mar 10 13:45:57.383 DEBUG tokio_reactor::registration: scheduling Read for: 0    
Mar 10 13:45:57.383 TRACE tokio_reactor: event Writable Token(0)    
Mar 10 13:45:57.383 TRACE tokio_reactor: loop process - 1 events, 0.000s    
test sinks::statsd::test::test_send_to_statsd ... test sinks::statsd::test::test_send_to_statsd has been running for over 60 seconds
^C

image

Successful:

running 1 test
Mar 10 13:50:47.818 TRACE vector::sinks::statsd::test: TR 1
Mar 10 13:50:47.819 TRACE mio::poll: registering with poller    
Mar 10 13:50:47.819 TRACE mio::poll: registering with poller    
Mar 10 13:50:47.820 TRACE vector::sinks::statsd::test: TR 2
Mar 10 13:50:47.820 TRACE vector::sinks::statsd::test: TR 3
Mar 10 13:50:47.820 TRACE vector::sinks::statsd::test: TR 6
Mar 10 13:50:47.820 TRACE vector::sinks::statsd::test: TR 7
Mar 10 13:50:47.820 TRACE vector::sinks::util: request succeeded. response=()
Mar 10 13:50:47.820 DEBUG tokio_reactor: adding I/O source: 0    
Mar 10 13:50:47.821 TRACE vector::sinks::statsd::test: TR 4
Mar 10 13:50:47.821 TRACE mio::poll: registering with poller    
Mar 10 13:50:47.821 DEBUG tokio_reactor::registration: scheduling Read for: 0    
Mar 10 13:50:47.821 TRACE tokio_reactor: event Readable | Writable Token(0)    
Mar 10 13:50:47.821 TRACE tokio_reactor: loop process - 1 events, 0.000s    
Mar 10 13:50:47.821 TRACE tokio_udp::frame: received 85 bytes, decoding    
Mar 10 13:50:47.821 TRACE tokio_udp::frame: frame decoded from buffer    
Mar 10 13:50:47.821 DEBUG tokio_reactor::registration: scheduling Read for: 0    
Mar 10 13:50:47.821 TRACE vector::sinks::statsd::test: TR 5
Mar 10 13:50:47.821 DEBUG tokio_reactor::registration: scheduling Read for: 0    
Mar 10 13:50:47.821 TRACE mio::poll: deregistering handle with poller    
Mar 10 13:50:47.821 DEBUG tokio_reactor: dropping I/O source: 0    
Mar 10 13:50:47.822 TRACE tokio_reactor: event Readable Token(4194303)    
Mar 10 13:50:47.822 TRACE tokio_reactor: loop process - 1 events, 0.000s    
test sinks::statsd::test::test_send_to_statsd ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 504 filtered out

image

@MOZGIII
Copy link
Contributor Author

MOZGIII commented Mar 10, 2020

Ok, I think it's a race too.

@LucioFranco, @lukesteensen can you confirm?

@binarylogic binarylogic added domain: tests Anything related to Vector's internal tests sink: statsd Anything `statsd` sink related type: task Generic non-code related tasks type: tech debt A code change that does not add user value. labels Mar 10, 2020
@LucioFranco
Copy link
Contributor

So it looks like the event isn't coming through as readable but only writeable?

Mar 10 13:45:57.383 TRACE tokio_reactor: event Writable Token(0)    

where as when it passes this is:

Mar 10 13:50:47.821 TRACE tokio_reactor: event Readable | Writable Token(0)    

@LucioFranco
Copy link
Contributor

If possible we should try to reproduce this and get a strace output to see what tokio's reactor is actually submitting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain: tests Anything related to Vector's internal tests sink: statsd Anything `statsd` sink related type: task Generic non-code related tasks type: tech debt A code change that does not add user value.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants