Completely unhandled exception: column form_defs.name does not exist", ODK Central 1.2

1. What is the problem? Be very detailed.
Unable log in as well as accessing the API for form submissions, after upgrading to version 1.2. However API endpoint to retrieve projects list is working

2. What app or server are you using and on what device and operating system? Include version numbers.
ODK Central 1.2, Ubuntu 18.04

3. What you have you tried to fix the problem?
Added swap and check RAM

4. What steps can we take to reproduce the problem?
Running central v1.1 on local server and upgrading to v1.2

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.

Good day

I am having the following ERROR when testing the API after updgrading to ODK Central 1.2 API via POSTMAN.....on Ubuntu 18.04.

{
"message": "Completely unhandled exception: column form_defs.name does not exist",
"details": {
"stack": [
"error: column form_defs.name does not exist",
"at Parser.parseErrorMessage (/usr/odk/node_modules/pg-protocol/dist/parser.js:278:15)",
"at Parser.handlePacket (/usr/odk/node_modules/pg-protocol/dist/parser.js:126:29)",
"at Parser.parse (/usr/odk/node_modules/pg-protocol/dist/parser.js:39:38)",
"at Socket. (/usr/odk/node_modules/pg-protocol/dist/index.js:10:42)",
"at Socket.emit (events.js:203:13)",
"at Socket.EventEmitter.emit (domain.js:494:23)",
"at addChunk (_stream_readable.js:294:12)",
"at readableAddChunk (_stream_readable.js:275:11)",
"at Socket.Readable.push (_stream_readable.js:210:10)",
"at TCP.onStreamRead (internal/stream_base_commons.js:166:17)"
]
}
}

Thanks,

What is the API call you are attempting?

This means that the database migrations did not complete during upgrade. We currently know of two reasons this could happen: the server ran out of memory during upgrade or the server had old form definitions uploaded before v1.1 with a formId with a .xlsx, .xls or .xml suffix.

How much RAM does your server have?

One relatively quick thing you could try is to do a docker-compose stop followed by a docker-compose up -d to rerun the migrations. Ideally you could watch memory usage while that happens.

2 Likes