Skip to content

FINERACT-1913-Initializing-db-connection-pool-at-startup#3120

Merged
galovics merged 1 commit intoapache:developfrom
ruchiD:FINERACT-1913-Initializing-db-connection-pool-at-startup
Apr 15, 2023
Merged

FINERACT-1913-Initializing-db-connection-pool-at-startup#3120
galovics merged 1 commit intoapache:developfrom
ruchiD:FINERACT-1913-Initializing-db-connection-pool-at-startup

Conversation

@ruchiD
Copy link
Copy Markdown
Contributor

@ruchiD ruchiD commented Apr 13, 2023

Description

Changes to initialize database connection pool at startup for tenants.
Describe the changes made and why they were made.

Ignore if these details are present on the associated Apache Fineract JIRA ticket.

Checklist

Please make sure these boxes are checked before submitting your pull request - thanks!

  • Write the commit message as per https://github.com/apache/fineract/#pull-requests

  • Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.

  • Create/update unit or integration tests for verifying the changes made.

  • Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.

  • Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes

  • Submission is not a "code dump". (Large changes can be made "in repository" via a branch. Ask on the developer mailing list for guidance, if required.)

FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to catch it?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's reasonable to catch it since the initialization process failing is not fatal to the application itself. One thing I'd do however is to pass the exception itself in the log message, not the exception message.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not thread-safe. The application events by default are processed synchronously by the event listeners but Fineract has a different strategy configured, i.e. it's using a custom task executor to execute the event listeners (see SpringConfig class in Fineract, applicationEventMulticaster).

Therefore the map operations are needed to be made thread-safe.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's reasonable to catch it since the initialization process failing is not fatal to the application itself. One thing I'd do however is to pass the exception itself in the log message, not the exception message.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I wrote above, not thread-safe.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

@adamsaghy
Copy link
Copy Markdown
Contributor

@ruchiD it is failing on spotbugs check

@ruchiD ruchiD force-pushed the FINERACT-1913-Initializing-db-connection-pool-at-startup branch from e7e614b to de11438 Compare April 14, 2023 04:31
@ruchiD ruchiD force-pushed the FINERACT-1913-Initializing-db-connection-pool-at-startup branch from de11438 to 8891167 Compare April 14, 2023 14:36
@galovics galovics merged commit c18e506 into apache:develop Apr 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants