MCPServer: Unknown column 'Transfers.status' in 'where clause' (after upgrade to 1.13.0)

113 views
Skip to first unread message

olivier...@gmail.com

unread,
Aug 24, 2021, 11:39:49 AM8/24/21
to archivematica
Hi all,

I've just upgraded from 1.11.2 to 1.13.0 and MCPServer doesn't start anymore. I get the following error:

Aug 24 17:34:43 SRV10 systemd[1]: Started Archivematica MCPServer.
Aug 24 17:34:45 SRV10 python[24685]: Traceback (most recent call last):
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
Aug 24 17:34:45 SRV10 python[24685]:     return self.cursor.execute(sql, params)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 101, in execute
Aug 24 17:34:45 SRV10 python[24685]:     return self.cursor.execute(query, args)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/MySQLdb/cursors.py", line 209, in execute
Aug 24 17:34:45 SRV10 python[24685]:     res = self._query(query)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/MySQLdb/cursors.py", line 315, in _query
Aug 24 17:34:45 SRV10 python[24685]:     db.query(q)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/MySQLdb/connections.py", line 239, in query
Aug 24 17:34:45 SRV10 python[24685]:     _mysql.connection.query(self, query)
Aug 24 17:34:45 SRV10 python[24685]: MySQLdb._exceptions.OperationalError: (1054, "Unknown column 'Transfers.status' in 'where clause'")
Aug 24 17:34:45 SRV10 python[24685]: The above exception was the direct cause of the following exception:
Aug 24 17:34:45 SRV10 python[24685]: Traceback (most recent call last):
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/lib/archivematica/MCPServer/archivematicaMCP.py", line 5, in <module>
Aug 24 17:34:45 SRV10 python[24685]:     main()
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/lib/archivematica/MCPServer/server/mcp.py", line 106, in main
Aug 24 17:34:45 SRV10 python[24685]:     Package.cleanup_old_db_entries()
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/lib/python3.6/contextlib.py", line 52, in inner
Aug 24 17:34:45 SRV10 python[24685]:     return func(*args, **kwds)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/lib/archivematica/MCPServer/server/packages.py", line 574, in cleanup_old_db_entries
Aug 24 17:34:45 SRV10 python[24685]:     completed_at=completed_at,
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/db/models/query.py", line 650, in update
Aug 24 17:34:45 SRV10 python[24685]:     rows = query.get_compiler(self.db).execute_sql(CURSOR)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1204, in execute_sql
Aug 24 17:34:45 SRV10 python[24685]:     cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 899, in execute_sql
Aug 24 17:34:45 SRV10 python[24685]:     raise original_exception
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 889, in execute_sql
Aug 24 17:34:45 SRV10 python[24685]:     cursor.execute(sql, params)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
Aug 24 17:34:45 SRV10 python[24685]:     return self.cursor.execute(sql, params)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/db/utils.py", line 94, in __exit__
Aug 24 17:34:45 SRV10 python[24685]:     six.reraise(dj_exc_type, dj_exc_value, traceback)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/utils/six.py", line 685, in reraise
Aug 24 17:34:45 SRV10 python[24685]:     raise value.with_traceback(tb)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
Aug 24 17:34:45 SRV10 python[24685]:     return self.cursor.execute(sql, params)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 101, in execute
Aug 24 17:34:45 SRV10 python[24685]:     return self.cursor.execute(query, args)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/MySQLdb/cursors.py", line 209, in execute
Aug 24 17:34:45 SRV10 python[24685]:     res = self._query(query)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/MySQLdb/cursors.py", line 315, in _query
Aug 24 17:34:45 SRV10 python[24685]:     db.query(q)
Aug 24 17:34:45 SRV10 python[24685]:   File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/MySQLdb/connections.py", line 239, in query
Aug 24 17:34:45 SRV10 python[24685]:     _mysql.connection.query(self, query)
Aug 24 17:34:45 SRV10 python[24685]: django.db.utils.OperationalError: (1054, "Unknown column 'Transfers.status' in 'where clause'")
Aug 24 17:34:45 SRV10 systemd[1]: archivematica-mcp-server.service: Main process exited, code=exited, status=1/FAILURE
Aug 24 17:34:45 SRV10 systemd[1]: archivematica-mcp-server.service: Failed with result 'exit-code'.

Any idea what's wrong? A missing DB migration step?

Thanks,
Olivier

olivier...@gmail.com

unread,
Aug 24, 2021, 11:54:57 AM8/24/21
to archivematica
Obviously, the status column doesn't exist in Transfers.

mysql> select * from Transfers;
+--------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------+---------------------+----------------+-------------+-------+--------+----------------------------+----------+------------------+
| transferUUID                         | currentLocation                                                                                       | type     | accessionID | sourceOfAcquisition | typeOfTransfer | description | notes | hidden | transferMetadataSetRowUUID | dirUUIDs | access_system_id |
+--------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------+---------------------+----------------+-------------+-------+--------+----------------------------+----------+------------------+
| 002c75a7-d3c2-4186-8869-1dcb4340351e | %sharedPath%currentlyProcessing/S3-test6-002c75a7-d3c2-4186-8869-1dcb4340351e/                        | Standard |             |                     |                |             |       |      1 | NULL                       |        0 |                  |

