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

Unable to run test without redis due to at exit handler: at_exit(&method(:flush_stats)) #4513

Closed
arufanov opened this issue Mar 27, 2020 · 3 comments

Comments

@arufanov
Copy link

Ruby version: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
Sidekiq / Pro / Enterprise version(s): Sidekiq

Please include your initializer and any error message with the full backtrace.
command bin/rspec spec/jobs/ --tag ~database:postgresql --backtrace produces

Traceback (most recent call last):
	26: from /var/lib/gems/2.5.0/gems/sidekiq-6.0.6/lib/sidekiq/launcher.rb:103:in `flush_stats'
	25: from /var/lib/gems/2.5.0/gems/sidekiq-6.0.6/lib/sidekiq.rb:94:in `redis'
	24: from /var/lib/gems/2.5.0/gems/connection_pool-2.2.2/lib/connection_pool.rb:61:in `with'
	23: from /var/lib/gems/2.5.0/gems/connection_pool-2.2.2/lib/connection_pool.rb:61:in `handle_interrupt'
	22: from /var/lib/gems/2.5.0/gems/connection_pool-2.2.2/lib/connection_pool.rb:64:in `block in with'
	21: from /var/lib/gems/2.5.0/gems/connection_pool-2.2.2/lib/connection_pool.rb:64:in `handle_interrupt'
	20: from /var/lib/gems/2.5.0/gems/connection_pool-2.2.2/lib/connection_pool.rb:65:in `block (2 levels) in with'
	19: from /var/lib/gems/2.5.0/gems/sidekiq-6.0.6/lib/sidekiq.rb:97:in `block in redis'
	18: from /var/lib/gems/2.5.0/gems/sidekiq-6.0.6/lib/sidekiq/launcher.rb:104:in `block in flush_stats'
	17: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis.rb:2411:in `pipelined'
	16: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis.rb:52:in `synchronize'
	15: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
	14: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis.rb:52:in `block in synchronize'
	13: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis.rb:2416:in `block in pipelined'
	12: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:162:in `call_pipeline'
	11: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:306:in `with_reconnect'
	10: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:164:in `block in call_pipeline'
	 9: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:196:in `call_pipelined'
	 8: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:230:in `process'
	 7: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:319:in `logging'
	 6: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:231:in `block in process'
	 5: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:381:in `ensure_connected'
	 4: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:105:in `connect'
	 3: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:306:in `with_reconnect'
	 2: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:106:in `block in connect'
	 1: from /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:343:in `establish_connection'
/var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb:362:in `rescue in establish_connection': Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) (Redis::CannotConnectError)
root@arufanov:~/Workspaces/TimeVizor/TimeVizor# 

due to line "at_exit(&method(:flush_stats))" launcher.rb. Sidekiq 6.0.5 is working fine without redis, but Sidekiq 6.0.6 doesn't work at test mode without redis. Also now I am not able to make bin/rails db:drop db:create db:migrate db:seed without redis.

Are you using an old version? No.
Have you checked the changelogs to see if your issue has been fixed in a later version?

https://github.com/mperham/sidekiq/blob/master/Changes.md
https://github.com/mperham/sidekiq/blob/master/Pro-Changes.md
https://github.com/mperham/sidekiq/blob/master/Ent-Changes.md

@arufanov arufanov changed the title Unable tp run test without redis due to at exit handler: at_exit(&method(:flush_stats)) Unable to run test without redis due to at exit handler: at_exit(&method(:flush_stats)) Mar 27, 2020
@mperham
Copy link
Collaborator

mperham commented Mar 27, 2020

the changelog points to the issue

@mperham mperham closed this as completed Mar 27, 2020
@arufanov
Copy link
Author

@mperham

  • thanks, next time will check changelog before.
  • just my opinion about design decision: this restriction (= to have running redis) is too strong. I am not able to use all windows and mac machines as CI nodes as well as use windows machine as workstation to develop app without extra efforts

@arufanov
Copy link
Author

As I am able to see, you are going to fix this restriction (#4502) in the future versions. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants