Hi Dan,

I have created isis-example project repository [1] it has simple-app and small 
publisher application that sends post calls to apache isis Simple-app.
I tried to add tenancy but was not able to get it working, have commented the 
code in the simple app, the login screen was preventing  
isis-module-security-admin/pass from logging in.

I believe if you just run Startup.java class of http-publisher maven project 
while apache isis simple-app is running  ( existing isis app should work as I 
have commented the tenancy code in my application.)

The request / response takes ~ 1 sec for creating a new object if delay between 
requests is 5 sec, I have used vertx’s  httpClient and also added a vetx 
webclient  that sends a create request for simpleObjects, if the delay between 
object creation is reduced the response time increases.

[1]  https://dhamapur...@bitbucket.org/dhamapurkar/isis-example.git

Regards
Nikhil

From: Dan Haywood
Sent: 01 February 2018 18:53
To: users@isis.apache.org
Subject: Re: RE: Swagger / Apache Isis response batching

Hi Nikhil,

Could you put together a sample app to demonstrate the issue, in particular
how you are calling the rest API?

I'm not aware of any batching code in Isis itself, but I think I am
probably not fully understanding what you're aiming to do. A sample app
would make sure we're on the same page and give me a head start for
developing an improvement to Isis if it turns out we need one.

Thx,
Dan.

On Thu, 1 Feb 2018, 07:39 Andi Huber, <ahu...@apache.org> wrote:

> Ok, thanks Nikhil,
>
> this sounds like an issue - worth investigating - to me.
>
> Clarification: Tanancy logic is handled by the 'security' module that's
> provided by the 'incode platform', which is not part of Isis 'core'.
>
> Just to let you know: It's unlikely, that I myself, will look into
> incode's source-code, but hopefully someone else will help out!
>
> Regards, Andi
>
>
> On 2018/02/01 05:05:08, Nikhil Dhamapurkar <n...@healthengine.com.au>
> wrote:
> > Hi Andi,>
> >
> > I believe the issue should be easy to reproduce and gets elevated in
> an application which supports tenancy because when the object is going
> to be rendered for UI or sent to client it will pass through the
> implementation of interface ApplicationTenancyEvaluator which will need
> to read data from user or roles.>
> >
> > If you publish bulk insert requests 20-30 via swagger you will notice
> the data will get inserted in DB much ahead than the responses received
> on the client handler.>
> > I added small instrumentation in code with stop watch which had total
> time taken for the request /response, Time spent in tenancy checks ,
> time spent in Menu calls in Apache ISIS but the total client time is
> much more than sum of tenancy + method call execution time.>
> >
> > Regards>
> > Nikhil>
> >
> > From: Andi Huber>
> > Sent: 31 January 2018 14:46>
> > To: users@isis.apache.org>
> > Subject: Re: Swagger / Apache Isis response batching>
> >
> > Hi Nikhil,>
> >
> > I guess there is no such option, but I might be wrong.>
> >
> > From my understanding, any request you send to Isis (and swagger), is>
> > processed within a transaction Likely you don't get a response unless>
> > this particular transaction has completed (either with success or not).>
> >
> > Not sure if this applies to your use-case, but you might solve this by>
> > reducing the number of records done per batch.>
> >
> > If you believe this is an issue with Isis, we could look into it, but>
> > would need more information on how to reproduce the issue.>
> >
> > regards, Andi>
> >
> >
> > On 2018/01/29 16:04:12, Nikhil Dhamapurkar <n....@healthengine.com.au>>
> > wrote:>
> > >>
> > > Hi,>>
> > >>
> > > We are persisting data in DB using isis / swagger URI around 5500>
> > records. I can see the inserts in Database are being done at acceptable>
> > times; in a few milliseconds.>>
> > >>
> > > But I can see that swagger / apache isis is batching the responses and>
> > not sending them asap this delays the client from getting the response>
> > back in time.>>
> > >>
> > > Since he response is not received the client in its next cycle send>
> > the same request, is there a property where I can disable this
> batching ?>>
> > >>
> > > I have tried adding c3p0 for connection pooling and cached tenancy>
> > changes ins some cases to gain performance improvement but its not>
> > helping much.>>
> > >>
> > >>
> > > Statistics :>>
> > > DB insert per record ~ 2ms.>>
> > > The response time seen in client increases ( maybe queued ?) = 30 sec>
> > and more for later inserts.>>
> > >>
> > > Regards>>
> > > Nikhil>>
> > >>
> > >>
> >
> >
> >
>
>

Reply via email to