Hi all,

Currently I’m working on implementing HTTP carbon transport for Siddhi. The
problem I face there is that since MSF4J also using HTTP carbon transport
we are facing the issue of keeping single bossGroup and workGroup for both
MSF4J and Siddhi [1]. Therefore we cannot independently control the
configurations of thread groups in Siddhi level and MSF4J level. As the
offline discussion had with shafreen and rajith, I’m currently using the
the thread groups which created by MSF4J and start
ServerconnectorController [2] and cannot  stop it at siddhi level since it
would give exception [3] as it stops the eventloop groups still used by
MSF4J . Further, when we try to pause the HTTP transport in Siddhi level ,
it will block the  HTTP transport in MSF4J and stop the server as well.Any
 possible resolution for this issue is highly appreciated since this seems
to be a blocker when invoking HTTP carbon transport.  I have created an
issue to track on this[4].


[1]
https://github.com/wso2/carbon-transports/blob/master/http/org.wso2.carbon.transport.http.netty/src/main/java/org/wso2/carbon/transport/http/netty/internal/HTTPTransportContextHolder.java#L49-L63

[2]
https://github.com/wso2-extensions/siddhi-io-http/blob/master/component/src/main/java/org/wso2/extension/siddhi/io/http/source/HttpConnectorRegistry.java#L130-L134

[3]

[2017-07-30 22:47:09,324] ERROR
{io.netty.util.concurrent.DefaultPromise.rejectedExecution} - Failed to
submit a listener notification task. Event loop shut down?
java.util.concurrent.RejectedExecutionException: event executor terminated

   at
io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:821)

   at
io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:327)

   at
io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:320)

   at
io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:746)

   at
io.netty.util.concurrent.DefaultPromise.safeExecute(DefaultPromise.java:760)

   at
io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:428)

   at
io.netty.util.concurrent.DefaultPromise.setFailure(DefaultPromise.java:113)

   at
io.netty.channel.DefaultChannelPromise.setFailure(DefaultChannelPromise.java:87)

   at
io.netty.channel.AbstractChannelHandlerContext.safeExecute(AbstractChannelHandlerContext.java:1011)

   at
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:826)

   at
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:724)

   at
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:705)

   at
org.wso2.carbon.transport.http.netty.listener.ResponseCallback.done(ResponseCallback.java:108)

   at
org.wso2.msf4j.internal.entitywriter.ObjectEntityWriter.writeData(ObjectEntityWriter.java:57)

   at org.wso2.msf4j.Response.processEntity(Response.java:292)

   at org.wso2.msf4j.Response.send(Response.java:285)

   at
org.wso2.msf4j.internal.router.HttpMethodInfo.invoke(HttpMethodInfo.java:157)

   at
org.wso2.msf4j.internal.MSF4JMessageProcessor.dispatchMethod(MSF4JMessageProcessor.java:208)

   at
org.wso2.msf4j.internal.MSF4JMessageProcessor.lambda$receive$53(MSF4JMessageProcessor.java:120)

   at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

   at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

   at java.lang.Thread.run(Thread.java:748)

[4] https://github.com/wso2/carbon-transports/issues/340


Thanks & Regards,
Yasara.
-- 


*Yasara Dissanayake*
*Software Engineer*
*WSO2 Lanka (pvt) Ltd.*

*Web     : http://wso2.com/ <http://wso2.com/>*

*Email   : [email protected] <[email protected]>Mobile : +94702107422
<+94%2070%20210%207422>*
<https://lk.linkedin.com/in/dinalidabarera>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to