Skip to content

Rails apps with puma on cluster mode not catching up flag changes when local evaluation is enabled #62

@Guilherme2112

Description

@Guilherme2112

Context

When the following conditions are met, the local environment of the rails server does not refresh the flag states...the environment document request actually happens, tough.

  • rails app
  • puma (on cluster mode - even with 1 worker 1 thread)
  • local evaluation enabled
  • booting with rails s command

Steps to reproduce

  • Create a new rails app
  • Configure puma with cluster mode (set a value above zero for workers on config/puma.rb)
  • Create an initializer, defining the global variable, just like the documentation shows. Local evaluation must be enabled
  • boot the server with rails s
  • check if the flagsmith client is responding to flag state changes on the flagsmith dashboard between every environment document request

Useful info

  • Works normally with puma on single mode
  • Puma worker and thread count does not matter to the issue
  • On puma cluster mode, it seems like there is something wrong with the puma boot using the bundle exec rails s command, since running bundle exec puma -t 1:1 -w 1:1 looks fine
  • Worth mentioning that the local evaluation on the rails c console, the normal behavior occurs
  • Tested on macOs Ventura 13.6.7 (M1 chip) and Ubuntu 22 (x64)

Example project

https://github.com/Guilherme2112/flagsmith-rails-example

(basic instructions at README)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions