Search code examples
postgresqlapache-age

How Do I Fix 'Metadata Load Error' in AGE Viewer?


When using npm start to start AGE Viewer, I get the following error in my terminal.

Error: Not connected
    at _callee4$ (/home/hallixon/age-viewer/backend/src/controllers/databaseController.js:64:19)
    at tryCatch (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:44:17)
    at Generator.<anonymous> (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:125:22)
    at Generator.next (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:69:21)
    at asyncGeneratorStep (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24)
    at _next (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9)
    at /home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/asyncToGenerator.js:27:7
    at new Promise (<anonymous>)
    at apply (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/asyncToGenerator.js:19:12)
    at getMetadata (/home/hallixon/age-viewer/backend/src/controllers/databaseController.js:66:6)
info: ::ffff:127.0.0.1 - - [05/Aug/2023:04:50:51 +0000] "POST /api/v1/db/meta HTTP/1.1" 500 51
 {"timestamp":"2023-08-05 05:50:51"}
Error: Not connected
    at _callee3$ (/home/hallixon/age-viewer/backend/src/controllers/databaseController.js:54:19)
    at tryCatch (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:44:17)
    at Generator.<anonymous> (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:125:22)
    at Generator.next (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:69:21)
    at asyncGeneratorStep (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24)
    at _next (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9)
    at /home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/asyncToGenerator.js:27:7
    at new Promise (<anonymous>)
    at apply (/home/hallixon/age-viewer/backend/node_modules/@babel/runtime/helpers/asyncToGenerator.js:19:12)
    at getStatus (/home/hallixon/age-viewer/backend/src/controllers/databaseController.js:56:6)
info: ::ffff:127.0.0.1 - - [05/Aug/2023:04:50:51 +0000] "GET /api/v1/db HTTP/1.1" 500 51
 {"timestamp":"2023-08-05 05:50:51"}
info: ::ffff:127.0.0.1 - - [05/Aug/2023:04:50:51 +0000] "GET /api/v1/miscellaneous HTTP/1.1" 304 -
 {"timestamp":"2023-08-05 05:50:51"}

Still, AGE Viewer runs just fine on port 3000.

Now, I'm trying to connect to my database on Viewer, and I get the error 'Metadata Load Error'. Error message shown in AGE Viewer

I also noticed that information about my graphs, nodes, and edges are missing. Clicking the dropdown to select Current Graph does not show any of my graphs.

I expected that information about the existing graphs, nodes, and edges in the database were displayed, and that there were no errors on connection to my database.


Solution

  • The error may be happening because you are using pg version > 12. In that case there should be a .version sql file in the backend folder of age-viewer. Because there's a code to fetch the sql version and match it with the .sql file, without which metadata endpoint will not give proper response, and so graph will also not load.