

DownorNot is down - vimota
http://www.downornot.com/

======
biot
Someone likely used up their free quota:

    
    
      OverQuotaError: The API call datastore_v3.RunQuery() required
      more quota than is available.
    

I'm guessing that running a query on initial load is likely for capturing
metrics. This should get refactored to fail silently and potentially also use
a memcache-backed counter:

[https://developers.google.com/appengine/articles/scaling/mem...](https://developers.google.com/appengine/articles/scaling/memcache#transient)

Basically, store the count in memcache and only commit to the datastore when
the counter hits a certain amount. You run the risk of losing some of your
analytics but it's more important to keep your resource usage low and your app
online than it is to capture every single hit.

------
stephengillie
<http://isitup.org/downornot.com>

_downornot.com is up.

It took 115 ms for a 302 response with an ip of 208.94.146.70._

~~~
icebraining
Not sure how they get a 302, I get a 500. And in any case, a 302 is a
redirect, they should follow it to know if it's really down.

<http://www.downforeveryoneorjustme.com/downornot.org> gives a better result,
in my opinion.

~~~
stephengillie
I don't get an HTTP error, I get a stack trace:

    
    
      Traceback (most recent call last):
      File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 710, in __call__
        handler.get(*groups)
      File "/base/data/home/apps/wmc/12.348534319863004081/don.py", line 306, in get
        self.work()
      File "/base/data/home/apps/wmc/12.348534319863004081/don.py", line 364, in work
        get_cpinfo()
      File "/base/data/home/apps/wmc/12.348534319863004081/don.py", line 510, in get_cpinfo
        for cp in DonCP.all().fetch(100):
      File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 2145, in fetch
        return list(self.run(limit=limit, offset=offset, **kwargs))
      File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 2314, in next
        return self.__model_class.from_entity(self.__iterator.next())
      File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_query.py", line 2816, in next
        next_batch = self.__batcher.next()
      File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_query.py", line 2678, in next
        return self.next_batch(self.AT_LEAST_ONE)
      File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_query.py", line 2715, in next_batch
        batch = self.__next_batch.get_result()
      File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 604, in get_result
        return self.__get_result_hook(self)
      File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_query.py", line 2452, in __query_result_hook
        self._batch_shared.conn.check_rpc_success(rpc)
      File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1222, in check_rpc_success
        rpc.check_success()
      File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 570, in check_success
        self.__rpc.CheckSuccess()
      File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_rpc.py", line 133, in CheckSuccess
        raise self.exception
      OverQuotaError: The API call datastore_v3.RunQuery() required more quota than is available.

~~~
icebraining
Yes, that's the content, but the HTTP status is 500 (Internal Server Error).
Try with curl or a tool like <http://www.webconfs.com/http-header-check.php>

------
norswap
Is the pun really worth the story?

~~~
coderdude
HN's backend should occasionally submit things like this as a 'poor
contributor' CAPTCHA. If you vote the story up then HN can penalize the
account for dragging the site down.

------
WalterGR
My brother emailed me a link to this gem:
[http://www.isdownforeveryoneorjustmedownforeveryoneorjustme....](http://www.isdownforeveryoneorjustmedownforeveryoneorjustme.com/)

The URL gets truncated by HN. It's:
www.isdownforeveryoneorjustmedownforeveryoneorjustme.com

------
bootz15
Well, it worked. I know it's down.

------
farms
lol, meta

