isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikhil Dhamapurkar <nikhil.dhamapur...@healthengine.com.au>
Subject RE: Swagger / Apache Isis response batching
Date Thu, 01 Feb 2018 05:05:08 GMT
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>
>
>



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message