Few hours ago our Appscale server is working fine, earlier it stopped working, checking the 'app___appscaledashboard-8000.log' file I can see Datastore connection error.
- What is the root cause of this error?
- How can we prevent this error from happening again?
- What are the ways to make Appscale more stable?
Here is the log:
ERROR 2016-06-01 09:26:01,520 datastore_distributed.py:358] Datastore connection error on get.
WARNING 2016-06-01 09:26:01,521 tasklets.py:409] suspended generator _get_tasklet(context.py:329) raised InternalError(Datastore connection error on get.)
WARNING 2016-06-01 09:26:01,521 tasklets.py:409] suspended generator get(context.py:744) raised InternalError(Datastore connection error on get.)
ERROR 2016-06-01 09:26:01,522 app_dashboard_data.py:580] Datastore connection error on get.
Traceback (most recent call last):
File "/var/apps/appscaledashboard/app/lib/app_dashboard_data.py", line 551, in update_users
user_info = self.get_by_id(UserInfo, email)
File "/var/apps/appscaledashboard/app/lib/app_dashboard_data.py", line 188, in get_by_id
return model.get_by_id(key_name)
File "/root/appscale/AppServer/google/appengine/ext/ndb/utils.py", line 142, in positional_wrapper
return wrapped(*args, **kwds)
File "/root/appscale/AppServer/google/appengine/ext/ndb/model.py", line 3530, in _get_by_id
return cls._get_by_id_async(id, parent=parent, **ctx_options).get_result()
File "/root/appscale/AppServer/google/appengine/ext/ndb/tasklets.py", line 325, in get_result
self.check_success()
File "/root/appscale/AppServer/google/appengine/ext/ndb/tasklets.py", line 368, in _help_tasklet_along
value = gen.throw(exc.__class__, exc, tb)
File "/root/appscale/AppServer/google/appengine/ext/ndb/context.py", line 744, in get
entity = yield self._get_batcher.add_once(key, options)
File "/root/appscale/AppServer/google/appengine/ext/ndb/tasklets.py", line 368, in _help_tasklet_along
value = gen.throw(exc.__class__, exc, tb)
File "/root/appscale/AppServer/google/appengine/ext/ndb/context.py", line 329, in _get_tasklet
entities = yield self._conn.async_get(options, datastore_keys)
File "/root/appscale/AppServer/google/appengine/ext/ndb/tasklets.py", line 454, in _on_rpc_completion
result = rpc.get_result()
File "/root/appscale/AppServer/google/appengine/api/apiproxy_stub_map.py", line 615, in get_result
return self.__get_result_hook(self)
File "/root/appscale/AppServer/google/appengine/datastore/datastore_rpc.py", line 1450, in __get_hook
self.check_rpc_success(rpc)
File "/root/appscale/AppServer/google/appengine/datastore/datastore_rpc.py", line 1224, in check_rpc_success
raise _ToDatastoreError(err)
InternalError: Datastore connection error on get.
INFO 2016-06-01 09:26:01,525 server.py:580] default: "GET /status/refresh HTTP/1.0" 200 17