Hi Preston, I agree that we will need something similar to AsterixHyracksIntegrationUtil [1] to avoid code duplicates when starting local hyracks clusters (with which VXQueryApplication and REST Server also starts now). I will work on that and update my PR. I hope I will also be able to update the VXQuery CLI to use the REST server by this weekend as you have suggested here.
[1] https://github.com/apache/asterixdb/blob/master/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java Thanks and Regards, *Erandi Ganepola* Undergraduate BSc. Management and Information Technology (IT Sp.) University of Kelaniya, Sri Lanka <https://www.linkedin.com/in/erandiganepola/> <https://github.com/erandiganepola> <https://twitter.com/erandiganepola> On Thu, Jul 27, 2017 at 1:51 AM, Preston Carman <[email protected]> wrote: > Erandi's work on adding a RESTful HTTP API will be a nice improvement > for VXQuery. As we look at adding this code, I thought it would be > good to clarify where this code should live and what is in the new > maven project. Our current project hierarchy is shown in this diagram > [1]. To keep minimize our code paths for executing a query, I suggest > all queries be process through the RESTful HTTP API. For this to > happen, both XTest and the CLI would need to be update to used the new > REST API. In addition these projects would depend on the REST project. > The REST project would be responsible for compiling and executing the > query. [2] shows the new hierarchy. > > To help conslidate code for creating a local cluster, the REST project > will also include a class to start and stop a local cluster (similar > to AsterixHyracksIntegrationUtil in AsterixDB). The XTest project has > a local cluster for testing and the CLI has uses a local cluster when > no cluster ip address was provided. These will now need to used the > REST local cluster class and pass queries to the REST API for > processing. > > The VXQuery Server project will operate similar the current method. > Only now it will include a REST port and start the REST API with the > Cluster Controller. > > I think this is a good direction, what are your thoughts? > > > [1] https://docs.google.com/drawings/d/1XaVm97hO6L2cWRJfqVimXiC_ > RyPFw-gw9spw-8Lof5U/edit?usp=sharing > [2] https://docs.google.com/drawings/d/16xyO3TW_ > 9sqSAkFNcnlC4WzN4B3JBzYarQreQ_X438M/edit?usp=sharing > <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Virus-free. www.avg.com <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
