datapusher
datapusher copied to clipboard
Datapusher fails with error related to _table_metadata
I have CKAN 2.8.3 (updated from 2.8.2) on Ubuntu 16.04 and upload to datastore stays pending (push_to_datastore). The suspected error log is below.
[Mon Dec 16 17:36:08.354342 2019] [wsgi:error] [pid 27895:tid 139717909374720] 2019-12-16 17:36:08,354 INFO [ckan.lib.base] /dataset/48841c80-71e9-420d-84cd-da4e
d2dd37b9/resource/4d5b837e-ba17-4858-b9e7-c46dbaf5a14e/download/cpi-1996-2018.csv render time 0.018 seconds
[Mon Dec 16 17:36:08.518779 2019] [wsgi:error] [pid 27896:tid 139717900982016] 2019-12-16 17:36:08,516 ERROR [ckan.views.api] (psycopg2.ProgrammingError) relation
"_table_metadata" does not exist
[Mon Dec 16 17:36:08.518793 2019] [wsgi:error] [pid 27896:tid 139717900982016] LINE 1: SELECT alias_of FROM "_table_metadata"
[Mon Dec 16 17:36:08.518796 2019] [wsgi:error] [pid 27896:tid 139717900982016] ^
[Mon Dec 16 17:36:08.518798 2019] [wsgi:error] [pid 27896:tid 139717900982016] [SQL: 'SELECT alias_of FROM "_table_metadata"\\n
WHERE name = %(id)s'] [parameters: {'id': u'4d5b837e-ba17-4858-b9e7-c46dbaf5a14e'}]
[Mon Dec 16 17:36:08.518801 2019] [wsgi:error] [pid 27896:tid 139717900982016] Traceback (most recent call last):
[Mon Dec 16 17:36:08.518803 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/src/ckan/ckan/views/api.py", line 288, in action
[Mon Dec 16 17:36:08.518806 2019] [wsgi:error] [pid 27896:tid 139717900982016] result = function(context, request_data)
[Mon Dec 16 17:36:08.518808 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/src/ckan/ckan/logic/__init__.py", line 464, in wrapped
[Mon Dec 16 17:36:08.518810 2019] [wsgi:error] [pid 27896:tid 139717900982016] result = _action(context, data_dict, **kw)
[Mon Dec 16 17:36:08.518813 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/src/ckan/ckanext/datastore/logic/action.py", line 451,
in datastore_search
[Mon Dec 16 17:36:08.518803 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/src/ckan/ckan/views/api.py", line 288, in action
[Mon Dec 16 17:36:08.518806 2019] [wsgi:error] [pid 27896:tid 139717900982016] result = function(context, request_data)
[Mon Dec 16 17:36:08.518808 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/src/ckan/ckan/logic/__init__.py", line 464, in wrapped
[Mon Dec 16 17:36:08.518810 2019] [wsgi:error] [pid 27896:tid 139717900982016] result = _action(context, data_dict, **kw)
[Mon Dec 16 17:36:08.518813 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/src/ckan/ckanext/datastore/logic/action.py", line 451,
in datastore_search
[Mon Dec 16 17:36:08.518815 2019] [wsgi:error] [pid 27896:tid 139717900982016] res_exists, real_id = backend.resource_id_from_alias(res_id)
[Mon Dec 16 17:36:08.518817 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/src/ckan/ckanext/datastore/backend/postgres.py", line 1843, in resource_id_from_alias
[Mon Dec 16 17:36:08.518820 2019] [wsgi:error] [pid 27896:tid 139717900982016] results = self._get_read_engine().execute(resources_sql, id=alias)
[Mon Dec 16 17:36:08.518822 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 2064, in execute
[Mon Dec 16 17:36:08.518830 2019] [wsgi:error] [pid 27896:tid 139717900982016] return connection.execute(statement, *multiparams, **params)
[Mon Dec 16 17:36:08.518833 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 945, in execute
[Mon Dec 16 17:36:08.518835 2019] [wsgi:error] [pid 27896:tid 139717900982016] return meth(self, multiparams, params)
[Mon Dec 16 17:36:08.518837 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
[Mon Dec 16 17:36:08.518840 2019] [wsgi:error] [pid 27896:tid 139717900982016] return connection._execute_clauseelement(self, multiparams, params)
[Mon Dec 16 17:36:08.518842 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
[Mon Dec 16 17:36:08.518845 2019] [wsgi:error] [pid 27896:tid 139717900982016] compiled_sql, distilled_params
[Mon Dec 16 17:36:08.518847 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
[Mon Dec 16 17:36:08.518849 2019] [wsgi:error] [pid 27896:tid 139717900982016] context)
[Mon Dec 16 17:36:08.518851 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1402, in _handle_dbapi_exception
[Mon Dec 16 17:36:08.518854 2019] [wsgi:error] [pid 27896:tid 139717900982016] exc_info
[Mon Dec 16 17:36:08.518856 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
[Mon Dec 16 17:36:08.518858 2019] [wsgi:error] [pid 27896:tid 139717900982016] reraise(type(exception), exception, tb=exc_tb, cause=cause)
[Mon Dec 16 17:36:08.518861 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
[Mon Dec 16 17:36:08.518863 2019] [wsgi:error] [pid 27896:tid 139717900982016] context)
[Mon Dec 16 17:36:08.518865 2019] [wsgi:error] [pid 27896:tid 139717900982016] File "/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
[Mon Dec 16 17:36:08.518867 2019] [wsgi:error] [pid 27896:tid 139717900982016] cursor.execute(statement, parameters)
[Mon Dec 16 17:36:08.518870 2019] [wsgi:error] [pid 27896:tid 139717900982016] ProgrammingError: (psycopg2.ProgrammingError) relation "_table_metadata" does not exist
[Mon Dec 16 17:36:08.518872 2019] [wsgi:error] [pid 27896:tid 139717900982016] LINE 1: SELECT alias_of FROM "_table_metadata"
[Mon Dec 16 17:36:08.518874 2019] [wsgi:error] [pid 27896:tid 139717900982016] ^
[Mon Dec 16 17:36:08.518876 2019] [wsgi:error] [pid 27896:tid 139717900982016] [SQL: 'SELECT alias_of FROM "_table_metadata"\\n
Hi,
most likely you have not run permission script https://docs.ckan.org/en/latest/maintaining/datastore.html#set-permissions as the script creates _table_metadata view.
Re-ran postgres=# sudo ckan datastore set-permissions | sudo -u postgres psql --set ON_ERROR_STOP=1
and it executed silently. Does that mean it failed?
Also, if I curl -X GET "http://127.0.0.1:5000/api/3/action/datastore_search?resource_id=_table_metadata"
I get
curl: (7) Failed to connect to 127.0.0.1 port 5000: Connection refused