Hi Dilanka,

I took a brief look (sorry if I missed something) at the change and I do have a question on the intended deployment model. It seems to me, that you’ve created an HTTP interface that requires an additional servlet container (Tomcat) that the HTTP interface is deployed into.

Is that correct?

If so, I think that this is not the deployment model that we envisioned (and I hope that someone will correct me if that’s just me and not everybody who though about this before).

As VXQuery anyway runs at least one process/JVM (the cluster controller of the underlying Hyracks platform), the idea was to have this process also serve HTTP requests. And the CLI and the WebUI would then talk to this HTTP API. That way we would ensure that
a) the HTTP API exposes all functionality of a VXQuery cluster and
b) we don’t require too may process to start VXQuery.

So, specifically to the issue that you are seeing: the cluster should start the HTTP interface and the container hosting the HTTP interface should not start a cluster at all.

To run an HTTP service inside of the Hyracks cluster controller another project that’s based on Hyracks - Apache AsterixDB (incubating) [1] - uses Jetty [2]. However, another interesting option to do this that should be considered is Netty [3].

To get some more information about the cluster architecture of VXQuery you could also take a look at 2 technical reports on VXQuery [4] and the underlying Hyracks platform [5].

Does this help?
Till

[1] http://asterixdb.incubator.apache.org/
[2] https://eclipse.org/jetty/
[3] http://netty.io/
[4] http://arxiv.org/abs/1504.00331
[5] https://asterix.ics.uci.edu/pub/Hyracks.pdf


On 2 Mar 2016, at 7:51, Dilanka Rathnayake wrote:

I created a Restful API to get query result using vxquery CLI.

I implemented a new java class called vxquery.java and the controller of Rest service call the 'run()' method in vxquery.java. But, as soon as the
'run()' has been called an exception is thrown as follows.
'org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.algebricks.common.exceptions.AlgebricksException:
org.apache.vxquery.exceptions.SystemException: SYSE0001:'

If I run same method in same way through the main method in vxquery.java,
then it runs normally and gives the expected result.
When I was debugging,  I have found out that the exception is throwing
because of "request error" when calling the method
'deliverIncomingMessage()' in RPCInterface.class.

I think the above mentioned error is occurred because the CLI is starting a cluster and run the query even if a cluster has not been defined. At that
time we cant send requests to localhost by tomcat.
Is this correct? Does anyone has an idea to solve this. Appreciate any help
regarding this. I am trying to find a solution almost 2 days. Still no
success.

You can check my code here..
https://github.com/dilankamr/vxquery
Please check "readme" for more info.

*Best Regards.*

*Dilanka Rathnayake,*
*Department of Computer Engineering,*

*Faculty of Engineering,**University of Peradeniya,*
*Sri Lanka.*


* <https://lk.linkedin.com/in/dilankamr>
<https://www.facebook.com/Dilankamr>    *

Reply via email to