Question

Trying to deploy neo4j with jruby application on heroku and heroku logs shows this:

Neo4j has been shutdown using storage_path: /app/db/neo4j-production

App config is as follows:

## config/application.rb 

    # Configure where the neo4j database should exist
      config.neo4j.storage_path = "#{config.root}/db/neo4j-#{Rails.env}"

Any ideas what can be wrong ?

1.for my heroku app I am using this heroku neo4j addon

2.here is a sample neo4j rails app repo that I used for my repo.

Logs:

2014-01-18T08:10:25.821598+00:00 app[web.1]: Puma 2.7.1 starting...
2014-01-18T08:10:25.821864+00:00 app[web.1]: * Min threads: 0, max threads: 16
2014-01-18T08:10:25.822353+00:00 app[web.1]: * Listening on tcp://0.0.0.0:30912
2014-01-18T08:10:25.822137+00:00 app[web.1]: * Environment: production
2014-01-18T08:10:26.828468+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2014-01-18T08:10:27.898102+00:00 app[web.1]: Error in reactor loop escaped: Bad file descriptor - Bad file descriptor (Errno::EBADF)
2014-01-18T08:10:27.898602+00:00 app[web.1]: org/jruby/RubyIO.java:3673:in `select'
2014-01-18T08:10:27.898993+00:00 app[web.1]: /app/vendor/bundle/jruby/1.9/gems/puma-2.7.1-java/lib/puma/reactor.rb:125:in `run_in_thread'
2014-01-18T08:10:27.898803+00:00 app[web.1]: /app/vendor/bundle/jruby/1.9/gems/puma-2.7.1-java/lib/puma/reactor.rb:28:in `run_internal'
2014-01-18T08:10:31.824933+00:00 heroku[web.1]: Process exited with status 143
2014-01-18T08:10:31.828398+00:00 app[web.1]: Error in reactor loop escaped: Bad file descriptor - Bad file descriptor (Errno::EBADF)
2014-01-18T08:46:02+00:00 heroku[slug-compiler]: Slug compilation started
2014-01-18T08:48:29.793444+00:00 heroku[api]: Deploy 47971a8 by xxx@gmail.com
2014-01-18T08:48:29.826435+00:00 heroku[api]: Release v7 created by xxx@gmail.com
2014-01-18T08:48:29+00:00 heroku[slug-compiler]: Slug compilation finished
2014-01-18T08:48:30.063859+00:00 heroku[web.1]: State changed from up to starting
2014-01-18T08:48:32.412033+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2014-01-18T08:48:33.017499+00:00 app[web.1]: Neo4j has been shutdown using storage_path: /app/db/neo4j-production
2014-01-18T08:48:34.447765+00:00 heroku[web.1]: Process exited with status 143
2014-01-18T08:48:37.928763+00:00 heroku[web.1]: Starting process with command `bundle exec rails server puma -p 20055 -e $RACK_ENV`
2014-01-18T08:48:38.903302+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Djava.rmi.server.useCodebaseOnly=true
Was it helpful?

Solution

Sounds like your path is wrong. You certainly know that Heroku doesn't offer persistent storage? OpenShift does though.

On Heroku I'd go with the hosted GrapheneDB offering. Then you can use neography or neo4j.rb (in server mode) to connect to your neo4j db.

See also http://neo4j.org/develop/ruby

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top