You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@fineract.apache.org by Ebenezer Graham <eg...@alustudent.com> on 2019/01/03 16:31:19 UTC

Re: Simplifying Fineract CN Demo-server

Hi Isaac,

Concerning the 4th question, there is no special reason, We can use OrgAdmi
n.

Thank you for documenting the notification API.

I started the documentation here
https://github.com/ebenezergraham/fineract-cn-notifications/tree/permitted-feign-client-auth/component-test/src/main/java/org/apache/fineract/cn/notification
I couldn't submit it because of the Permitted client authentication which
is still in progress.

I have sent a PR so that you can assist in debugging this issue

Please take a look at these files and snippet to aid you to understand what
I am doing.

https://github.com/ebenezergraham/fineract-cn-notifications/tree/permitted-feign-client-auth/service/src/main/java/org/apache/fineract/cn/notification/service/internal/identity


https://github.com/ebenezergraham/fineract-cn-demo-server/blob/notification-permission-with-wadaadmin/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L497-L513

And in the process of fixing the error highlighted below, I will change the
user to orgadmin and take out wadaadmin.

These are the logs from my build
15:48:14.482 [PollingServerListUpdater-0] INFO
c.n.config.ChainedDynamicProperty - Flipping property:
identity-v1.ribbon.ActiveConnectionsLimit to use NEXT property:
niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit =
2147483647
15:48:14.897 [PollingServerListUpdater-1] INFO
c.n.config.ChainedDynamicProperty - Flipping property:
customer-v1.ribbon.ActiveConnectionsLimit to use NEXT property:
niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit =
2147483647
15:49:23.738 [DefaultMessageListenerContainer-1] INFO  notification-logger
- customerUpdatedEvents has been invoked
15:49:23.738 [DefaultMessageListenerContainer-1] DEBUG
permitted-feign-client-logger - Creating refresh token for
TokenCacheKey{user='wadaadmin', tenant='playground',
endpointSet='Optional.empty'}
15:49:23.756 [DefaultMessageListenerContainer-1] DEBUG
permitted-feign-client-logger - Getting access token for
TokenCacheKey{user='wadaadmin', tenant='playground',
endpointSet='Optional.empty'}
15:49:23.795 [DefaultMessageListenerContainer-1] DEBUG notification-logger
- Access token: Bearer {token}
15:49:23.795 [DefaultMessageListenerContainer-1] DEBUG notification-logger
- Getting Customer
*15:49:23.824 [DefaultMessageListenerContainer-1] ERROR notification-logger
- org.apache.fineract.cn.customer.api.v1.client.CustomerNotFoundException*
15:51:58.897 [AsyncResolver-bootstrap-executor-0] INFO
c.n.d.s.r.aws.ConfigClusterResolver - Resolving eureka endpoints via
configuration





On Sat, 15 Dec 2018 at 03:41, Isaac Kamga <is...@mifos.org> wrote:

> Hello fineracters,
>
> Trust that this email finds you well.
>
> Special congratulations to our Google Summer of Code 2018 interns who
> are graduating from University !
>
> In an effort to simplify fineract-cn-demo-server and increase the
> number of eyeballs looking at the platform's code, I've looked into
> demo-server's ServiceRunner and service-starter and have the some
> questions which beg for clarification.
>
> 1. Is it compulsory that the wait time [1] between starting the
> microservices be 20 seconds ? Should this be reduced ? To what extent
> ?
>
> 2. After migrating each service [2] when persistence is true, should
> there be a 5 seconds sleep ?
>
> 3. In the tearDown() method [3], should services be killed in any
> order or in the reverse order in which they were started in the
> before() method [4] ?
>
> 4. +Ebenezer Graham Any special reason why new notificationsAdmin [5]
> role was created ? What if it's possible to use the existing Org Admin
> [6] role and user to allow for permissions related to the
> notifications service just like the other services do ?
>
> 5. Should there be a 40 seconds sleep [7] in Microservice's start()
> method ? Should this be reduced ?
>
> 6. +Markus Geiss Can we default CONCURRENCY from 3-10 to 1-1 in
> ActiveMQForTest [8] ? I remember your advice to Graham regarding
> reduction in the number of received events from 3 to 1.
>
> 7. +Myrle Krantz , How do we run demo-server jar file with debug
> option to start micro-services based on this [9] ? -Dsuspend=y
> -Daddress=3020 ? This could help update the How-To-Build wiki page .
>
> I understand that sometime it's better to apologize than ask for
> permission but given that we want demo-server working for everybody, I
> thought it would be necessary to ask even the most minute details
> concerning changes that affect these integration tests.
>
> Kindly advise on these issues.
>
> At Your Service,
> Isaac Kamga.
>
> [1]
> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L338
>
> [2]
> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L355
>
> [3]
> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L266
>
> [4]
> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L187
>
> [5]
> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L653
>
> [6]
> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L580
>
> [7]
> https://github.com/apache/fineract-cn-service-starter/blob/020dad06bf9f416d819911401e9b370cd155d936/src/main/java/org/apache/fineract/cn/test/servicestarter/Microservice.java#L178
>
> [8]
> https://github.com/apache/fineract-cn-service-starter/blob/020dad06bf9f416d819911401e9b370cd155d936/src/main/java/org/apache/fineract/cn/test/servicestarter/ActiveMQForTest.java#L81
>
> [9]
> https://github.com/apache/fineract-cn-service-starter/blob/020dad06bf9f416d819911401e9b370cd155d936/src/main/java/org/apache/fineract/cn/test/servicestarter/Microservice.java#L171
>

Re: Simplifying Fineract CN Demo-server

Posted by Karthik Ananthakrishnan <ka...@gmail.com>.
Hello Isaac,

I started the server first time with provisioner that created the tables.
After that, i commented out provisioner starting and other services that i
dont need in servicerunner.java. So, i was running the application only
with Identity, Portfolio and customer. When i did this, i could start the
application within 5-7 minutes. I could login, create a customer when
starting with the limited service.

Cons were as below.
1. Since flyway was not enabled, any additional DB changes, i have to again
run the server with provisioner - Solution to this was, i enabled flyway in
.yaml file and then flyway worked.

2. In one of the tables in cassandra, the ports for each server was getting
saved when run with provisioner for the first time. So, when starting the
services limited services, the port numbers mismatched - I wasnt sure of
the effect of this.

I tried this before a month. I will add more to this thread as  i remember
other cons that i faced.

Regards,
Karthik


On Thu, Jan 17, 2019 at 12:25 AM Isaac Kamga <is...@mifos.org> wrote:

> Hello there,
>
> @Ebenezer You're welcome to improve the Notification's service API docs
> ... Btw, I never knew you were working on that already ( You should have
> alerted the list ;-) ).
>
> Concerning your feign client issue, please take a close look at Awasum's
> recent response to Marta Jankovics and Peter Santa on thread titled
> "[Fineract CN] feign client issues".
>
> @Karthik Ananthakrishnan <ka...@gmail.com> , as concerns Simplifying
> demo-server, could you kindly share your experience stopping provisioner
> from starting every time and how much time that saved you ? What were the
> cons and pros of this approach ?
>
> Cheers,
> Isaac Kamga.
>
> On Thu, Jan 3, 2019 at 5:31 PM Ebenezer Graham <eg...@alustudent.com>
> wrote:
>
>> Hi Isaac,
>>
>> Concerning the 4th question, there is no special reason, We can use
>> OrgAdmin.
>>
>> Thank you for documenting the notification API.
>>
>> I started the documentation here
>> https://github.com/ebenezergraham/fineract-cn-notifications/tree/permitted-feign-client-auth/component-test/src/main/java/org/apache/fineract/cn/notification
>> I couldn't submit it because of the Permitted client authentication which
>> is still in progress.
>>
>> I have sent a PR so that you can assist in debugging this issue
>>
>> Please take a look at these files and snippet to aid you to understand
>> what I am doing.
>>
>>
>> https://github.com/ebenezergraham/fineract-cn-notifications/tree/permitted-feign-client-auth/service/src/main/java/org/apache/fineract/cn/notification/service/internal/identity
>>
>>
>>
>> https://github.com/ebenezergraham/fineract-cn-demo-server/blob/notification-permission-with-wadaadmin/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L497-L513
>>
>> And in the process of fixing the error highlighted below, I will change the
>> user to orgadmin and take out wadaadmin.
>>
>> These are the logs from my build
>> 15:48:14.482 [PollingServerListUpdater-0] INFO
>> c.n.config.ChainedDynamicProperty - Flipping property:
>> identity-v1.ribbon.ActiveConnectionsLimit to use NEXT property:
>> niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit =
>> 2147483647
>> 15:48:14.897 [PollingServerListUpdater-1] INFO
>> c.n.config.ChainedDynamicProperty - Flipping property:
>> customer-v1.ribbon.ActiveConnectionsLimit to use NEXT property:
>> niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit =
>> 2147483647
>> 15:49:23.738 [DefaultMessageListenerContainer-1] INFO
>> notification-logger - customerUpdatedEvents has been invoked
>> 15:49:23.738 [DefaultMessageListenerContainer-1] DEBUG
>> permitted-feign-client-logger - Creating refresh token for
>> TokenCacheKey{user='wadaadmin', tenant='playground',
>> endpointSet='Optional.empty'}
>> 15:49:23.756 [DefaultMessageListenerContainer-1] DEBUG
>> permitted-feign-client-logger - Getting access token for
>> TokenCacheKey{user='wadaadmin', tenant='playground',
>> endpointSet='Optional.empty'}
>> 15:49:23.795 [DefaultMessageListenerContainer-1] DEBUG
>> notification-logger - Access token: Bearer {token}
>> 15:49:23.795 [DefaultMessageListenerContainer-1] DEBUG
>> notification-logger - Getting Customer
>> *15:49:23.824 [DefaultMessageListenerContainer-1] ERROR
>> notification-logger -
>> org.apache.fineract.cn.customer.api.v1.client.CustomerNotFoundException*
>> 15:51:58.897 [AsyncResolver-bootstrap-executor-0] INFO
>> c.n.d.s.r.aws.ConfigClusterResolver - Resolving eureka endpoints via
>> configuration
>>
>>
>>
>>
>>
>> On Sat, 15 Dec 2018 at 03:41, Isaac Kamga <is...@mifos.org> wrote:
>>
>>> Hello fineracters,
>>>
>>> Trust that this email finds you well.
>>>
>>> Special congratulations to our Google Summer of Code 2018 interns who
>>> are graduating from University !
>>>
>>> In an effort to simplify fineract-cn-demo-server and increase the
>>> number of eyeballs looking at the platform's code, I've looked into
>>> demo-server's ServiceRunner and service-starter and have the some
>>> questions which beg for clarification.
>>>
>>> 1. Is it compulsory that the wait time [1] between starting the
>>> microservices be 20 seconds ? Should this be reduced ? To what extent
>>> ?
>>>
>>> 2. After migrating each service [2] when persistence is true, should
>>> there be a 5 seconds sleep ?
>>>
>>> 3. In the tearDown() method [3], should services be killed in any
>>> order or in the reverse order in which they were started in the
>>> before() method [4] ?
>>>
>>> 4. +Ebenezer Graham Any special reason why new notificationsAdmin [5]
>>> role was created ? What if it's possible to use the existing Org Admin
>>> [6] role and user to allow for permissions related to the
>>> notifications service just like the other services do ?
>>>
>>> 5. Should there be a 40 seconds sleep [7] in Microservice's start()
>>> method ? Should this be reduced ?
>>>
>>> 6. +Markus Geiss Can we default CONCURRENCY from 3-10 to 1-1 in
>>> ActiveMQForTest [8] ? I remember your advice to Graham regarding
>>> reduction in the number of received events from 3 to 1.
>>>
>>> 7. +Myrle Krantz , How do we run demo-server jar file with debug
>>> option to start micro-services based on this [9] ? -Dsuspend=y
>>> -Daddress=3020 ? This could help update the How-To-Build wiki page .
>>>
>>> I understand that sometime it's better to apologize than ask for
>>> permission but given that we want demo-server working for everybody, I
>>> thought it would be necessary to ask even the most minute details
>>> concerning changes that affect these integration tests.
>>>
>>> Kindly advise on these issues.
>>>
>>> At Your Service,
>>> Isaac Kamga.
>>>
>>> [1]
>>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L338
>>>
>>> [2]
>>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L355
>>>
>>> [3]
>>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L266
>>>
>>> [4]
>>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L187
>>>
>>> [5]
>>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L653
>>>
>>> [6]
>>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L580
>>>
>>> [7]
>>> https://github.com/apache/fineract-cn-service-starter/blob/020dad06bf9f416d819911401e9b370cd155d936/src/main/java/org/apache/fineract/cn/test/servicestarter/Microservice.java#L178
>>>
>>> [8]
>>> https://github.com/apache/fineract-cn-service-starter/blob/020dad06bf9f416d819911401e9b370cd155d936/src/main/java/org/apache/fineract/cn/test/servicestarter/ActiveMQForTest.java#L81
>>>
>>> [9]
>>> https://github.com/apache/fineract-cn-service-starter/blob/020dad06bf9f416d819911401e9b370cd155d936/src/main/java/org/apache/fineract/cn/test/servicestarter/Microservice.java#L171
>>>
>>

-- 
Karthik Krishnan

Re: Simplifying Fineract CN Demo-server

Posted by Isaac Kamga <is...@mifos.org>.
Hello there,

@Ebenezer You're welcome to improve the Notification's service API docs ...
Btw, I never knew you were working on that already ( You should have
alerted the list ;-) ).

Concerning your feign client issue, please take a close look at Awasum's
recent response to Marta Jankovics and Peter Santa on thread titled
"[Fineract CN] feign client issues".

@Karthik Ananthakrishnan <ka...@gmail.com> , as concerns Simplifying
demo-server, could you kindly share your experience stopping provisioner
from starting every time and how much time that saved you ? What were the
cons and pros of this approach ?

Cheers,
Isaac Kamga.

On Thu, Jan 3, 2019 at 5:31 PM Ebenezer Graham <eg...@alustudent.com>
wrote:

> Hi Isaac,
>
> Concerning the 4th question, there is no special reason, We can use
> OrgAdmin.
>
> Thank you for documenting the notification API.
>
> I started the documentation here
> https://github.com/ebenezergraham/fineract-cn-notifications/tree/permitted-feign-client-auth/component-test/src/main/java/org/apache/fineract/cn/notification
> I couldn't submit it because of the Permitted client authentication which
> is still in progress.
>
> I have sent a PR so that you can assist in debugging this issue
>
> Please take a look at these files and snippet to aid you to understand
> what I am doing.
>
>
> https://github.com/ebenezergraham/fineract-cn-notifications/tree/permitted-feign-client-auth/service/src/main/java/org/apache/fineract/cn/notification/service/internal/identity
>
>
>
> https://github.com/ebenezergraham/fineract-cn-demo-server/blob/notification-permission-with-wadaadmin/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L497-L513
>
> And in the process of fixing the error highlighted below, I will change the
> user to orgadmin and take out wadaadmin.
>
> These are the logs from my build
> 15:48:14.482 [PollingServerListUpdater-0] INFO
> c.n.config.ChainedDynamicProperty - Flipping property:
> identity-v1.ribbon.ActiveConnectionsLimit to use NEXT property:
> niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit =
> 2147483647
> 15:48:14.897 [PollingServerListUpdater-1] INFO
> c.n.config.ChainedDynamicProperty - Flipping property:
> customer-v1.ribbon.ActiveConnectionsLimit to use NEXT property:
> niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit =
> 2147483647
> 15:49:23.738 [DefaultMessageListenerContainer-1] INFO  notification-logger
> - customerUpdatedEvents has been invoked
> 15:49:23.738 [DefaultMessageListenerContainer-1] DEBUG
> permitted-feign-client-logger - Creating refresh token for
> TokenCacheKey{user='wadaadmin', tenant='playground',
> endpointSet='Optional.empty'}
> 15:49:23.756 [DefaultMessageListenerContainer-1] DEBUG
> permitted-feign-client-logger - Getting access token for
> TokenCacheKey{user='wadaadmin', tenant='playground',
> endpointSet='Optional.empty'}
> 15:49:23.795 [DefaultMessageListenerContainer-1] DEBUG notification-logger
> - Access token: Bearer {token}
> 15:49:23.795 [DefaultMessageListenerContainer-1] DEBUG notification-logger
> - Getting Customer
> *15:49:23.824 [DefaultMessageListenerContainer-1] ERROR
> notification-logger -
> org.apache.fineract.cn.customer.api.v1.client.CustomerNotFoundException*
> 15:51:58.897 [AsyncResolver-bootstrap-executor-0] INFO
> c.n.d.s.r.aws.ConfigClusterResolver - Resolving eureka endpoints via
> configuration
>
>
>
>
>
> On Sat, 15 Dec 2018 at 03:41, Isaac Kamga <is...@mifos.org> wrote:
>
>> Hello fineracters,
>>
>> Trust that this email finds you well.
>>
>> Special congratulations to our Google Summer of Code 2018 interns who
>> are graduating from University !
>>
>> In an effort to simplify fineract-cn-demo-server and increase the
>> number of eyeballs looking at the platform's code, I've looked into
>> demo-server's ServiceRunner and service-starter and have the some
>> questions which beg for clarification.
>>
>> 1. Is it compulsory that the wait time [1] between starting the
>> microservices be 20 seconds ? Should this be reduced ? To what extent
>> ?
>>
>> 2. After migrating each service [2] when persistence is true, should
>> there be a 5 seconds sleep ?
>>
>> 3. In the tearDown() method [3], should services be killed in any
>> order or in the reverse order in which they were started in the
>> before() method [4] ?
>>
>> 4. +Ebenezer Graham Any special reason why new notificationsAdmin [5]
>> role was created ? What if it's possible to use the existing Org Admin
>> [6] role and user to allow for permissions related to the
>> notifications service just like the other services do ?
>>
>> 5. Should there be a 40 seconds sleep [7] in Microservice's start()
>> method ? Should this be reduced ?
>>
>> 6. +Markus Geiss Can we default CONCURRENCY from 3-10 to 1-1 in
>> ActiveMQForTest [8] ? I remember your advice to Graham regarding
>> reduction in the number of received events from 3 to 1.
>>
>> 7. +Myrle Krantz , How do we run demo-server jar file with debug
>> option to start micro-services based on this [9] ? -Dsuspend=y
>> -Daddress=3020 ? This could help update the How-To-Build wiki page .
>>
>> I understand that sometime it's better to apologize than ask for
>> permission but given that we want demo-server working for everybody, I
>> thought it would be necessary to ask even the most minute details
>> concerning changes that affect these integration tests.
>>
>> Kindly advise on these issues.
>>
>> At Your Service,
>> Isaac Kamga.
>>
>> [1]
>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L338
>>
>> [2]
>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L355
>>
>> [3]
>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L266
>>
>> [4]
>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L187
>>
>> [5]
>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L653
>>
>> [6]
>> https://github.com/apache/fineract-cn-demo-server/blob/8a55eb21ef5588796d9212266901b494cdf006f3/src/main/java/org/apache/fineract/cn/dev/ServiceRunner.java#L580
>>
>> [7]
>> https://github.com/apache/fineract-cn-service-starter/blob/020dad06bf9f416d819911401e9b370cd155d936/src/main/java/org/apache/fineract/cn/test/servicestarter/Microservice.java#L178
>>
>> [8]
>> https://github.com/apache/fineract-cn-service-starter/blob/020dad06bf9f416d819911401e9b370cd155d936/src/main/java/org/apache/fineract/cn/test/servicestarter/ActiveMQForTest.java#L81
>>
>> [9]
>> https://github.com/apache/fineract-cn-service-starter/blob/020dad06bf9f416d819911401e9b370cd155d936/src/main/java/org/apache/fineract/cn/test/servicestarter/Microservice.java#L171
>>
>