Olivier

Jesús García Crespo

unread,
Aug 24, 2021, 12:49:44 PM8/24/21
to archiv...@googlegroups.com
Hi Oliver,

Do you know if migration 0081 was applied successfully? There is a Django command that shows the applied migrations (showmigrations) but it's also possible to know just by looking at the `django_migrations` table in MySQL.

Thanks,

--
You received this message because you are subscribed to the Google Groups "archivematica" group.
To unsubscribe from this group and stop receiving emails from it, send an email to archivematic...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/archivematica/b3a68199-1e0a-4e0e-ba2f-46e3e42a3be1n%40googlegroups.com.


--
Jesús García Crespo (he/him/his)
Artefactual Systems Inc.

olivier...@gmail.com

unread,
Aug 24, 2021, 2:47:54 PM8/24/21
to archivematica
No, indeed, no migration was applied since 2020. How can I force the migrations? Should I use the command under "Upgrade on CentOS/Red Hat packages" in the documentation, although I'm on Ubuntu?

Jesús García Crespo

unread,
Aug 24, 2021, 2:57:11 PM8/24/21
to archiv...@googlegroups.com
Yes, that should work!

olivier...@gmail.com

unread,
Aug 24, 2021, 3:21:29 PM8/24/21
to archivematica
Now I have another problem:

/etc/default$ sudo -u archivematica bash -c " \
>     set -a -e -x
>     source /etc/default/archivematica-dashboard || \
>         source /etc/sysconfig/archivematica-dashboard \
>             || (echo 'Environment file not found'; exit 1)
>     cd /usr/share/archivematica/dashboard
>     /usr/share/archivematica/virtualenvs/archivematica/bin/python manage.py migrate --noinput
> ";

+ source /etc/default/archivematica-dashboard
++ PYTHONPATH=/usr/lib/archivematica/archivematicaCommon:/usr/share/archivematica/dashboard
++ LANG=en_US.UTF-8
++ LC_ALL=en_US.UTF-8
++ LC_LANG=en_US.UTF-8
++ AM_GUNICORN_BIND=127.0.0.1:8002
++ ARCHIVEMATICA_DASHBOARD_DASHBOARD_ELASTICSEARCH_SERVER=127.0.0.1:9200
++ DJANGO_SETTINGS_MODULE=settings.production
++ ARCHIVEMATICA_DASHBOARD_DASHBOARD_DJANGO_ALLOWED_HOSTS='*'
++ ARCHIVEMATICA_DASHBOARD_DASHBOARD_DJANGO_SECRET_KEY=...
++ ARCHIVEMATICA_DASHBOARD_CLIENT_HOST=localhost
++ ARCHIVEMATICA_DASHBOARD_CLIENT_DATABASE=MCP
++ ARCHIVEMATICA_DASHBOARD_CLIENT_USER=archivematica
++ ARCHIVEMATICA_DASHBOARD_CLIENT_PASSWORD=...
++ REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
+ cd /usr/share/archivematica/dashboard
+ /usr/share/archivematica/virtualenvs/archivematica/bin/python manage.py migrate --noinput
Traceback (most recent call last):
  File "manage.py", line 13, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 74, in handle
    import_module('.management', app_config.name)
  File "/usr/share/archivematica/virtualenvs/archivematica/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 674, in exec_module
  File "<frozen importlib._bootstrap_external>", line 888, in get_code
  File "<frozen importlib._bootstrap_external>", line 455, in _validate_bytecode_header
ImportError: bad magic number in 'components.administration.management': b'\x03\xf3\r\n'

Olivier

olivier...@gmail.com

unread,
Aug 25, 2021, 4:04:38 AM8/25/21
to archivematica
Deleting the .pyc files seems to solve that problem:

sudo find . -name "*.pyc" -exec rm -f {} \;

Olivier

Daniel Faustino

unread,
Aug 26, 2021, 1:39:45 PM8/26/21
to archiv...@googlegroups.com
Hi All,

Oliver and Jesús,

Thanks in advance. Today I have the same problem and solve it with this thread.

Cheers!



--

Daniel Faustino L. de Souza
D.Sc in Computer Science
Universidade Federal Rural do Semi-Árido
Professor Adjunto II
Mobile: (83) 99131-3736

"O bom profissional não é aquele que tem diploma no exterior ou que tem dúzias de certificações, é simplesmente aquele que ajuda."

olivier...@gmail.com

unread,
Aug 26, 2021, 2:12:52 PM8/26/21
to archivematica
Cool. And, thanks for your help, Jesús!
Reply all
Reply to author
Forward
0 new messages