Multiple modules failed to start after OpenMRS installation

I have check several of the and couldn’t figure out which one causes the failure. Let me continue checking.

The best place to check for these kinds of issues are in the log, as there is likely some information on what failed there. However, in addition to the modules that report errors starting, I see modules that just didn’t start at all. You might start with looking at the error reported for “ID Generation”. My guess would be that you either don’t have the webservices.rest module or that it failed to start and that that explains most of the failures.

1 Like

To add on @ibacher and @injiri try clicking on the exact error pop up and you will able to see the cause of failure

This is error causing modules fail to start. Now how do I fix this?

I think we shall go with @ibachers suggestion of debugging error per error , am still not figuring out where you get error because i can run perfectly on both qa-server and any standalone . if you have time we can go to uberconference and talk about that issue

I found someone who encounter not similar error but almost similar and his solution was downgrading mysql from 5.7 to 5.6.45. Unable to update data model using liquibase.xml. Module: Metadata Mapping Current problem is on Reference Application Also:Updated . I have mysql 5.6.50 should I downgrade it?

i have tried @ibacher’s suggestion but other modules did not start because they depend on other modules but the ones which do not depend on any other module gives the above error “Unable to update data model using liquibase.xml”. What is ubercoference?

https://www.uberconference.com/openmrs you can find me there we look into that issue

Hey @jerome24 I would suggest you to use the OpenMRS SDK with docker running the MySQL version 5.6 or 5.7 It will resolve all the MySQL related issues atleast.

@Jerome24 Are you able to post the server logs from your server instance? I don’t think there’s any reason to downgrade from one version of 5.6 to another; there are some changes to the default configuration for MySQL 5.7 vs 5.6, which can be adjusted in the mysql.cnf file, but downgrading that is sometimes easier; on the other hand, the error messages displayed in the UI aren’t really helpful on their own.

@ibacher I have already try downgrading mysql 5.6.50 to mysql 5.6.45 and it also failed. I can’t seem to locate catalina.out on windows, I can only locate catalina.2020-12-11 and i think it doesn’t show much. https://pastebin.com/ttGNXTSP

i have some time tomorrow at around 3pm EAT,we can pick up on call for this and try unblocking you

So the relevant log file here is the openmrs.log file. This is most likely to be found in %USERPROFILE%\Application Data\OpenMRS. On most Windows installs, %USERPROFILE% is C:\<your windows user name>, so the full path would be C:\<your windows user name>\Application Data\OpenMRS.

1 Like

Ok thanks found it. https://pastebin.com/inR12y6c

@herbert24 Ok we will do that.

Thanks! That’s much clearer. So the first error I see there is this:

Error executing SQL ALTER TABLE reporting_report_designDROP COLUMNreport_definition_id: Cannot drop index 'report_definition_id for reporting_report_design': needed in a foreign key constraint:

Not entirely helpful, but at least this part is explainable. The reporting table had a field called report_definition_id which was swapped for using a field called report_definition_uuid, do in the specific change that we’re trying to run, the liquibase file tries to delete the report_definition_id field (having already created and populated the report_definition_uuid.

The needed in a foreign key constraint error indicates that you have a foreign key in some table somewhere that’s still trying to reference that column. So to resolve this, let’s try to figure out what is actually referencing that column.

To do this, you need to connect to the MySQL database you are using for which you can use any tool from the command line or a GUI like MySQL Workbench. The SQL command you want to run is this:

select
    CONSTRAINT_NAME,
    TABLE_NAME,
    COLUMN_NAME
from information_schema.KEY_COLUMN_USAGE
where REFERENCED_TABLE_SCHEMA = 'openmrs' and
      REFERENCED_TABLE_NAME = 'reporting_report_design' and
      REFERENCED_COLUMN_NAME = 'report_definition_id';

This should give a list of foreign key constraints that reference the report_definition_id, which should help determine how to get the reporting module working.

1 Like

From sql I get an empty set. select CONSTRAINT_NAME, TABLE_NAME, COLUMN_NAME from information_schema.KEY_COLUMN_USAGE where REFERENCED_TABLE_SCHEMA=‘openmrs’ and REFERENCED_TABLE_NAME=‘reporting_report_design’ and REFERENCED_COLUMN_NAME=‘report_definition_id’; Empty set (1.64 sec)

1 Like

If you change the query to the below does it produce any results:

select
    CONSTRAINT_NAME,
    TABLE_NAME,
    COLUMN_NAME
from information_schema.KEY_COLUMN_USAGE
where REFERENCED_TABLE_NAME = 'reporting_report_design' and
      REFERENCED_COLUMN_NAME = 'report_definition_id';

This sql also return empty set.

select CONSTRAINT_NAME, TABLE_NAME, COLUMN_NAME from information_schema.KEY_COLUMN_USAGE where REFERENCED_TABLE_NAME = ‘reporting_report_design’ and REFERENCED_COLUMN_NAME = ‘report_definition_id’;

Alright, let’s try not beating around the bush. Can you just try to execute this SQL: