[jira] [Commented] (FINERACT-1453) Renovatebot does not seem to be working anymore

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466636#comment-17466636
 ] 

Michael Vorburger commented on FINERACT-1453:
-

Hm. So it took me a moment to re-read FINERACT-961 and FINERACT-962, and 
remember :P that the Renovate bot and Dependabot were not the same thing at 
all; I was all confused what was which...

https://github.com/apache/fineract/blob/develop/renovate.json is still there.

https://app.renovatebot.com/dashboard#github/apache/fineract which I had linked 
to in FINERACT-962 but not looked at in 1.5 years (because "it just worked") 
does still let me login - but it's "empty" (for me).

https://github.com/apps/forking-renovate is another link I found in 
FINERACT-962; I've just attempted to click through there to "Update Forking 
Renovate's repository access" hoping that might magically do the trick, but 
_"This action must be performed by an organization owner."_ [~ptuomola]  I 
think the it's possible that some change at ASF Infra might have broken 
Renovate Bot for Apache Fineract... [~cml] ([~clambert] ?) remember 
INFRA-20365, could something related to that have changed in the last few 
months?

[~rarkins] are you still involved with Renovate, since the acquisition (BTW 
congratulations, very very happy for you!) by Whitesource, and would possibly 
be willing to have a quick look to help us here? (Apache Fineract was that 
"humanitarian open source project to 'end poverty one line of code at a 
time'".) This is for https://github.com/apache/fineract, NOT 
https://github.com/openMF/fineract. (I'm only saying this because on the left 
hand menu on the Dashboard I see a lot of repos from openMF, for some reason.)

[~ptuomola] if we cannot get Renovate Bot to work again, I don't know if now, 
1.5 years after my initial investigations in FINERACT-961 and FINERACT-962, 
switching to Dependabot may be an option. GitHub acquired that, and it's now 
"native"; in theory someone at ASF Infra with access to the "Settings" tab of 
https://github.com/apache/fineract should be able to enable that with 1 click.

[~awasum] FYI.

> Renovatebot does not seem to be working anymore
> ---
>
> Key: FINERACT-1453
> URL: https://issues.apache.org/jira/browse/FINERACT-1453
> Project: Apache Fineract
>  Issue Type: Bug
>Reporter: Petri Tuomola
>Priority: Major
>
> We haven't had any pull requests from RenovateBot since early November, and 
> in the mean time there are definitely new versions of many of the libraries. 
> Perhaps something has changed in the config that has stopped this from 
> working?



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (FINERACT-1457) Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466610#comment-17466610
 ] 

Michael Vorburger commented on FINERACT-1457:
-

Ah! That is good to know. Yes then we definitely should not revert ;) the 
Flyway upgrade.

It's all good for https://www.fineract.dev meanwhile, so I support staying as 
is.

Just resolve this issue (as "WAI", not Fixed) after having fixed the Kubernetes 
YAML.

> Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade
> 
>
> Key: FINERACT-1457
> URL: https://issues.apache.org/jira/browse/FINERACT-1457
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Database
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Assignee: Petri Tuomola
>Priority: Critical
> Fix For: 1.6.0
>
>
> https://www.fineract.dev is failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8:
> {noformat}
> 2021-12-29 18:54:47.772 ERROR 10 --- [   main] 
> o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. 
> Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. 
> Message: Error creating bean with name 'securityConfig': Unsatisfied 
> dependency expressed through field 'userDetailsService'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#4ab90d01' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#4ab90d01': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> (...)
> Caused by: 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> at 
> org.flywaydb.core.internal.database.base.Database.ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition(Database.java:126)
> at 
> org.flywaydb.core.internal.database.mysql.MySQLDatabase.ensureSupported(MySQLDatabase.java:252)
> at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:188)
> at org.flywaydb.core.Flyway.repair(Flyway.java:335)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeTenantDB(TenantDatabaseUpgradeService.java:118)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeAllTenants(TenantDatabaseUpgradeService.java:63)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
> ... 108 common frames omitted{noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (FINERACT-1457) Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade

2021-12-29 Thread Petri Tuomola (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Petri Tuomola reassigned FINERACT-1457:
---

Assignee: Petri Tuomola

> Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade
> 
>
> Key: FINERACT-1457
> URL: https://issues.apache.org/jira/browse/FINERACT-1457
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Database
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Assignee: Petri Tuomola
>Priority: Critical
> Fix For: 1.6.0
>
>
> https://www.fineract.dev is failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8:
> {noformat}
> 2021-12-29 18:54:47.772 ERROR 10 --- [   main] 
> o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. 
> Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. 
> Message: Error creating bean with name 'securityConfig': Unsatisfied 
> dependency expressed through field 'userDetailsService'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#4ab90d01' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#4ab90d01': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> (...)
> Caused by: 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> at 
> org.flywaydb.core.internal.database.base.Database.ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition(Database.java:126)
> at 
> org.flywaydb.core.internal.database.mysql.MySQLDatabase.ensureSupported(MySQLDatabase.java:252)
> at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:188)
> at org.flywaydb.core.Flyway.repair(Flyway.java:335)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeTenantDB(TenantDatabaseUpgradeService.java:118)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeAllTenants(TenantDatabaseUpgradeService.java:63)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
> ... 108 common frames omitted{noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (FINERACT-1457) Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade

2021-12-29 Thread Petri Tuomola (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466608#comment-17466608
 ] 

Petri Tuomola commented on FINERACT-1457:
-

I'll fix the Kubernetes YAML. 

The problem with sticking to Flyway 5.x is that it does not support MariaDB 
10.6. So then we would have the problem the other way around: it would not be 
possible to use new/up-to-date versions of the database, and everyone would be 
forced to use MySQL 5.7 or an equally old version of MariaDB. So we would be 
stuck on both out of date version of database as well as Flyway, and no way to 
remain up-to-date.

In my view the right solution would be to ask people to upgrade their database 
from MySQL 5.7 to MariaDB 10.6 after which the latest version of Fineract 
should just work. The upgrade from MySQL to MariaDB should hopefully be an easy 
process: [https://mariadb.com/kb/en/upgrading-from-mysql-to-mariadb/]

 

> Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade
> 
>
> Key: FINERACT-1457
> URL: https://issues.apache.org/jira/browse/FINERACT-1457
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Database
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Priority: Critical
> Fix For: 1.6.0
>
>
> https://www.fineract.dev is failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8:
> {noformat}
> 2021-12-29 18:54:47.772 ERROR 10 --- [   main] 
> o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. 
> Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. 
> Message: Error creating bean with name 'securityConfig': Unsatisfied 
> dependency expressed through field 'userDetailsService'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#4ab90d01' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#4ab90d01': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> (...)
> Caused by: 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> at 
> org.flywaydb.core.internal.database.base.Database.ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition(Database.java:126)
> at 
> org.flywaydb.core.internal.database.mysql.MySQLDatabase.ensureSupported(MySQLDatabase.java:252)
> at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:188)
> at org.flywaydb.core.Flyway.repair(Flyway.java:335)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeTenantDB(TenantDatabaseUpgradeService.java:118)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeAllTenants(TenantDatabaseUpgradeService.java:63)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotatio

[jira] [Commented] (FINERACT-932) Parent Issue for Error Logs seeing during "normal" usage (e.g. on fineract.dev)

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466606#comment-17466606
 ] 

Michael Vorburger commented on FINERACT-932:


see https://github.com/vorburger/www.fineract.dev/issues/9

> Parent Issue for Error Logs seeing during "normal" usage (e.g. on 
> fineract.dev)
> ---
>
> Key: FINERACT-932
> URL: https://issues.apache.org/jira/browse/FINERACT-932
> Project: Apache Fineract
>  Issue Type: Improvement
>Affects Versions: 1.4.0
>Reporter: Michael Vorburger
>Assignee: Michael Vorburger
>Priority: Blocker
>
> I'm seeing a number of exceptions in the logs of 
> [https://www.fineract.dev|https://www.fineract.dev/], and at least some if 
> not most of them, to me, seem like things that probably should not be logged 
> as errors.
> IMHO, a log.error() should only be used to indicate something "broken" (e.g. 
> can't connect to a database), but not, typically, for something like a 
> missing field problem in an incoming JSON? That's "normal", and already 
> signaled to th e client through an expected response. An "operator" can't 
> typically "do something" about those kinds of errors.
> We can also think of some special cases, e.g. the log.error we currently for 
> FINERACT-726, which may be useful to help people more easily see that 
> widespread problem, during transitioning. But perhaps log warn or even info 
> instead of error would be more appropriate than error for such things? 
> Perhaps what I'm outlining here should be documented on the README in a 
> (succinct) "Log Policy" kind of section?
> I'll create dedicated linked issues for each such exception I'm seeing, for 
> analysis by others interested.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Comment Edited] (FINERACT-1452) Flag to disable changing of password of an account

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466603#comment-17466603
 ] 

Michael Vorburger edited comment on FINERACT-1452 at 12/29/21, 9:51 PM:


Fixed by merge of [https://github.com/apache/fineract/pull/2001].

I'll (shortly) "activate" this for https://www.fineract.dev, watch 
[https://github.com/vorburger/www.fineract.dev/issues/5] (and  the 
[https://github.com/vorburger/www.fineract.dev/issues/8] pre-requisite).


was (Author: vorburger):
Fixed by merge of [https://github.com/apache/fineract/pull/2001.]

I'll (shortly) "activate" this for https://www.fineract.dev, watch 
[https://github.com/vorburger/www.fineract.dev/issues/5] (and  the 
[https://github.com/vorburger/www.fineract.dev/issues/8] pre-requisite).

> Flag to disable changing of password of an account
> --
>
> Key: FINERACT-1452
> URL: https://issues.apache.org/jira/browse/FINERACT-1452
> Project: Apache Fineract
>  Issue Type: Bug
>Reporter: Petri Tuomola
>Assignee: Petri Tuomola
>Priority: Major
> Fix For: 1.6.0
>
>
> On fineract.dev, people keep changing the password of the mifos account and 
> hence making the demo server unusable. We need to implement a simple flag 
> that, when set, makes it impossible to change a particular user's password. 
> This should of course used only for training / demo instances, not in real 
> world use. Also this flag can only be set directly in the database: making it 
> editable through API / user interface would make the whole flag meaningless. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (FINERACT-1452) Flag to disable changing of password of an account

2021-12-29 Thread Michael Vorburger (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Vorburger resolved FINERACT-1452.
-
Resolution: Fixed

Fixed by merge of [https://github.com/apache/fineract/pull/2001.]

I'll (shortly) "activate" this for https://www.fineract.dev, watch 
[https://github.com/vorburger/www.fineract.dev/issues/5] (and  the 
[https://github.com/vorburger/www.fineract.dev/issues/8] pre-requisite).

> Flag to disable changing of password of an account
> --
>
> Key: FINERACT-1452
> URL: https://issues.apache.org/jira/browse/FINERACT-1452
> Project: Apache Fineract
>  Issue Type: Bug
>Reporter: Petri Tuomola
>Assignee: Petri Tuomola
>Priority: Major
> Fix For: 1.6.0
>
>
> On fineract.dev, people keep changing the password of the mifos account and 
> hence making the demo server unusable. We need to implement a simple flag 
> that, when set, makes it impossible to change a particular user's password. 
> This should of course used only for training / demo instances, not in real 
> world use. Also this flag can only be set directly in the database: making it 
> editable through API / user interface would make the whole flag meaningless. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Comment Edited] (FINERACT-1457) Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466576#comment-17466576
 ] 

Michael Vorburger edited comment on FINERACT-1457 at 12/29/21, 9:32 PM:


This was caused by the upgrade of org.flywaydb:flyway-core from 7.15.0 to 8.1.0 
in 
https://github.com/apache/fineract/commit/03a8a9858d1c3db703675ebaeb0828863d8b35de
 for https://github.com/apache/fineract/pull/1990 for FINERACT-982.

https://flywaydb.org/documentation/learnmore/releaseNotes under Flyway 
8.0.0-beta1 (2021-09-14) says _"Database compatibility: Deprecate Community 
support for database versions older than 5 years"_ - the exception error 
message above is caused by that.

If we accept that Fineract does not support e.g. MySQL 5.7 anymore, then we 
could simply document this somewhere, and close this as "Working as Intended" 
(WAI). If this is a problem, we shuld revert Flyway.

On https://www.fineract.dev, I've been using Google Cloud SQL MySQL DB version 
5.7. I probably can and will try to upgrade that to 8.0 to work around this.

PS: FINERACT-1458 created about catching database migration issues in Pull 
Requests.


was (Author: vorburger):
This was caused by the upgrade of org.flywaydb:flyway-core from 7.15.0 to 8.1.0 
in 
https://github.com/apache/fineract/commit/03a8a9858d1c3db703675ebaeb0828863d8b35de
 for https://github.com/apache/fineract/pull/1990 for FINERACT-982.

https://flywaydb.org/documentation/learnmore/releaseNotes under Flyway 
8.0.0-beta1 (2021-09-14) says Database compatibility: Deprecate Community 
support for database versions older than 5 years - the exception error message 
above is caused by that.

If we accept that Fineract does not support e.g. MySQL 5.7 anymore, then we 
could simply document this somewhere, and close this as "Working as Intended" 
(WAI). If this is a problem, we shuld revert Flyway.

On https://www.fineract.dev, I've been using Google Cloud SQL MySQL DB version 
5.7. I probably can and will try to upgrade that to 8.0 to work around this.

PS: FINERACT-1458 created about catching database migration issues in Pull 
Requests.

> Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade
> 
>
> Key: FINERACT-1457
> URL: https://issues.apache.org/jira/browse/FINERACT-1457
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Database
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Priority: Critical
> Fix For: 1.6.0
>
>
> https://www.fineract.dev is failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8:
> {noformat}
> 2021-12-29 18:54:47.772 ERROR 10 --- [   main] 
> o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. 
> Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. 
> Message: Error creating bean with name 'securityConfig': Unsatisfied 
> dependency expressed through field 'userDetailsService'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#4ab90d01' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#4ab90d01': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> (...)
> Caused by: 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> at 
> org.flywaydb.core.internal.database.base.Database.ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition

[jira] [Commented] (FINERACT-1459) Data Migration issue (Subquery returns more than 1 row) in V370__message_gateway_hook_template.sql

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466600#comment-17466600
 ] 

Michael Vorburger commented on FINERACT-1459:
-

I've attempted to debug this issue:

_Subquery returns more than 1 row_ seems to mean that {{select id from 
m_hook_templates  where name = 'Message Gateway'}} returns more than 1 row - 
except it does not, on that database.

That (entire) statement actually does work when executed manually. But my DB in 
question actually already had that row, so I'm not sure why Flyway thinks it 
needs to re-run this.

But https://github.com/apache/fineract/search?q=m_hook_templates shows no 
obvious duplicates or anything like that.

I'm giving up on this, and pursuing the https://www.fineract.dev by simply 
entirely resetting the database.

This may or may not be a fluke issue on the demo server, only. I'll keep this 
issue open as a Minor - just in case others hit this as well, and can 
investigate further. (I won't be further debugging this myself.)

> Data Migration issue (Subquery returns more than 1 row) in 
> V370__message_gateway_hook_template.sql
> --
>
> Key: FINERACT-1459
> URL: https://issues.apache.org/jira/browse/FINERACT-1459
> Project: Apache Fineract
>  Issue Type: Bug
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Priority: Minor
>
> https://www.fineract.dev was failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8, due to the following:
> {noformat}Caused by: 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#3636f2a7' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#3636f2a7': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is org.flywaydb.core.api.FlywayException: Migration 
> V370__message_gateway_hook_template.sql failed
> 
> SQL State  : 21000
> Error Code : 1242
> Message: (conn=492) Subquery returns more than 1 row
> Location   : sql/migrations/core_db/V370__message_gateway_hook_template.sql 
> (/app/sql/migrations/core_db/V370__message_gateway_hook_template.sql)
> Line   : 25
> Statement  : INSERT INTO m_hook_schema
> (hook_template_id, field_type, field_name, placeholder, optional)
> VALUES( (select id from m_hook_templates  where name = 'Message Gateway'), 
> 'string', 'SMS Provider Id', NULL, 0)
> ; for Tenant DB URL: jdbc:mariadb://10.103.176.16:3306/fineract_default, 
> username: root
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659)
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
> at 
> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
> at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBe

[jira] [Updated] (FINERACT-1459) Data Migration issue (Subquery returns more than 1 row) in V370__message_gateway_hook_template.sql

2021-12-29 Thread Michael Vorburger (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Vorburger updated FINERACT-1459:

Summary: Data Migration issue (Subquery returns more than 1 row) in 
V370__message_gateway_hook_template.sql  (was: Data Migration issue (Subquery 
returns more than 1 row) in )

> Data Migration issue (Subquery returns more than 1 row) in 
> V370__message_gateway_hook_template.sql
> --
>
> Key: FINERACT-1459
> URL: https://issues.apache.org/jira/browse/FINERACT-1459
> Project: Apache Fineract
>  Issue Type: Bug
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Priority: Minor
>
> https://www.fineract.dev was failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8, due to the following:
> {noformat}Caused by: 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#3636f2a7' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#3636f2a7': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is org.flywaydb.core.api.FlywayException: Migration 
> V370__message_gateway_hook_template.sql failed
> 
> SQL State  : 21000
> Error Code : 1242
> Message: (conn=492) Subquery returns more than 1 row
> Location   : sql/migrations/core_db/V370__message_gateway_hook_template.sql 
> (/app/sql/migrations/core_db/V370__message_gateway_hook_template.sql)
> Line   : 25
> Statement  : INSERT INTO m_hook_schema
> (hook_template_id, field_type, field_name, placeholder, optional)
> VALUES( (select id from m_hook_templates  where name = 'Message Gateway'), 
> 'string', 'SMS Provider Id', NULL, 0)
> ; for Tenant DB URL: jdbc:mariadb://10.103.176.16:3306/fineract_default, 
> username: root
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659)
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
> at 
> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
> at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
> at 
> org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
> at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380)
> at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300)
> at 
> org.springframework.beans.factory.annotation.A

[jira] [Updated] (FINERACT-1459) Data Migration issue (Subquery returns more than 1 row) in

2021-12-29 Thread Michael Vorburger (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Vorburger updated FINERACT-1459:

Summary: Data Migration issue (Subquery returns more than 1 row) in   (was: 
Data Migration issue in )

> Data Migration issue (Subquery returns more than 1 row) in 
> ---
>
> Key: FINERACT-1459
> URL: https://issues.apache.org/jira/browse/FINERACT-1459
> Project: Apache Fineract
>  Issue Type: Bug
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Priority: Minor
>
> https://www.fineract.dev was failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8, due to the following:
> {noformat}Caused by: 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#3636f2a7' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#3636f2a7': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is org.flywaydb.core.api.FlywayException: Migration 
> V370__message_gateway_hook_template.sql failed
> 
> SQL State  : 21000
> Error Code : 1242
> Message: (conn=492) Subquery returns more than 1 row
> Location   : sql/migrations/core_db/V370__message_gateway_hook_template.sql 
> (/app/sql/migrations/core_db/V370__message_gateway_hook_template.sql)
> Line   : 25
> Statement  : INSERT INTO m_hook_schema
> (hook_template_id, field_type, field_name, placeholder, optional)
> VALUES( (select id from m_hook_templates  where name = 'Message Gateway'), 
> 'string', 'SMS Provider Id', NULL, 0)
> ; for Tenant DB URL: jdbc:mariadb://10.103.176.16:3306/fineract_default, 
> username: root
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659)
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
> at 
> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
> at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
> at 
> org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
> at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380)
> at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300)
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)
> ... 62 common frames om

[jira] [Updated] (FINERACT-1459) Data Migration issue in

2021-12-29 Thread Michael Vorburger (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Vorburger updated FINERACT-1459:

Summary: Data Migration issue in   (was: Unclear Data Migration issue)

> Data Migration issue in 
> 
>
> Key: FINERACT-1459
> URL: https://issues.apache.org/jira/browse/FINERACT-1459
> Project: Apache Fineract
>  Issue Type: Bug
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Priority: Minor
>
> https://www.fineract.dev was failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8, due to the following:
> {noformat}Caused by: 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#3636f2a7' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#3636f2a7': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is org.flywaydb.core.api.FlywayException: Migration 
> V370__message_gateway_hook_template.sql failed
> 
> SQL State  : 21000
> Error Code : 1242
> Message: (conn=492) Subquery returns more than 1 row
> Location   : sql/migrations/core_db/V370__message_gateway_hook_template.sql 
> (/app/sql/migrations/core_db/V370__message_gateway_hook_template.sql)
> Line   : 25
> Statement  : INSERT INTO m_hook_schema
> (hook_template_id, field_type, field_name, placeholder, optional)
> VALUES( (select id from m_hook_templates  where name = 'Message Gateway'), 
> 'string', 'SMS Provider Id', NULL, 0)
> ; for Tenant DB URL: jdbc:mariadb://10.103.176.16:3306/fineract_default, 
> username: root
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659)
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
> at 
> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
> at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
> at 
> org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
> at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380)
> at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300)
> at 
> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)
> ... 62 common frames omitted
> Caused by: org.springframework.beans.factory.BeanCreationException: Error 
> creating bean wit

[jira] [Created] (FINERACT-1459) Unclear Data Migration issue

2021-12-29 Thread Michael Vorburger (Jira)
Michael Vorburger created FINERACT-1459:
---

 Summary: Unclear Data Migration issue
 Key: FINERACT-1459
 URL: https://issues.apache.org/jira/browse/FINERACT-1459
 Project: Apache Fineract
  Issue Type: Bug
Affects Versions: 1.6.0
Reporter: Michael Vorburger


https://www.fineract.dev was failing to upgrade to the latest bleeding edge 
Fineract code from master branch, see 
https://github.com/vorburger/www.fineract.dev/issues/8, due to the following:

{noformat}Caused by: 
org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
creating bean with name 'userDetailsService': Unsatisfied dependency expressed 
through field 'platformUserRepository'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'appUserRepository' defined in 
org.apache.fineract.useradministration.domain.AppUserRepository defined in 
@EnableJpaRepositories declared on PersistenceConfig: Cannot create inner bean 
'(inner bean)#3636f2a7' of type 
[org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
property 'entityManager'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)#3636f2a7': Cannot resolve reference to bean 
'entityManagerFactory' while setting constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'tenantDatabaseUpgradeService': Invocation of init method failed; 
nested exception is org.flywaydb.core.api.FlywayException: Migration 
V370__message_gateway_hook_template.sql failed

SQL State  : 21000
Error Code : 1242
Message: (conn=492) Subquery returns more than 1 row
Location   : sql/migrations/core_db/V370__message_gateway_hook_template.sql 
(/app/sql/migrations/core_db/V370__message_gateway_hook_template.sql)
Line   : 25
Statement  : INSERT INTO m_hook_schema
(hook_template_id, field_type, field_name, placeholder, optional)
VALUES( (select id from m_hook_templates  where name = 'Message Gateway'), 
'string', 'SMS Provider Id', NULL, 0)
; for Tenant DB URL: jdbc:mariadb://10.103.176.16:3306/fineract_default, 
username: root
at 
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659)
at 
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
at 
org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
at 
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at 
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at 
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380)
at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300)
at 
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)
... 62 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'appUserRepository' defined in 
org.apache.fineract.useradministration.domain.AppUserRepository defined in 
@EnableJpaRepositories declared on PersistenceConfig: Cannot create inner bean 
'(inner bean)#3636f2a7' of type 
[org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
property 'entityManager'; nested exception is 
org.springframework.beans

[jira] [Assigned] (FINERACT-1457) Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade

2021-12-29 Thread Michael Vorburger (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Vorburger reassigned FINERACT-1457:
---

Assignee: (was: Michael Vorburger)

> Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade
> 
>
> Key: FINERACT-1457
> URL: https://issues.apache.org/jira/browse/FINERACT-1457
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Database
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Priority: Critical
> Fix For: 1.6.0
>
>
> https://www.fineract.dev is failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8:
> {noformat}
> 2021-12-29 18:54:47.772 ERROR 10 --- [   main] 
> o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. 
> Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. 
> Message: Error creating bean with name 'securityConfig': Unsatisfied 
> dependency expressed through field 'userDetailsService'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#4ab90d01' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#4ab90d01': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> (...)
> Caused by: 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> at 
> org.flywaydb.core.internal.database.base.Database.ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition(Database.java:126)
> at 
> org.flywaydb.core.internal.database.mysql.MySQLDatabase.ensureSupported(MySQLDatabase.java:252)
> at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:188)
> at org.flywaydb.core.Flyway.repair(Flyway.java:335)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeTenantDB(TenantDatabaseUpgradeService.java:118)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeAllTenants(TenantDatabaseUpgradeService.java:63)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
> ... 108 common frames omitted{noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (FINERACT-1457) Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466583#comment-17466583
 ] 

Michael Vorburger commented on FINERACT-1457:
-

I've just noticed that https://github.com/apache/fineract/pull/1990 neglected 
to update the image: mysql:5.7 in 
https://github.com/apache/fineract/blob/94a795dad4a3199e3c479143f2ff02e5e204b40c/kubernetes/fineractmysql-deployment.yml,
 so the Kubernetes YAMLs don't work anymore. Perhaps someone would like to fix 
this? (I'm un-assigning this issue from myself, to clarify that I'm not 
intending to work further on this; my current primary goal is only to get 
https://www.fineract.dev working again with the latest bleeding edge code.)

> Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade
> 
>
> Key: FINERACT-1457
> URL: https://issues.apache.org/jira/browse/FINERACT-1457
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Database
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Assignee: Michael Vorburger
>Priority: Critical
> Fix For: 1.6.0
>
>
> https://www.fineract.dev is failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8:
> {noformat}
> 2021-12-29 18:54:47.772 ERROR 10 --- [   main] 
> o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. 
> Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. 
> Message: Error creating bean with name 'securityConfig': Unsatisfied 
> dependency expressed through field 'userDetailsService'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#4ab90d01' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#4ab90d01': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> (...)
> Caused by: 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> at 
> org.flywaydb.core.internal.database.base.Database.ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition(Database.java:126)
> at 
> org.flywaydb.core.internal.database.mysql.MySQLDatabase.ensureSupported(MySQLDatabase.java:252)
> at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:188)
> at org.flywaydb.core.Flyway.repair(Flyway.java:335)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeTenantDB(TenantDatabaseUpgradeService.java:118)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeAllTenants(TenantDatabaseUpgradeService.java:63)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
> at 
> org.springframework.beans.factory.annotation.I

[jira] [Commented] (FINERACT-1457) Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466581#comment-17466581
 ] 

Michael Vorburger commented on FINERACT-1457:
-

[~ptuomola] and [~victorromero] and [~francisguchie] and [~awasum] FYI.

> Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade
> 
>
> Key: FINERACT-1457
> URL: https://issues.apache.org/jira/browse/FINERACT-1457
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Database
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Assignee: Michael Vorburger
>Priority: Critical
> Fix For: 1.6.0
>
>
> https://www.fineract.dev is failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8:
> {noformat}
> 2021-12-29 18:54:47.772 ERROR 10 --- [   main] 
> o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. 
> Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. 
> Message: Error creating bean with name 'securityConfig': Unsatisfied 
> dependency expressed through field 'userDetailsService'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#4ab90d01' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#4ab90d01': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> (...)
> Caused by: 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> at 
> org.flywaydb.core.internal.database.base.Database.ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition(Database.java:126)
> at 
> org.flywaydb.core.internal.database.mysql.MySQLDatabase.ensureSupported(MySQLDatabase.java:252)
> at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:188)
> at org.flywaydb.core.Flyway.repair(Flyway.java:335)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeTenantDB(TenantDatabaseUpgradeService.java:118)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeAllTenants(TenantDatabaseUpgradeService.java:63)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
> at 
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
> ... 108 common frames omitted{noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (FINERACT-1172) Upgrade Flyway from 6.5.7 -> 7.0.0 (latest)

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466579#comment-17466579
 ] 

Michael Vorburger commented on FINERACT-1172:
-

FTR: We've moved onwards from Flyway v7 to v8 as part of FINERACT-982 (and that 
caused FINERACT-1457).

> Upgrade Flyway from 6.5.7 -> 7.0.0 (latest)
> ---
>
> Key: FINERACT-1172
> URL: https://issues.apache.org/jira/browse/FINERACT-1172
> Project: Apache Fineract
>  Issue Type: Bug
>Reporter: Michael Vorburger
>Assignee: Michael Vorburger
>Priority: Major
> Fix For: 1.5.0
>
>
> Renovate Bot proposed upgrading Flyway from 6.5.7 -> 7.0.0 (latest) in 
> [https://github.com/apache/fineract/pull/1355], but that didn't quite work 
> automatically... [~ptuomola] discussed why on that PR, and I just dug in a 
> little more to understand exactly why, and will try to fix it with a 
> follow-up manual PR.
> We can use this issue to track other Flyway 7 upgrade related matters (and 
> have release notes for it).



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (FINERACT-980) bootRun broken due to FlywayDbUpgradeRequiredException: MySQL upgrade required: MySQL 0.1 is outdated and no longer supported by Flyway. Flyway currently supports MyS

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466578#comment-17466578
 ] 

Michael Vorburger commented on FINERACT-980:


FINERACT-1457 has an issue that has a similar error message to this one (but is 
due to something unrelated to this issue).

> bootRun broken due to FlywayDbUpgradeRequiredException: MySQL upgrade 
> required: MySQL 0.1 is outdated and no longer supported by Flyway. Flyway 
> currently supports MySQL 5.1 and newer.
> ---
>
> Key: FINERACT-980
> URL: https://issues.apache.org/jira/browse/FINERACT-980
> Project: Apache Fineract
>  Issue Type: Bug
>Affects Versions: 1.4.0
>Reporter: Michael Vorburger
>Assignee: Michael Vorburger
>Priority: Blocker
> Fix For: 1.6.0
>
>
> I'just pulled the latest develop and upon running {{./gradlew bootRun}} hit 
> this:
> {noformat}10:46:06.914 [main] INFO  
> o.s.b.a.l.ConditionEvaluationReportLoggingListener - 
> Error starting ApplicationContext. To display the conditions report re-run 
> your application with 'debug' enabled.
> 10:46:06.919 [main] ERROR o.s.boot.SpringApplication - Application run failed
> org.springframework.context.ApplicationContextException: Unable to start web 
> server; nested exception is 
> org.springframework.boot.web.server.WebServerException: Unable to start 
> embedded Tomcat
> at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:156)
> at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)
> at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
> at 
> org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
> at 
> org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
> at 
> org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
> at 
> org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140)
> at 
> org.apache.fineract.ServerApplication.main(ServerApplication.java:63)
> Caused by: org.springframework.boot.web.server.WebServerException: Unable to 
> start embedded Tomcat
> at 
> org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:125)
> at 
> org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:87)
> at 
> org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:437)
> at 
> org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:191)
> at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180)
> at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153)
> ... 7 common frames omitted
> Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 
> Error creating bean with name 
> 'org.apache.fineract.infrastructure.core.boot.WebXmlConfiguration': 
> Unsatisfied dependency expressed through field 
> 'basicAuthenticationProcessingFilter'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'basicAuthenticationProcessingFilter' defined in file 
> [/home/vorburger/Mifos/fineract/build/classes/java/main/org/apache/fineract/infrastructure/security/filter/TenantAwareBasicAuthenticationFilter.class]:
>  Unsatisfied dependency expressed through constructor parameter 0; nested 
> exception is org.springframework.beans.factory.BeanCreationException: Error 
> creating bean with name 'org.springframework.security.authenticationManager': 
> Cannot resolve reference to bean 'customAuthenticationProvider' while setting 
> constructor argument with key [0]; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'customAuthenticationProvider' defined in URL 
> [file:/home/vorburger/Mifos/fineract/build/classes/java/main/META-INF/spring/securityContext.xml]:
>  Cannot resolve reference to bean 'userDetailsService' while setting bean 
> property 'userDetailsService'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyExcepti

[jira] [Commented] (FINERACT-1457) Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466576#comment-17466576
 ] 

Michael Vorburger commented on FINERACT-1457:
-

This was caused by the upgrade of org.flywaydb:flyway-core from 7.15.0 to 8.1.0 
in 
https://github.com/apache/fineract/commit/03a8a9858d1c3db703675ebaeb0828863d8b35de
 for https://github.com/apache/fineract/pull/1990 for FINERACT-982.

https://flywaydb.org/documentation/learnmore/releaseNotes under Flyway 
8.0.0-beta1 (2021-09-14) says Database compatibility: Deprecate Community 
support for database versions older than 5 years - the exception error message 
above is caused by that.

If we accept that Fineract does not support e.g. MySQL 5.7 anymore, then we 
could simply document this somewhere, and close this as "Working as Intended" 
(WAI). If this is a problem, we shuld revert Flyway.

On https://www.fineract.dev, I've been using Google Cloud SQL MySQL DB version 
5.7. I probably can and will try to upgrade that to 8.0 to work around this.

PS: FINERACT-1458 created about catching database migration issues in Pull 
Requests.

> Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade
> 
>
> Key: FINERACT-1457
> URL: https://issues.apache.org/jira/browse/FINERACT-1457
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Database
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Assignee: Michael Vorburger
>Priority: Critical
> Fix For: 1.6.0
>
>
> https://www.fineract.dev is failing to upgrade to the latest bleeding edge 
> Fineract code from master branch, see 
> https://github.com/vorburger/www.fineract.dev/issues/8:
> {noformat}
> 2021-12-29 18:54:47.772 ERROR 10 --- [   main] 
> o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. 
> Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. 
> Message: Error creating bean with name 'securityConfig': Unsatisfied 
> dependency expressed through field 'userDetailsService'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#4ab90d01' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#4ab90d01': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.BeanCreationException: Error creating 
> bean with name 'tenantDatabaseUpgradeService': Invocation of init method 
> failed; nested exception is 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> (...)
> Caused by: 
> org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
> Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
> supported by Flyway Community Edition, but still supported by Flyway Teams 
> Edition.
> at 
> org.flywaydb.core.internal.database.base.Database.ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition(Database.java:126)
> at 
> org.flywaydb.core.internal.database.mysql.MySQLDatabase.ensureSupported(MySQLDatabase.java:252)
> at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:188)
> at org.flywaydb.core.Flyway.repair(Flyway.java:335)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeTenantDB(TenantDatabaseUpgradeService.java:118)
> at 
> org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeAllTenants(TenantDatabaseUpgradeService.java:63)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at 
> 

[jira] [Created] (FINERACT-1458) Fineract Continous Integration (CI) Tests should cover database migrations

2021-12-29 Thread Michael Vorburger (Jira)
Michael Vorburger created FINERACT-1458:
---

 Summary: Fineract Continous Integration (CI) Tests should cover 
database migrations
 Key: FINERACT-1458
 URL: https://issues.apache.org/jira/browse/FINERACT-1458
 Project: Apache Fineract
  Issue Type: Improvement
Reporter: Michael Vorburger


There is currently no test coverage for database migrations.

Every pull request is built with a fresh database.

This can miss certain problems, e.g. FINERACT-1457.

In a perfect world, there would be a job which runs the migration, based on an 
old database version that was imported.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (FINERACT-1457) Fineract no longer works with MySQL 5.7 due to Flyway v8 upgrade

2021-12-29 Thread Michael Vorburger (Jira)
Michael Vorburger created FINERACT-1457:
---

 Summary: Fineract no longer works with MySQL 5.7 due to Flyway v8 
upgrade
 Key: FINERACT-1457
 URL: https://issues.apache.org/jira/browse/FINERACT-1457
 Project: Apache Fineract
  Issue Type: Bug
  Components: Database
Affects Versions: 1.6.0
Reporter: Michael Vorburger
Assignee: Michael Vorburger
 Fix For: 1.6.0


https://www.fineract.dev is failing to upgrade to the latest bleeding edge 
Fineract code from master branch, see 
https://github.com/vorburger/www.fineract.dev/issues/8:

{noformat}
2021-12-29 18:54:47.772 ERROR 10 --- [   main] 
o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. 
Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. 
Message: Error creating bean with name 'securityConfig': Unsatisfied dependency 
expressed through field 'userDetailsService'; nested exception is 
org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
creating bean with name 'userDetailsService': Unsatisfied dependency expressed 
through field 'platformUserRepository'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'appUserRepository' defined in 
org.apache.fineract.useradministration.domain.AppUserRepository defined in 
@EnableJpaRepositories declared on PersistenceConfig: Cannot create inner bean 
'(inner bean)#4ab90d01' of type 
[org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
property 'entityManager'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)#4ab90d01': Cannot resolve reference to bean 
'entityManagerFactory' while setting constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'tenantDatabaseUpgradeService': Invocation of init method failed; 
nested exception is 
org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
supported by Flyway Community Edition, but still supported by Flyway Teams 
Edition.

(...)

Caused by: 
org.flywaydb.core.internal.license.FlywayEditionUpgradeRequiredException: 
Flyway Teams Edition or MySQL upgrade required: MySQL 5.7 is no longer 
supported by Flyway Community Edition, but still supported by Flyway Teams 
Edition.
at 
org.flywaydb.core.internal.database.base.Database.ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition(Database.java:126)
at 
org.flywaydb.core.internal.database.mysql.MySQLDatabase.ensureSupported(MySQLDatabase.java:252)
at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:188)
at org.flywaydb.core.Flyway.repair(Flyway.java:335)
at 
org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeTenantDB(TenantDatabaseUpgradeService.java:118)
at 
org.apache.fineract.infrastructure.core.service.TenantDatabaseUpgradeService.upgradeAllTenants(TenantDatabaseUpgradeService.java:63)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at 
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
at 
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
at 
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
... 108 common frames omitted{noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (FINERACT-896) User MariaDB instead of / in addition to MySQL

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466567#comment-17466567
 ] 

Michael Vorburger commented on FINERACT-896:


FINERACT-1456 has a related follow-up (specific to the container image built by 
Fineract's Dockerfile).

> User MariaDB instead of / in addition to MySQL
> --
>
> Key: FINERACT-896
> URL: https://issues.apache.org/jira/browse/FINERACT-896
> Project: Apache Fineract
>  Issue Type: New Feature
>  Components: Database
>Reporter: Michael Vorburger
>Assignee: Petri Tuomola
>Priority: Major
> Fix For: 1.6.0
>
>
> I think it would nice if Fineract support MariaDB (see 
> [https://mariadb.org)|https://mariadb.org)/] instead of, or in addition to 
> and not only MySQL.
> MariaDB is a community fork of MySQL (now maintained mostly by Oracle) by 
> most of the people who originally built MySQL before it was acquired by 
> Oracle.
> Hopefully our use of the (very old...) Drizzle JDBC driver doesn't cause any 
> issues for this. Otherwise we could use FINERACT-762, or (better) 
> https://downloads.mariadb.org/connector-java/+releases/.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (FINERACT-982) Completely ditch use of Drizzle JDBC Driver after all

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466568#comment-17466568
 ] 

Michael Vorburger commented on FINERACT-982:


FINERACT-1456 has a related follow-up (specific to the container image built by 
Fineract's Dockerfile).

> Completely ditch use of Drizzle JDBC Driver after all
> -
>
> Key: FINERACT-982
> URL: https://issues.apache.org/jira/browse/FINERACT-982
> Project: Apache Fineract
>  Issue Type: Improvement
>Reporter: Michael Vorburger
>Priority: Blocker
>  Labels: scalability
> Fix For: 1.6.0
>
>
> Fineract's use of the un-maintained Drizzle JDBC driver continues to cause 
> confusion and pains like FINERACT-980, and note e.g. the proposed removal of 
> the alternative MySQL JDBC driver in 
> [https://github.com/apache/fineract/pull/887.]
> Some of the background to this is recorded e.g. in FINCN-26, FINERACT-761 and 
> LEGAL-462.
> LEGAL-462 has clarified that the Fineract ZIP distribution must include 
> Drizzle and cannot distribute the MariaDB or MySQL JDBC clients. We CAN, and 
> currently (given the confusion in FINERACT-980 apparently do?!) use it for 
> tests.
> What if to reduce variability we just removed that old Drizzle JDBC driver 
> after all? We could run our tests using (preferably) the very well maintained 
> MariaDB JDBC driver client (the actual DB server is a totally separate 
> discussion, see FINERACT-896). We would (have to) distribute the ZIP for 
> download without a JDBC driver, and just some documentation inviting users to 
> DL and add one.
> But the exact situation about distributing in a Docker container image isn't 
> clear, to me...
> FYI [~awasum], [~ptuomola], [~xurror]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Closed] (FINERACT-1456) Replacement of MySQL by MariaDB JDBC driver is a regression in the container image

2021-12-29 Thread Michael Vorburger (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Vorburger closed FINERACT-1456.
---
Resolution: Won't Fix

> Replacement of MySQL by MariaDB JDBC driver is a regression in the container 
> image
> --
>
> Key: FINERACT-1456
> URL: https://issues.apache.org/jira/browse/FINERACT-1456
> Project: Apache Fineract
>  Issue Type: Bug
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Assignee: Michael Vorburger
>Priority: Blocker
> Fix For: 1.6.0
>
>
> FINERACT-982 & FINERACT-896 are great, I'm all for it, happy to see that was 
> done.
> However, the removal and replacement of the MySQL by MariaDB JDBC driver in 
> the container image in 
> https://github.com/apache/fineract/commit/03a8a9858d1c3db703675ebaeb0828863d8b35de
>  is a backwards compability breaking regression.
> For example on [https://www.fineract.dev,|https://www.fineract.dev%2C/] and 
> likely for other users (I suspect, but I'm just guessing) that fact that a 
> current (and future 1.6.0) container no longer "just works" on the latest 
> develop branch, and causes this new problem:
> {noformat}org.springframework.context.ApplicationContextException: Unable to 
> start web server; nested exception is 
> org.springframework.boot.web.server.WebServerException: Unable to start 
> embedded Tomcat
>   at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)
>   at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
>   at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
>   at 
> org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730)
>   at 
> org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412)
>   at 
> org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
>   at 
> org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164)
>   at org.apache.fineract.ServerApplication.main(ServerApplication.java:58)
> Caused by: org.springframework.boot.web.server.WebServerException: Unable to 
> start embedded Tomcat
>   at 
> org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)
>   at 
> org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104)
>   at 
> org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:473)
>   at 
> org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:206)
>   at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
>   at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
>   ... 7 common frames omitted
> Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 
> Error creating bean with name 'securityConfig': Unsatisfied dependency 
> expressed through field 'userDetailsService'; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'userDetailsService': Unsatisfied dependency 
> expressed through field 'platformUserRepository'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'appUserRepository' defined in 
> org.apache.fineract.useradministration.domain.AppUserRepository defined in 
> @EnableJpaRepositories declared on PersistenceConfig: Cannot create inner 
> bean '(inner bean)#aa23f11' of type 
> [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
> property 'entityManager'; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name '(inner bean)#aa23f11': Cannot resolve reference to bean 
> 'entityManagerFactory' while setting constructor argument; nested exception 
> is org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'tenantDatabaseUpgradeService' defined in file 
> [/app/org/apache/fineract/infrastructure/core/service/TenantDatabaseUpgradeService.class]:
>  Unsatisfied dependency expressed through constructor parameter 0; nested 
> exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'jdbcTenant

[jira] [Commented] (FINERACT-1456) Replacement of MySQL by MariaDB JDBC driver is a regression in the container image

2021-12-29 Thread Michael Vorburger (Jira)


[ 
https://issues.apache.org/jira/browse/FINERACT-1456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466566#comment-17466566
 ] 

Michael Vorburger commented on FINERACT-1456:
-

The problem above happens for any environment which changed the following 
environment variables for Fineract's JDBC configuration (as I did on 
https://www.fineract.dev):

* DRIVERCLASS_NAME: com.mysql.jdbc.Driver
* SUB_PROTOCOL: mysql
* fineract_tenants_driver: com.mysql.jdbc.Driver
* fineract_tenants_url: jdbc:mysql://1.2.3.4:3306/tenants

It's relatively easy to fix, of course, using the following instead, as per the 
diff of the commit from https://github.com/apache/fineract/pull/1990:

* DRIVERCLASS_NAME: org.mariadb.jdbc.Driver
* SUB_PROTOCOL: mariadb
* fineract_tenants_driver: org.mariadb.jdbc.Driver
* fineract_tenants_url: jdbc:mariadb://1.2.3.4:3306/tenants

I'm a bit torn if we should continue to still bundle the MySQL JDBC driver as 
well just for "backwards compability", to avoid "forcing" users of the 
container image to have the change the configuration as above.

Perhaps in the interest of "uniformity" (to use a single driver instead of 
having to guess which one is being used, just in case there are subtled 
differences) it's best to leave it as is. I'll close this issue.

if this is causing a lot of confusion in the future, perhaps we can consider to 
re-open this issue, and add back the MySQL JDBC driver to the container image, 
in addition to the MariaDB JDBC driver. I believe having both would not be a 
problem.

[~ptuomola] and [~victorromero] and [~francisguchie] and [~awasum] FYI.

> Replacement of MySQL by MariaDB JDBC driver is a regression in the container 
> image
> --
>
> Key: FINERACT-1456
> URL: https://issues.apache.org/jira/browse/FINERACT-1456
> Project: Apache Fineract
>  Issue Type: Bug
>Affects Versions: 1.6.0
>Reporter: Michael Vorburger
>Assignee: Michael Vorburger
>Priority: Blocker
> Fix For: 1.6.0
>
>
> FINERACT-982 & FINERACT-896 are great, I'm all for it, happy to see that was 
> done.
> However, the removal and replacement of the MySQL by MariaDB JDBC driver in 
> the container image in 
> https://github.com/apache/fineract/commit/03a8a9858d1c3db703675ebaeb0828863d8b35de
>  is a backwards compability breaking regression.
> For example on [https://www.fineract.dev,|https://www.fineract.dev%2C/] and 
> likely for other users (I suspect, but I'm just guessing) that fact that a 
> current (and future 1.6.0) container no longer "just works" on the latest 
> develop branch, and causes this new problem:
> {noformat}org.springframework.context.ApplicationContextException: Unable to 
> start web server; nested exception is 
> org.springframework.boot.web.server.WebServerException: Unable to start 
> embedded Tomcat
>   at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)
>   at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
>   at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
>   at 
> org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730)
>   at 
> org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412)
>   at 
> org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
>   at 
> org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164)
>   at org.apache.fineract.ServerApplication.main(ServerApplication.java:58)
> Caused by: org.springframework.boot.web.server.WebServerException: Unable to 
> start embedded Tomcat
>   at 
> org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)
>   at 
> org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104)
>   at 
> org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:473)
>   at 
> org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:206)
>   at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
>   at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
>   ... 7 common frames omitted
> Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 
> Error creating bean with

[jira] [Created] (FINERACT-1456) Replacement of MySQL by MariaDB JDBC driver is a regression in the container image

2021-12-29 Thread Michael Vorburger (Jira)
Michael Vorburger created FINERACT-1456:
---

 Summary: Replacement of MySQL by MariaDB JDBC driver is a 
regression in the container image
 Key: FINERACT-1456
 URL: https://issues.apache.org/jira/browse/FINERACT-1456
 Project: Apache Fineract
  Issue Type: Bug
Affects Versions: 1.6.0
Reporter: Michael Vorburger
Assignee: Michael Vorburger
 Fix For: 1.6.0


FINERACT-982 & FINERACT-896 are great, I'm all for it, happy to see that was 
done.

However, the removal and replacement of the MySQL by MariaDB JDBC driver in the 
container image in 
https://github.com/apache/fineract/commit/03a8a9858d1c3db703675ebaeb0828863d8b35de
 is a backwards compability breaking regression.

For example on [https://www.fineract.dev,|https://www.fineract.dev%2C/] and 
likely for other users (I suspect, but I'm just guessing) that fact that a 
current (and future 1.6.0) container no longer "just works" on the latest 
develop branch, and causes this new problem:

{noformat}org.springframework.context.ApplicationContextException: Unable to 
start web server; nested exception is 
org.springframework.boot.web.server.WebServerException: Unable to start 
embedded Tomcat
at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)
at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at 
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730)
at 
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412)
at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at 
org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164)
at org.apache.fineract.ServerApplication.main(ServerApplication.java:58)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to 
start embedded Tomcat
at 
org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)
at 
org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:104)
at 
org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:473)
at 
org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:206)
at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
... 7 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'securityConfig': Unsatisfied dependency 
expressed through field 'userDetailsService'; nested exception is 
org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
creating bean with name 'userDetailsService': Unsatisfied dependency expressed 
through field 'platformUserRepository'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'appUserRepository' defined in 
org.apache.fineract.useradministration.domain.AppUserRepository defined in 
@EnableJpaRepositories declared on PersistenceConfig: Cannot create inner bean 
'(inner bean)#aa23f11' of type 
[org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean 
property 'entityManager'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)#aa23f11': Cannot resolve reference to bean 
'entityManagerFactory' while setting constructor argument; nested exception is 
org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
creating bean with name 'tenantDatabaseUpgradeService' defined in file 
[/app/org/apache/fineract/infrastructure/core/service/TenantDatabaseUpgradeService.class]:
 Unsatisfied dependency expressed through constructor parameter 0; nested 
exception is org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'jdbcTenantDetailsService' defined in file 
[/app/org/apache/fineract/infrastructure/security/service/JdbcTenantDetailsService.class]:
 Unsatisfied dependency expressed through constructor parameter 0; nested 
exception is org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'hikariTenantDataSource' defined in class path 
resource

[jira] [Resolved] (FINERACT-1454) Container should not assume that DB hostname is fixed hard-coded fineractmysql (and port 3306)

2021-12-29 Thread Michael Vorburger (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Vorburger resolved FINERACT-1454.
-
Resolution: Fixed

Fixed by merge of https://github.com/apache/fineract/pull/2004.

> Container should not assume that DB hostname is fixed hard-coded 
> fineractmysql (and port 3306)
> --
>
> Key: FINERACT-1454
> URL: https://issues.apache.org/jira/browse/FINERACT-1454
> Project: Apache Fineract
>  Issue Type: Bug
>Reporter: Michael Vorburger
>Assignee: Michael Vorburger
>Priority: Blocker
> Fix For: 1.6.0
>
>
> See [https://github.com/vorburger/www.fineract.dev/issues/8] for 
> [https://www.fineract.dev|https://www.fineract.dev/] for more background:
> There is a (new) 
> [https://github.com/apache/fineract/blob/develop/entrypoint.sh] script. It 
> was introduced by [~victorromero] in 
> [apache/fineract#1930|https://github.com/apache/fineract/pull/1930] for 
> FINERACT-1416. That script, as-is currently, because the 
> [{{Dockerfile}}|https://github.com/apache/fineract/blob/develop/Dockerfile] 
> has an {{{}ENTRYPOINT /entrypoint.sh{}}}, makes a hard-coded assumption that 
> anyone using the Fineract container anywhere uses {{fineractmysql 3306}} as 
> the hostname and port of the DB. That is not always the case; e.g. on 
> [https://www.fineract.dev|https://www.fineract.dev/], and I bet in some other 
> deployments as well, the DB just so happens ;) to not be reachable by 
> {{fineractmysql}} hostname.
> That (new) {{entrypoint.sh}} script really must respect those Fineract 
> official DB configuration parameters, as seen e.g. in 
> [https://github.com/apache/fineract/blob/03a8a9858d1c3db703675ebaeb0828863d8b35de/docker-compose.yml]
>  and 
> [https://github.com/apache/fineract/blob/03a8a9858d1c3db703675ebaeb0828863d8b35de/kubernetes/fineract-server-deployment.yml].
> I'll raise a PR with a proposed fix for this.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (FINERACT-1455) Fineract server cannot conntect to MySQL with SSL required

2021-12-29 Thread Piotr Gwiazda (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1455?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Piotr Gwiazda updated FINERACT-1455:

Description: 
I am trying to run Fineract with Azure Database Flexible Server for MySQL. This 
requires SSL connections.

I am using Kubernetes deployments. Important parts of configuration below. 

I've tried adding *useSsl=true* to *fineract_tenants_url* and also creating 
*FINERACT_DEFAULT_TENANTDB_CONN_PARAMS* env variable.
{code:java}
 apiVersion: apps/v1
kind: Deployment
metadata:
  name: fineract-server
  labels:
    app: fineract-server
spec:
  selector:
    matchLabels:
      app: fineract-server
      tier: backend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: fineract-server
        tier: backend
    spec:
      containers:
      - name: fineract-server
        image: apache/fineract:latest
        resources:
          limits:
            cpu: "1000m"
            memory: "1Gi"
          requests:
            cpu: "200m"
            memory: "0.5Gi"
        livenessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/liveness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        readinessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/readiness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        env:
        - name: DRIVERCLASS_NAME
          value: org.mariadb.jdbc.Driver
        - name: PROTOCOL
          value: jdbc
        - name: SUB_PROTOCOL
          value: mariadb
        - name: node_id
          value: '1'
        - name: fineract_tenants_driver
          value: org.mariadb.jdbc.Driver
        - name: fineract_tenants_url
          value: jdbc:mariadb://{{ .Values.mysqlhost 
}}:3306/fineract_tenants?useSsl=true
        - name: fineract_tenants_uid
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: username
        - name: fineract_tenants_pwd
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: password
        - name: FINERACT_DEFAULT_TENANTDB_HOSTNAME
          value: {{ .Values.mysqlhost }}
        - name: FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
          value: 'useSsl=true'
        - name: FINERACT_DEFAULT_TENANTDB_PORT
          value: '3306'
        - name: FINERACT_DEFAULT_TENANTDB_UID
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: username
        - name: FINERACT_DEFAULT_TENANTDB_PWD
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: password
        - name: FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
          value: ''
        ports:
        - containerPort: 8443
          name: fineract-server{code}
 

Some initial connections are created correctly and FlywayDB is able to create 
tables in "fineract_tenants" database. However after that in 
*tenantDatabaseUpgradeService* there is an exception

{{java.sql.SQLTransientConnectionException: (conn=49) Connections using 
insecure transport are prohibited while --require_secure_transport=ON }}

Attaching full log.

I am using MySQL 8.0.21 as Flyway was failing on 5.7 (as MySQL 5.7 is 
unsupported). I am using "latest" Docker image of Fineract.

  was:
I am trying to run Fineract with Azure Database Flexible Server for MySQL. This 
requires SSL connections.

I am using Kubernetes deployments. Important parts of configuration below. 

I've tried adding *useSsl=true* to *fineract_tenants_url* and also creating 
*FINERACT_DEFAULT_TENANTDB_CONN_PARAMS* env variable.
{code:java}
 apiVersion: apps/v1
kind: Deployment
metadata:
  name: fineract-server
  labels:
    app: fineract-server
spec:
  selector:
    matchLabels:
      app: fineract-server
      tier: backend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: fineract-server
        tier: backend
    spec:
      containers:
      - name: fineract-server
        image: apache/fineract:latest
        resources:
          limits:
            cpu: "1000m"
            memory: "1Gi"
          requests:
            cpu: "200m"
            memory: "0.5Gi"
        livenessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/liveness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        readinessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/readiness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        env:
        - name: DRIVERCLASS_NAME
          value: org.mariadb.jdbc.Driver
        - name: PROTOCOL
          value: jdbc
        - name: SUB_PROTOCOL
          value: mariadb
        - name: node_id
       

[jira] [Updated] (FINERACT-1455) Fineract server cannot conntect to MySQL with SSL required

2021-12-29 Thread Piotr Gwiazda (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1455?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Piotr Gwiazda updated FINERACT-1455:

Attachment: logs.txt

> Fineract server cannot conntect to MySQL with SSL required
> --
>
> Key: FINERACT-1455
> URL: https://issues.apache.org/jira/browse/FINERACT-1455
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Deployment
>Affects Versions: 1.5.0
>Reporter: Piotr Gwiazda
>Priority: Major
> Attachments: logs.txt
>
>
> I am trying to run Fineract with Azure Database Flexible Server for MySQL. 
> This requires SSL connections.
> I am using Kubernetes deployments. Important parts of configuration below. 
> I've tried adding *useSsl=true* to *fineract_tenants_url* and also creating 
> *FINERACT_DEFAULT_TENANTDB_CONN_PARAMS* env variable.
> {code:java}
>  apiVersion: apps/v1
> kind: Deployment
> metadata:
>   name: fineract-server
>   labels:
>     app: fineract-server
> spec:
>   selector:
>     matchLabels:
>       app: fineract-server
>       tier: backend
>   strategy:
>     type: Recreate
>   template:
>     metadata:
>       labels:
>         app: fineract-server
>         tier: backend
>     spec:
>       containers:
>       - name: fineract-server
>         image: apache/fineract:latest
>         resources:
>           limits:
>             cpu: "1000m"
>             memory: "1Gi"
>           requests:
>             cpu: "200m"
>             memory: "0.5Gi"
>         livenessProbe:
>           httpGet:
>             path: /fineract-provider/actuator/health/liveness
>             port: 8080
>           initialDelaySeconds: 180
>           periodSeconds: 1
>         readinessProbe:
>           httpGet:
>             path: /fineract-provider/actuator/health/readiness
>             port: 8080
>           initialDelaySeconds: 180
>           periodSeconds: 1
>         env:
>         - name: DRIVERCLASS_NAME
>           value: org.mariadb.jdbc.Driver
>         - name: PROTOCOL
>           value: jdbc
>         - name: SUB_PROTOCOL
>           value: mariadb
>         - name: node_id
>           value: '1'
>         - name: fineract_tenants_driver
>           value: org.mariadb.jdbc.Driver
>         - name: fineract_tenants_url
>           value: jdbc:mariadb://{{ .Values.mysqlhost 
> }}:3306/fineract_tenants?useSsl=true
>         - name: fineract_tenants_uid
>           valueFrom:
>             secretKeyRef:
>               name: fineract-tenants-db-secret
>               key: username
>         - name: fineract_tenants_pwd
>           valueFrom:
>             secretKeyRef:
>               name: fineract-tenants-db-secret
>               key: password
>         - name: FINERACT_DEFAULT_TENANTDB_HOSTNAME
>           value: {{ .Values.mysqlhost }}
>         - name: FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
>           value: 'useSsl=true'
>         - name: FINERACT_DEFAULT_TENANTDB_PORT
>           value: '3306'
>         - name: FINERACT_DEFAULT_TENANTDB_UID
>           valueFrom:
>             secretKeyRef:
>               name: fineract-tenants-db-secret
>               key: username
>         - name: FINERACT_DEFAULT_TENANTDB_PWD
>           valueFrom:
>             secretKeyRef:
>               name: fineract-tenants-db-secret
>               key: password
>         - name: FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
>           value: ''
>         ports:
>         - containerPort: 8443
>           name: fineract-server{code}
>  
> Some initial connections are created correctly and FlywayDB is able to create 
> tables in "fineract_tenants" database. However after that in 
> *tenantDatabaseUpgradeService* there is an exception
> {{java.sql.SQLTransientConnectionException: (conn=49) Connections using 
> insecure transport are prohibited while --require_secure_transport=ON }}
> Attaching full log.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (FINERACT-1455) Fineract server cannot conntect to MySQL with SSL required

2021-12-29 Thread Piotr Gwiazda (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1455?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Piotr Gwiazda updated FINERACT-1455:

Description: 
I am trying to run Fineract with Azure Database Flexible Server for MySQL. This 
requires SSL connections.

I am using Kubernetes deployments. Important parts of configuration below. 

I've tried adding *useSsl=true* to *fineract_tenants_url* and also creating 
*FINERACT_DEFAULT_TENANTDB_CONN_PARAMS* env variable.
{code:java}
 apiVersion: apps/v1
kind: Deployment
metadata:
  name: fineract-server
  labels:
    app: fineract-server
spec:
  selector:
    matchLabels:
      app: fineract-server
      tier: backend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: fineract-server
        tier: backend
    spec:
      containers:
      - name: fineract-server
        image: apache/fineract:latest
        resources:
          limits:
            cpu: "1000m"
            memory: "1Gi"
          requests:
            cpu: "200m"
            memory: "0.5Gi"
        livenessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/liveness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        readinessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/readiness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        env:
        - name: DRIVERCLASS_NAME
          value: org.mariadb.jdbc.Driver
        - name: PROTOCOL
          value: jdbc
        - name: SUB_PROTOCOL
          value: mariadb
        - name: node_id
          value: '1'
        - name: fineract_tenants_driver
          value: org.mariadb.jdbc.Driver
        - name: fineract_tenants_url
          value: jdbc:mariadb://{{ .Values.mysqlhost 
}}:3306/fineract_tenants?useSsl=true
        - name: fineract_tenants_uid
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: username
        - name: fineract_tenants_pwd
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: password
        - name: FINERACT_DEFAULT_TENANTDB_HOSTNAME
          value: {{ .Values.mysqlhost }}
        - name: FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
          value: 'useSsl=true'
        - name: FINERACT_DEFAULT_TENANTDB_PORT
          value: '3306'
        - name: FINERACT_DEFAULT_TENANTDB_UID
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: username
        - name: FINERACT_DEFAULT_TENANTDB_PWD
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: password
        - name: FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
          value: ''
        ports:
        - containerPort: 8443
          name: fineract-server{code}
 

Some initial connections are created correctly and FlywayDB is able to create 
tables in "fineract_tenants" database. However after that in 
*tenantDatabaseUpgradeService* there is an exception

{{java.sql.SQLTransientConnectionException: (conn=49) Connections using 
insecure transport are prohibited while --require_secure_transport=ON }}

Attaching full log.

  was:
I am trying to run Fineract with Azure Database Flexible Server for MySQL. This 
requires SSL connections.

I am using Kubernetes deployments. Important parts of configuration below. 

I've tried adding *useSsl=true* to *fineract_tenants_url* and also creating 
*FINERACT_DEFAULT_TENANTDB_CONN_PARAMS* env variable.
{code:java}
 apiVersion: apps/v1
kind: Deployment
metadata:
  name: fineract-server
  labels:
    app: fineract-server
spec:
  selector:
    matchLabels:
      app: fineract-server
      tier: backend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: fineract-server
        tier: backend
    spec:
      containers:
      - name: fineract-server
        image: apache/fineract:latest
        resources:
          limits:
            cpu: "1000m"
            memory: "1Gi"
          requests:
            cpu: "200m"
            memory: "0.5Gi"
        livenessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/liveness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        readinessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/readiness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        env:
        - name: DRIVERCLASS_NAME
          value: org.mariadb.jdbc.Driver
        - name: PROTOCOL
          value: jdbc
        - name: SUB_PROTOCOL
          value: mariadb
        - name: node_id
          value: '1'
        - name: fineract_tenants_driver
          value: org.mariadb.jdbc.Driver
        - name: fineract_tenants_url

[jira] [Updated] (FINERACT-1455) Fineract server cannot conntect to MySQL with SSL required

2021-12-29 Thread Piotr Gwiazda (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1455?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Piotr Gwiazda updated FINERACT-1455:

Description: 
I am trying to run Fineract with Azure Database Flexible Server for MySQL. This 
requires SSL connections.

I am using Kubernetes deployments. Important parts of configuration below. 

I've tried adding *useSsl=true* to *fineract_tenants_url* and also creating 
*FINERACT_DEFAULT_TENANTDB_CONN_PARAMS* env variable.
{code:java}
 apiVersion: apps/v1
kind: Deployment
metadata:
  name: fineract-server
  labels:
    app: fineract-server
spec:
  selector:
    matchLabels:
      app: fineract-server
      tier: backend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: fineract-server
        tier: backend
    spec:
      containers:
      - name: fineract-server
        image: apache/fineract:latest
        resources:
          limits:
            cpu: "1000m"
            memory: "1Gi"
          requests:
            cpu: "200m"
            memory: "0.5Gi"
        livenessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/liveness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        readinessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/readiness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        env:
        - name: DRIVERCLASS_NAME
          value: org.mariadb.jdbc.Driver
        - name: PROTOCOL
          value: jdbc
        - name: SUB_PROTOCOL
          value: mariadb
        - name: node_id
          value: '1'
        - name: fineract_tenants_driver
          value: org.mariadb.jdbc.Driver
        - name: fineract_tenants_url
          value: jdbc:mariadb://{{ .Values.mysqlhost 
}}:3306/fineract_tenants?useSsl=true
        - name: fineract_tenants_uid
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: username
        - name: fineract_tenants_pwd
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: password
        - name: FINERACT_DEFAULT_TENANTDB_HOSTNAME
          value: {{ .Values.mysqlhost }}
        - name: FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
          value: 'useSsl=true'
        - name: FINERACT_DEFAULT_TENANTDB_PORT
          value: '3306'
        - name: FINERACT_DEFAULT_TENANTDB_UID
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: username
        - name: FINERACT_DEFAULT_TENANTDB_PWD
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: password
        - name: FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
          value: ''
        ports:
        - containerPort: 8443
          name: fineract-server{code}
 

Some initial connections are created correctly and FlywayDB is able to create 
tables in "fineract_tenants" database. However after that there is an exception 

 

  was:
I am trying to run Fineract with Azure Database Flexible Server for MySQL. This 
requires SSL connections.

I am using Kubernetes deployments. Important parts of configuration:

 
{code:java}
 {code}


> Fineract server cannot conntect to MySQL with SSL required
> --
>
> Key: FINERACT-1455
> URL: https://issues.apache.org/jira/browse/FINERACT-1455
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Deployment
>Affects Versions: 1.5.0
>Reporter: Piotr Gwiazda
>Priority: Major
>
> I am trying to run Fineract with Azure Database Flexible Server for MySQL. 
> This requires SSL connections.
> I am using Kubernetes deployments. Important parts of configuration below. 
> I've tried adding *useSsl=true* to *fineract_tenants_url* and also creating 
> *FINERACT_DEFAULT_TENANTDB_CONN_PARAMS* env variable.
> {code:java}
>  apiVersion: apps/v1
> kind: Deployment
> metadata:
>   name: fineract-server
>   labels:
>     app: fineract-server
> spec:
>   selector:
>     matchLabels:
>       app: fineract-server
>       tier: backend
>   strategy:
>     type: Recreate
>   template:
>     metadata:
>       labels:
>         app: fineract-server
>         tier: backend
>     spec:
>       containers:
>       - name: fineract-server
>         image: apache/fineract:latest
>         resources:
>           limits:
>             cpu: "1000m"
>             memory: "1Gi"
>           requests:
>             cpu: "200m"
>             memory: "0.5Gi"
>         livenessProbe:
>           httpGet:
>             path: /fineract-provider/actuator/health/liveness
>             port: 8080
>           initialDelaySeconds: 180
>           periodSeconds: 1
>         readinessProbe:

[jira] [Updated] (FINERACT-1455) Fineract server cannot conntect to MySQL with SSL required

2021-12-29 Thread Piotr Gwiazda (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-1455?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Piotr Gwiazda updated FINERACT-1455:

Description: 
I am trying to run Fineract with Azure Database Flexible Server for MySQL. This 
requires SSL connections.

I am using Kubernetes deployments. Important parts of configuration below. 

I've tried adding *useSsl=true* to *fineract_tenants_url* and also creating 
*FINERACT_DEFAULT_TENANTDB_CONN_PARAMS* env variable.
{code:java}
 apiVersion: apps/v1
kind: Deployment
metadata:
  name: fineract-server
  labels:
    app: fineract-server
spec:
  selector:
    matchLabels:
      app: fineract-server
      tier: backend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: fineract-server
        tier: backend
    spec:
      containers:
      - name: fineract-server
        image: apache/fineract:latest
        resources:
          limits:
            cpu: "1000m"
            memory: "1Gi"
          requests:
            cpu: "200m"
            memory: "0.5Gi"
        livenessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/liveness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        readinessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/readiness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        env:
        - name: DRIVERCLASS_NAME
          value: org.mariadb.jdbc.Driver
        - name: PROTOCOL
          value: jdbc
        - name: SUB_PROTOCOL
          value: mariadb
        - name: node_id
          value: '1'
        - name: fineract_tenants_driver
          value: org.mariadb.jdbc.Driver
        - name: fineract_tenants_url
          value: jdbc:mariadb://{{ .Values.mysqlhost 
}}:3306/fineract_tenants?useSsl=true
        - name: fineract_tenants_uid
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: username
        - name: fineract_tenants_pwd
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: password
        - name: FINERACT_DEFAULT_TENANTDB_HOSTNAME
          value: {{ .Values.mysqlhost }}
        - name: FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
          value: 'useSsl=true'
        - name: FINERACT_DEFAULT_TENANTDB_PORT
          value: '3306'
        - name: FINERACT_DEFAULT_TENANTDB_UID
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: username
        - name: FINERACT_DEFAULT_TENANTDB_PWD
          valueFrom:
            secretKeyRef:
              name: fineract-tenants-db-secret
              key: password
        - name: FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
          value: ''
        ports:
        - containerPort: 8443
          name: fineract-server{code}
 

Some initial connections are created correctly and FlywayDB is able to create 
tables in "fineract_tenants" database. However after that there is an exception

{{java.sql.SQLTransientConnectionException: (conn=49) Connections using 
insecure transport are prohibited while --require_secure_transport=ON }}

Attaching full log.

  was:
I am trying to run Fineract with Azure Database Flexible Server for MySQL. This 
requires SSL connections.

I am using Kubernetes deployments. Important parts of configuration below. 

I've tried adding *useSsl=true* to *fineract_tenants_url* and also creating 
*FINERACT_DEFAULT_TENANTDB_CONN_PARAMS* env variable.
{code:java}
 apiVersion: apps/v1
kind: Deployment
metadata:
  name: fineract-server
  labels:
    app: fineract-server
spec:
  selector:
    matchLabels:
      app: fineract-server
      tier: backend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: fineract-server
        tier: backend
    spec:
      containers:
      - name: fineract-server
        image: apache/fineract:latest
        resources:
          limits:
            cpu: "1000m"
            memory: "1Gi"
          requests:
            cpu: "200m"
            memory: "0.5Gi"
        livenessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/liveness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        readinessProbe:
          httpGet:
            path: /fineract-provider/actuator/health/readiness
            port: 8080
          initialDelaySeconds: 180
          periodSeconds: 1
        env:
        - name: DRIVERCLASS_NAME
          value: org.mariadb.jdbc.Driver
        - name: PROTOCOL
          value: jdbc
        - name: SUB_PROTOCOL
          value: mariadb
        - name: node_id
          value: '1'
        - name: fineract_tenants_driver
          value: org.mariadb.jdbc.Driver
        - name: fineract_tenants_url
          value: jdbc:mariadb://{{ 

[jira] [Created] (FINERACT-1455) Fineract server cannot conntect to MySQL with SSL required

2021-12-29 Thread Piotr Gwiazda (Jira)
Piotr Gwiazda created FINERACT-1455:
---

 Summary: Fineract server cannot conntect to MySQL with SSL required
 Key: FINERACT-1455
 URL: https://issues.apache.org/jira/browse/FINERACT-1455
 Project: Apache Fineract
  Issue Type: Bug
  Components: Deployment
Affects Versions: 1.5.0
Reporter: Piotr Gwiazda


I am trying to run Fineract with Azure Database Flexible Server for MySQL. This 
requires SSL connections.

I am using Kubernetes deployments. Important parts of configuration:

 
{code:java}
 {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)