LinuxForHealth / FHIR

The LinuxForHealth FHIR® Server and related projects
https://linuxforhealth.github.io/FHIR
Apache License 2.0
325 stars 157 forks source link

Failure acquiring connection for datasource #3287

Open howudodat opened 2 years ago

howudodat commented 2 years ago

After install, test the install with: curl -k -u 'fhiruser:change-password' 'https://192.168.1.10:9443/fhir-server/api/v4/$healthcheck' results in: "issue":[{"severity":"fatal","code":"exception","details":{"text":"FHIRPersistenceDBConnectException: Failure acquiring connection for datasource"}}]

Environment ubuntu 20.04 server, fhir 4.10.2

To Reproduce

Expected behavior a semi functional test server that doesn't depend on docker

Additional context The documentation is thorough, but it would be nice to include a quick start guide for those who dont want to use docker. It doesn't appear that the derby database is created during the install. at least that's what the stack trace seems to indicate

lmsurpre commented 2 years ago

It doesn't appear that the derby database is created during the install. at least that's what the stack trace seems to indicate

Yes, that is right. fhir-persistence-schema-4.10.2-cli.jar is the tool for deploying the schema and it can be used to create a derby database to get up and running for dev/test (not prod).

For getting started with development, we have the following wiki page which points at a script that will show how to execute the tool: https://github.com/IBM/FHIR/wiki/Setting-up-for-development#bootstrap-the-database

That said, I agree our "getting started" material is not as good for the non-docker case. We discussed as a team and we think the option that makes the most sense is to update our install script with a flag that could be passed for automatically creating the derby db.

lmsurpre commented 2 years ago

Currently our default derby datasource defaults to the wlp/usr/server/fhir-server/derby/fhirDB location, so thats where this new flag would create the db

howudodat commented 2 years ago

derby-bootstrap.sh is only available when built from source? not in the release packages? I cant seem to find it. I did run java -jar /root/fhir/fhir-server-dist/tools/fhir-persistence-schema-4.10.2-cli.jar

lmsurpre commented 2 years ago

correct, its just in the source. i didn't mean to imply you missed something that you shouldn't have, but just trying to get you some more info until such a time that we can add db bootstrapping to the install script.

I did run java -jar /root/fhir/fhir-server-dist/tools/fhir-persistence-schema-4.10.2-cli.jar

what was the exact command you ran? can you share the output of the log?

there are a lot of options for that tool, so I was trying to point you at a known-good example for bootstrapping a derby db.

if you think you ran the --update-schema command correctly, then you could check (or share) the server logs for the full exception stack trace.