firehoseio / firehose

Build realtime Ruby web applications. Created by the fine folks at Poll Everywhere.
http://firehose.io/
MIT License
727 stars 72 forks source link

em-redis incomplatibility #28

Closed karloscodes closed 10 years ago

karloscodes commented 10 years ago

I have managed to start the firehose server with em-redis 0.2.1 and rainbows 4.5.0.

firehose server              
[2013-10-27 20:52:09.724 #30098] INFO : Starting 1.2.8 'Straight Stream', in development
[2013-10-27 20:52:10.574 #30098] INFO : listening on addr=0.0.0.0:7474 fd=7
[2013-10-27 20:52:10.575 #30098] INFO : worker=0 spawning...
[2013-10-27 20:52:10.576 #30098] INFO : master process ready
[2013-10-27 20:52:10.783 #30137] INFO : Rainbows! EventMachine worker_connections=400
[2013-10-27 20:52:10.788 #30137] INFO : EventMachine: epoll=true kqueue=false

However i can when i try:

curl "http://localhost:7474/hello"

I get curl: (52) Empty reply from server I wonder if this is a em-redis or rainbows incompatibility problem

bradgessler commented 10 years ago

The issue is probably with rainbows. Try installing rainbows 4.4.3:

gem install rainbows -v 4.4.3

and see if that starts. We can at least isolate it to rainbows if that boots.

karloscodes commented 10 years ago

No luck with rainbows 4.4.3, i have also tried thin 1.3.1, 1.5.1, and 1.6.0 without any luck too.

On Mon 28 Oct 2013 07:24:42 PM CDT, Brad Gessler wrote:

The issue is probably with rainbows. Try installing rainbows 4.4.3:

gem install rainbows -v 4.4.3

and see if that starts. We can at least isolate it to rainbows if that boots.

— Reply to this email directly or view it on GitHub https://github.com/polleverywhere/firehose/issues/28#issuecomment-27266562.

bradgessler commented 10 years ago

What version of Redis server are you running?

$ redis-server -v
Redis server v=2.6.7 sha=00000000:0 malloc=libc bits=64

Make sure you're running at least 2.6.

Also try running

$ curl -X PUT -d "hi" "http://localhost:7474/hello"

against the server, then

$ curl "http://localhost:7474/hello"
{"message":"hi","last_sequence":1}
karloscodes commented 10 years ago
redis-server -v                                  
Redis server v=2.6.0 sha=00000000:0 malloc=jemalloc-3.0.0 bits=32

So i have 2.6.0, I have tried rubygems and github gems both of them with rainbows 4.4.3 and thin 1.3.1, 1.5.1, and 1.6.0. I have checked and once the firehose server is running the 7474 port is open with telnet 7474. Should i try with em-hiredis 0.2.0?

bradgessler commented 10 years ago

We're running * em-hiredis (0.2.1) in production without issue. I don't think that's the problem. What OS are you running? Mac?

karloscodes commented 10 years ago

I'm using Ubuntu 13.04 x86, In order to fix or see what could be happening, what should i try? is there a way to make more verbose firehose server?

bradgessler commented 10 years ago

Oh crap, I just realized I haven't released 1.2.9 yet, which has em-hiredis bumpgrades. That explains why everything was working just fine and dandy for us in prod (we're synched up with HEAD on master) but you were having problems.

bradgessler commented 10 years ago

Gem cut http://rubygems.org/gems/firehose

Install that and bundle update everything, then see what happens.

karloscodes commented 10 years ago

Nothing, the same problem with 1.2.9 :-( _curl: (52) Empty reply from server_, What can i do?

bradgessler commented 10 years ago

Run LOG_LEVEL=debug firehose server and you'll get a more verbose output.

If that doesn't work lets isolate the crap of it via:

git clone git@github.com:polleverywhere/firehose.git
cd firehose
bundle
LOG_LEVEL=debug bundle exec bin/firehose server
curl "http://localhost:7474/hello" &
curl -X PUT -d "hi" "http://localhost:7474/hello"
bradgessler commented 10 years ago

Try updating the gem and rebundling. Issue https://github.com/polleverywhere/firehose/issues/29 may be causing these problems.

karloscodes commented 10 years ago

Nothing yet even on an empty project take a look to the bundled gems

GEM remote: https://rubygems.org/ specs: addressable (2.3.5) cookiejar (0.3.0) em-hiredis (0.2.1) hiredis (~> 0.4.0) em-http-request (1.1.1) addressable (>= 2.3.4) cookiejar em-socksify (>= 0.3) eventmachine (>= 1.0.3) http_parser.rb (>= 0.6.0.beta.2) em-socksify (0.3.0) eventmachine (>= 1.0.0.beta.4) eventmachine (1.0.3) faraday (0.8.8) multipart-post (~> 1.2.0) faye-websocket (0.4.7) eventmachine (>= 0.12.0) firehose (1.2.10) em-hiredis (>= 0.2.0) em-http-request (>= 1.0.0) eventmachine (>= 1.0.0) faraday faye-websocket json rack (~> 1.4.0) thor hiredis (0.4.5) http_parser.rb (0.6.0.beta.2) json (1.8.0) kgio (2.8.0) multipart-post (1.2.0) rack (1.4.5) rainbows (4.4.3) kgio (~> 2.5) rack (~> 1.1) unicorn (~> 4.1) raindrops (0.10.0) rake (10.1.0) thor (0.18.1) unicorn (4.6.2) kgio (~> 2.6) rack raindrops (~> 0.7)

PLATFORMS ruby

DEPENDENCIES bundler (~> 1.3) firehose (~> 1.2.10) rainbows (~> 4.4.3) rake sf-pubsub!

bradgessler commented 10 years ago

Have you tried this recently with more updated libs?

karloscodes commented 10 years ago

Nope, I gave up.. I will try soon and get back to you

From: Brad Gessler Sent: Sunday, February 9, 2014 5:31 PM To: polleverywhere/firehose Cc: Carlos Castellanos Subject: Re: [firehose] em-redis incomplatibility (#28)

Have you tried this recently with more updated libs?

— Reply to this email directly or view it on GitHub.