-
Notifications
You must be signed in to change notification settings - Fork 528
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
The server is not available (or you do not have permissions to access it) #1
Comments
What command are you using to restart god? That error occurs when the god daemon isn't running or the user under which you're running the god query does not have permission to the socket file which is owned by the process that was used to start god. Can you split the other question into a separate ticket, doubling up tickets like this makes things difficult to track and address. |
I'm also running into the intermittent failures. I'm running Version 0.7.18. The error reported is: "The server is not available (or you do not have permissions to access it)". I have God setup as a service on CentOS. God is run as root. Here is the script: case $1 in start) /opt/local/bin/god -l /home/xxxxxx/current/log/god.log -P /home/xxxxxx/current/tmp/pids/god.pid || echo -en "\n already running" for file in `ls -1 /home/xxxxxx/current/config//*.god`; do /opt/local/bin/god load ; done echo "started" ;; stop) kill -QUIT `cat /home/xxxxx/current/tmp/pids/god.pid` || echo -en "\n not running" echo "stopped" ;; restart|reload) kill -HUP `cat /home/xxxxx/current/tmp/pids/god.pid` || echo -en "\n can't reload" echo "restarted" ;; *) echo >&2 "Usage: /var/spool/ec2/rs_cache/attachments/script_159507 " exit 1 ;; esac ~ |
Hey Tom- do you know the current state of this issue? Have been seeing this behavior on Debian boxes after several days of normal operation with 0.7.18. Looked at the release history file but didn't see anything obvious, wondering if 0.8 fixed this but thought i'd check once before upgrading. Thanks |
Ah, found out why we were seeing this behavior... God stores a socket (.sock) file in /tmp which it uses to communicate with the server. A few weeks ago, we added a crontab entry to cleanup stale files in /tmp -- we'd wipe any files with modified dates greater than 2 days: 50 22 * * * find /tmp -mtime +2 -print | xargs rm -rf This started sweeping the socket file 48 hours after startup, causing the CLI to report the "server is unavailable" message in (seemingly) intermittent intervals. The solution was to target specific stubborn files, like open-uri handles when sweeping /tmp. HTH others. |
Is anyone else still seeing these problems (where the file still exists)? |
I'm guessing a number of people probably run into this problem due to cleaning out the /tmp directory, and in retrospect, /tmp seems like a horrible place for the communication socket to live. Upon looking at the Filesystem Hierarchy Standard (http://www.pathname.com/fhs/pub/fhs-2.3.html), the socket file should really live in /var/run/god. I'll slate this change to go out in a future release after announcing it on the mailing list. |
That makes a lot of sense. |
Was this ever fixed? |
GitHub Flavored Markdown ================================ *View the [source of this content](http://github.github.com/github-flavored-markdown/sample_content.html).* Let's get the whole "linebreak" thing out of the way. The next paragraph contains two phrases separated by a single newline character: Roses are red Violets are blue The next paragraph has the same phrases, but now they are separated by two spaces and a newline character: Roses are red Violets are blue Oh, and one thing I cannot stand is the mangling of words with multiple underscores in them like perform_complicated_task or do_this_and_do_that_and_another_thing. A bit of the GitHub spice ------------------------- In addition to the changes in the previous section, certain references are auto-linked: * SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2 * User@SHA ref: mojombo@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2 * User/Project@SHA: mojombo/god@be6a8cc * \#Num: #1 * User/#Num: mojombo#1 * User/Project#Num: mojombo/god#1 These are dangerous goodies though, and we need to make sure email addresses don't get mangled: My email addy is tom@github.com. Math is hard, let's go shopping ------------------------------- In first grade I learned that 5 > 3 and 2 < 7. Maybe some arrows. 1 -> 2 -> 3. 9 <- 8 <- 7. Triangles man! a^2 + b^2 = c^2 We all like making lists ------------------------ The above header should be an H2 tag. Now, for a list of fruits: * Red Apples * Purple Grapes * Green Kiwifruits Let's get crazy: 1. This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. Donec sit amet nisl. Aliquam semper ipsum sit amet velit. 2. Suspendisse id sem consectetuer libero luctus adipiscing. What about some code **in** a list? That's insane, right? 1. In Ruby you can map like this: ['a', 'b'].map { |x| x.uppercase } 2. In Rails, you can do a shortcut: ['a', 'b'].map(&:uppercase) Some people seem to like definition lists <dl> <dt>Lower cost</dt> <dd>The new version of this product costs significantly less than the previous one!</dd> <dt>Easier to use</dt> <dd>We've changed the product so that it's much easier to use!</dd> </dl> I am a robot ------------ Maybe you want to print `robot` to the console 1000 times. Why not? def robot_invasion puts("robot " * 1000) end You see, that was formatted as code because it's been indented by four spaces. How about we throw some angle braces and ampersands in there? <div class="footer"> © 2004 Foo Corporation </div> Set in stone ------------ Preformatted blocks are useful for ASCII art: <pre> ,-. , ,-. ,-. / \ ( )-( ) \ | ,.>-( )-< \|,' ( )-( ) Y ___`-' `-' |/__/ `-' | | | -hrr- ___|_____________ </pre> Playing the blame game ---------------------- If you need to blame someone, the best way to do so is by quoting them: > I, at any rate, am convinced that He does not throw dice. Or perhaps someone a little less eloquent: > I wish you'd have given me this written question ahead of time so I > could plan for it... I'm sure something will pop into my head here in > the midst of this press conference, with all the pressure of trying to > come up with answer, but it hadn't yet... > > I don't want to sound like > I have made no mistakes. I'm confident I have. I just haven't - you > just put me under the spot here, and maybe I'm not as quick on my feet > as I should be in coming up with one. Table for two ------------- <table> <tr> <th>ID</th><th>Name</th><th>Rank</th> </tr> <tr> <td>1</td><td>Tom Preston-Werner</td><td>Awesome</td> </tr> <tr> <td>2</td><td>Albert Einstein</td><td>Nearly as awesome</td> </tr> </table> Crazy linking action -------------------- I get 10 times more traffic from [Google] [1] than from [Yahoo] [2] or [MSN] [3]. [1]: http://google.com/ "Google" [2]: http://search.yahoo.com/ "Yahoo Search" [3]: http://search.msn.com/ "MSN Search"
We see this error about 1/3rd of the time when trying to restart god (after, say, disabling it via god terminate); all god commands save 'god check' will report this. What are some of the causes of this error?
We also see instances where a watch with both a :process_running and a :cpu_usage condition will fail to restart a process which is no longer running. Checking the god log for that watch, we see a large list of successful status checks for cpu usage -- 0%, naturally.
Are we missing some basic permissions issue here? God is running as root, so it seems unlikely, but...
The text was updated successfully, but these errors were encountered: