You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@vxquery.apache.org by Erandi Ganepola <er...@gmail.com> on 2017/06/03 06:47:39 UTC

Re: [GSoC-2017] [VXQUERY-180] (RESTful API) Discussion

Hi All,

I went through  Hyracks-http framework. I do agree with Till Westmann
since Jersey
is having both CDDL and GPL with classpath exception. I understand why its
not suiting to Apache license policies. So I'm starting to implement REST
API with Hyracks-http framework.
Thanks for all your information. More suggestions are highly appreciated.

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 Tue, May 30, 2017 at 11:23 PM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi Ian and Till,
>
> Thank you for your opinions. I will further look into them and get back to
> you with more details.
>
> 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 Tue, May 30, 2017 at 7:05 AM, Ian Maxon <im...@uci.edu> wrote:
>
>> Hey Erandi,
>>
>> Sorry for the late reply, this got buried in my mailing list tags. I
>> also think reusing hyracks-http is probably the way to go. I would
>> reckon there are probably more ways a library that would attempt to
>> constrain to RESTful-ness might be harder to use than vice-versa, but
>> this is just a feeling. Maybe if you could give an example of where
>> you think the advantage might be, I could understand the tradeoff
>> better.
>>
>> -Ian
>>
>> On Mon, May 29, 2017 at 10:12 AM, Till Westmann <ti...@apache.org> wrote:
>> > Hi Erandi,
>> >
>> > as you might have seen Hyracks (the runtime system underlying VXQuery)
>> has
>> > it’s own servlet-like framework [1] that is based on the Netty NIO
>> framework
>> > [2].
>> > One of the reasons why this framework was adopted is that the licenses
>> for
>> > the servlet API and corresponding frameworks like Jersey (CDDL and GPL
>> with
>> > classpath exception) are not ideal for downstream reuse of the project.
>> The
>> > Apache Software foundation categorizes the CDDL as "category B" [3]
>> > (acceptable with appropriate labeling) and the GPL with classpath
>> exception
>> > as "category X" [4] (not acceptable).
>> > As hyracks-http framework is available and as it makes downstream
>> > consumption easy, I think that your implementation of the HTTP API for
>> > VXQuery should be based on it.
>> >
>> > Cheers,
>> > Till
>> >
>> > [1]
>> > https://github.com/apache/asterixdb/tree/master/hyracks-full
>> stack/hyracks/hyracks-http
>> > [2] https://netty.io/
>> > [3] https://www.apache.org/legal/resolved.html#category-b
>> > [4] https://www.apache.org/legal/resolved.html#category-x
>> >
>> >
>> > On 25 May 2017, at 1:06, Erandi Ganepola wrote:
>> >
>> >> Hi Ian and Preston,
>> >>
>> >> I would be really grateful if you can look into my previous email in
>> which
>> >> I suggested few possible alternatives for the REST API implementation
>> and
>> >> kindly give your opinions on that.
>> >>
>> >> 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/erandiga
>> nepola>
>> >>
>> >> On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
>> >> <er...@gmail.com>
>> >> wrote:
>> >>
>> >>> Hi Ian and Preston,
>> >>>
>> >>> As we discussed, I went through the AsterixDB's REST API
>> implementation.
>> >>> They have written the REST API from scratch using servlet basics [1].
>> >>> What
>> >>> I feel is that it won't be efficient to put such effort to write
>> servlets
>> >>> from scratch since we have more easy to use, yet stable
>> implementations
>> >>> like jersey [2]. Therefore, my opinion is that using jersey[2] will
>> make
>> >>> the VXQuery REST API implementation much easier and easily
>> >>> understandable.
>> >>>
>> >>> However, I'm fine to continue on the REST server implementation with
>> any
>> >>> of those two methods (pure servlet based or Jersey & JAX-RS based).
>> >>> Please
>> >>> let me know your opinion on these two methods and which method you
>> think
>> >>> will be better.
>> >>>
>> >>> [1] https://github.com/apache/asterixdb/tree/master/asterixd
>> >>> b/asterix-app/src/main/java/org/apache/asterix/api/http/server
>> >>>
>> >>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapa
>> che%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%
>> 2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%
>> 2Fhttp%2Fserver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
>> >>> [2] https://jersey.java.net
>> >>>
>> >>> <https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&
>> sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
>> >>>
>> >>> 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>
>> >>>
>> >
>>
>
>

Re: [GSoC-2017] [VXQUERY-180] (RESTful API) Discussion

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Ian,

Thanks for the clarification. I saw AsterixDB is passing the
HyracksClientConnection through the ctx. Right now I have implemented
VXQuery to create a new HyracksClientConnection for each query request
since I thought there will be concurrency problems. I will alter that to
make use of only one connection along with proper synchronization.

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, Jun 22, 2017 at 4:05 AM, Ian Maxon <im...@uci.edu> wrote:

> You should only need one HyracksClientConnection to run queries. If
> you look in RestApiServlet in AsterixDB you can see that it's stored
> in a context that's kept between requests, and passed as a parameter
> to the query compiler which then uses it to submit the compiled
> Hyracks job for execution.
>
> On Wed, Jun 21, 2017 at 1:56 AM, Erandi Ganepola
> <er...@gmail.com> wrote:
> > Hi all,
> >
> > Small inquiry on HyracksConnection class. Do I need to create a new
> > HyracksConnection for each query that I'm trying to execute? Or can I
> reuse
> > the same connection?
> >
> > Thank you!
> >
> > *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 Tue, Jun 13, 2017 at 6:23 PM, Erandi Ganepola <
> erandiganepola@gmail.com>
> > wrote:
> >
> >> Hi all,
> >>
> >> One more question. I saw that VXQuery isn't using any logging framework
> >> (Other than java.util.logging). Is there any specific reason for that?
> >>
> >> Thank you!
> >>
> >> *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 Tue, Jun 13, 2017 at 6:12 AM, Till Westmann <ti...@apache.org>
> wrote:
> >>
> >>> I think that should be fine - assuming that we get the change merged
> soon.
> >>>
> >>> @Christina, @Preston: Do we have outstanding changes that need to go in
> >>> before we release current master?
> >>>
> >>> Cheers,
> >>> Till
> >>>
> >>> On 10 Jun 2017, at 1:31, Erandi Ganepola wrote:
> >>>
> >>> Hi All,
> >>>>
> >>>> Thanks for the clarification. I have started working by adding only
> >>>> *hyracks-http* dependency separately (which is from AsterixDB's
> inbuilt
> >>>> hyracks version available in maven repository [1]) to the "pom". I
> will
> >>>> update after merging the change to VXQuery. I hope that will be okay?
> >>>>
> >>>> [1]https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http
> >>>>
> >>>> 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/erandiga
> >>>> nepola>
> >>>>
> >>>> On Sat, Jun 10, 2017 at 3:26 AM, Preston Carman <pr...@apache.org>
> >>>> wrote:
> >>>>
> >>>> Yes it does require an updated. Till has been working on a PR for this
> >>>>> change [1]. You should be able to build off this branch for
> >>>>> development. We
> >>>>> are just waiting until after the next release of VXQuery to merge
> this
> >>>>> change. Christina is working on creating a new release with all the
> work
> >>>>> done to support the JSONiq extension to XQuery. Hopefully this will
> be
> >>>>> done
> >>>>> soon.
> >>>>>
> >>>>> [1] https://github.com/apache/vxquery/pull/168
> >>>>>
> >>>>> On Fri, Jun 9, 2017 at 12:14 PM, Ian Maxon <im...@uci.edu> wrote:
> >>>>>
> >>>>> I believe VXQuery needs to be updated to work with the latest
> Hyracks to
> >>>>>> use hyracks-http, though I think Till and Preston would know more on
> >>>>>> this
> >>>>>> topic than I
> >>>>>>
> >>>>>> On Wed, Jun 7, 2017 at 10:18 PM, Erandi Ganepola <
> >>>>>>
> >>>>> erandiganepola@gmail.com
> >>>>>
> >>>>>> wrote:
> >>>>>>>
> >>>>>>
> >>>>>> Hi all,
> >>>>>>>
> >>>>>>> As I noticed, VXQuery is using the main
> *incubator-asterixdb-hyracks*
> >>>>>>>
> >>>>>> [1]
> >>>>>
> >>>>>> project (0.2.17-incubating) while AsterixDB has an *inbuilt hyracks
> >>>>>>> version* [2] (stable release 0.3.1). Out of these two,
> *hyracks-http*
> >>>>>>> is
> >>>>>>> from AsterixDB's inbuilt hyracks version [3] (Main hyracks project
> >>>>>>>
> >>>>>> doesn't
> >>>>>
> >>>>>> have hyracks-http module) and is available in maven repository [4].
> I
> >>>>>>> assumed this isn't an issue and moved on. However, I would like to
> >>>>>>> know
> >>>>>>> what do you think on this?
> >>>>>>>
> >>>>>>> [1] https://github.com/apache/incubator-asterixdb-hyracks
> >>>>>>> [2] https://github.com/apache/asterixdb/tree/master/hyracks-
> fullstack
> >>>>>>> [3] https://github.com/apache/asterixdb/tree/master/hyracks-
> >>>>>>> fullstack/hyracks/hyracks-http
> >>>>>>> [4] https://mvnrepository.com/artifact/org.apache.hyracks/hyrack
> >>>>>>> s-http
> >>>>>>>
> >>>>>>> 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 Sat, Jun 3, 2017 at 12:17 PM, Erandi Ganepola <
> >>>>>>> erandiganepola@gmail.com> wrote:
> >>>>>>>
> >>>>>>> Hi All,
> >>>>>>>>
> >>>>>>>> I went through  Hyracks-http framework. I do agree with Till
> Westmann
> >>>>>>>> since Jersey is having both CDDL and GPL with classpath
> exception. I
> >>>>>>>> understand why its not suiting to Apache license policies. So I'm
> >>>>>>>> starting to implement REST API with Hyracks-http framework.
> >>>>>>>> Thanks for all your information. More suggestions are highly
> >>>>>>>>
> >>>>>>> appreciated.
> >>>>>
> >>>>>>
> >>>>>>>> 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 Tue, May 30, 2017 at 11:23 PM, Erandi Ganepola <
> >>>>>>>> erandiganepola@gmail.com> wrote:
> >>>>>>>>
> >>>>>>>> Hi Ian and Till,
> >>>>>>>>>
> >>>>>>>>> Thank you for your opinions. I will further look into them and
> get
> >>>>>>>>>
> >>>>>>>> back
> >>>>>
> >>>>>> to you with more details.
> >>>>>>>>>
> >>>>>>>>> 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 Tue, May 30, 2017 at 7:05 AM, Ian Maxon <im...@uci.edu>
> wrote:
> >>>>>>>>>
> >>>>>>>>> Hey Erandi,
> >>>>>>>>>>
> >>>>>>>>>> Sorry for the late reply, this got buried in my mailing list
> tags.
> >>>>>>>>>> I
> >>>>>>>>>> also think reusing hyracks-http is probably the way to go. I
> would
> >>>>>>>>>> reckon there are probably more ways a library that would
> attempt to
> >>>>>>>>>> constrain to RESTful-ness might be harder to use than
> vice-versa,
> >>>>>>>>>> but
> >>>>>>>>>> this is just a feeling. Maybe if you could give an example of
> where
> >>>>>>>>>> you think the advantage might be, I could understand the
> tradeoff
> >>>>>>>>>> better.
> >>>>>>>>>>
> >>>>>>>>>> -Ian
> >>>>>>>>>>
> >>>>>>>>>> On Mon, May 29, 2017 at 10:12 AM, Till Westmann <
> tillw@apache.org>
> >>>>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Hi Erandi,
> >>>>>>>>>>>
> >>>>>>>>>>> as you might have seen Hyracks (the runtime system underlying
> >>>>>>>>>>>
> >>>>>>>>>> VXQuery) has
> >>>>>>>>>>
> >>>>>>>>>>> it’s own servlet-like framework [1] that is based on the Netty
> NIO
> >>>>>>>>>>>
> >>>>>>>>>> framework
> >>>>>>>>>>
> >>>>>>>>>>> [2].
> >>>>>>>>>>> One of the reasons why this framework was adopted is that the
> >>>>>>>>>>>
> >>>>>>>>>> licenses for
> >>>>>>>>>>
> >>>>>>>>>>> the servlet API and corresponding frameworks like Jersey (CDDL
> and
> >>>>>>>>>>>
> >>>>>>>>>> GPL with
> >>>>>>>>>>
> >>>>>>>>>>> classpath exception) are not ideal for downstream reuse of the
> >>>>>>>>>>>
> >>>>>>>>>> project. The
> >>>>>>>>>>
> >>>>>>>>>>> Apache Software foundation categorizes the CDDL as "category B"
> >>>>>>>>>>> [3]
> >>>>>>>>>>> (acceptable with appropriate labeling) and the GPL with
> classpath
> >>>>>>>>>>>
> >>>>>>>>>> exception
> >>>>>>>>>>
> >>>>>>>>>>> as "category X" [4] (not acceptable).
> >>>>>>>>>>> As hyracks-http framework is available and as it makes
> downstream
> >>>>>>>>>>> consumption easy, I think that your implementation of the HTTP
> API
> >>>>>>>>>>>
> >>>>>>>>>> for
> >>>>>>>>>>
> >>>>>>>>>>> VXQuery should be based on it.
> >>>>>>>>>>>
> >>>>>>>>>>> Cheers,
> >>>>>>>>>>> Till
> >>>>>>>>>>>
> >>>>>>>>>>> [1]
> >>>>>>>>>>> https://github.com/apache/asterixdb/tree/master/hyracks-full
> >>>>>>>>>>>
> >>>>>>>>>> stack/hyracks/hyracks-http
> >>>>>>>>>>
> >>>>>>>>>>> [2] https://netty.io/
> >>>>>>>>>>> [3] https://www.apache.org/legal/resolved.html#category-b
> >>>>>>>>>>> [4] https://www.apache.org/legal/resolved.html#category-x
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> On 25 May 2017, at 1:06, Erandi Ganepola wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> Hi Ian and Preston,
> >>>>>>>>>>>>
> >>>>>>>>>>>> I would be really grateful if you can look into my previous
> email
> >>>>>>>>>>>>
> >>>>>>>>>>> in which
> >>>>>>>>>>
> >>>>>>>>>>> I suggested few possible alternatives for the REST API
> >>>>>>>>>>>>
> >>>>>>>>>>> implementation and
> >>>>>>>>>>
> >>>>>>>>>>> kindly give your opinions on that.
> >>>>>>>>>>>>
> >>>>>>>>>>>> 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/erandiga
> >>>>>
> >>>>>> nepola>
> >>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>> On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
> >>>>>>>>>>>> <er...@gmail.com>
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>> Hi Ian and Preston,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> As we discussed, I went through the AsterixDB's REST API
> >>>>>>>>>>>>>
> >>>>>>>>>>>> implementation.
> >>>>>>>>>>
> >>>>>>>>>>> They have written the REST API from scratch using servlet
> basics
> >>>>>>>>>>>>>
> >>>>>>>>>>>> [1].
> >>>>>>>>>>
> >>>>>>>>>>> What
> >>>>>>>>>>>>> I feel is that it won't be efficient to put such effort to
> write
> >>>>>>>>>>>>>
> >>>>>>>>>>>> servlets
> >>>>>>>>>>
> >>>>>>>>>>> from scratch since we have more easy to use, yet stable
> >>>>>>>>>>>>>
> >>>>>>>>>>>> implementations
> >>>>>>>>>>
> >>>>>>>>>>> like jersey [2]. Therefore, my opinion is that using jersey[2]
> >>>>>>>>>>>>>
> >>>>>>>>>>>> will make
> >>>>>>>>>>
> >>>>>>>>>>> the VXQuery REST API implementation much easier and easily
> >>>>>>>>>>>>> understandable.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> However, I'm fine to continue on the REST server
> implementation
> >>>>>>>>>>>>>
> >>>>>>>>>>>> with any
> >>>>>>>>>>
> >>>>>>>>>>> of those two methods (pure servlet based or Jersey & JAX-RS
> >>>>>>>>>>>>>
> >>>>>>>>>>>> based).
> >>>>>
> >>>>>> Please
> >>>>>>>>>>>>> let me know your opinion on these two methods and which
> method
> >>>>>>>>>>>>>
> >>>>>>>>>>>> you
> >>>>>
> >>>>>> think
> >>>>>>>>>>
> >>>>>>>>>>> will be better.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> [1] https://github.com/apache/asterixdb/tree/master/asterixd
> >>>>>>>>>>>>> b/asterix-app/src/main/java/org/apache/asterix/api/http/
> server
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapa
> >>>>>>>>>>>>>
> >>>>>>>>>>>> che%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%2F
> >>>>>>>>>> src%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%2Fhttp%2Fse
> >>>>>>>>>> rver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
> >>>>>>>>>>
> >>>>>>>>>>> [2] https://jersey.java.net
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&
> >>>>>>>>>>>>>
> >>>>>>>>>>>> sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
> >>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>>> 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>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>
>

Re: [GSoC-2017] [VXQUERY-180] (RESTful API) Discussion

Posted by Ian Maxon <im...@uci.edu>.
You should only need one HyracksClientConnection to run queries. If
you look in RestApiServlet in AsterixDB you can see that it's stored
in a context that's kept between requests, and passed as a parameter
to the query compiler which then uses it to submit the compiled
Hyracks job for execution.

On Wed, Jun 21, 2017 at 1:56 AM, Erandi Ganepola
<er...@gmail.com> wrote:
> Hi all,
>
> Small inquiry on HyracksConnection class. Do I need to create a new
> HyracksConnection for each query that I'm trying to execute? Or can I reuse
> the same connection?
>
> Thank you!
>
> *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 Tue, Jun 13, 2017 at 6:23 PM, Erandi Ganepola <er...@gmail.com>
> wrote:
>
>> Hi all,
>>
>> One more question. I saw that VXQuery isn't using any logging framework
>> (Other than java.util.logging). Is there any specific reason for that?
>>
>> Thank you!
>>
>> *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 Tue, Jun 13, 2017 at 6:12 AM, Till Westmann <ti...@apache.org> wrote:
>>
>>> I think that should be fine - assuming that we get the change merged soon.
>>>
>>> @Christina, @Preston: Do we have outstanding changes that need to go in
>>> before we release current master?
>>>
>>> Cheers,
>>> Till
>>>
>>> On 10 Jun 2017, at 1:31, Erandi Ganepola wrote:
>>>
>>> Hi All,
>>>>
>>>> Thanks for the clarification. I have started working by adding only
>>>> *hyracks-http* dependency separately (which is from AsterixDB's inbuilt
>>>> hyracks version available in maven repository [1]) to the "pom". I will
>>>> update after merging the change to VXQuery. I hope that will be okay?
>>>>
>>>> [1]https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http
>>>>
>>>> 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/erandiga
>>>> nepola>
>>>>
>>>> On Sat, Jun 10, 2017 at 3:26 AM, Preston Carman <pr...@apache.org>
>>>> wrote:
>>>>
>>>> Yes it does require an updated. Till has been working on a PR for this
>>>>> change [1]. You should be able to build off this branch for
>>>>> development. We
>>>>> are just waiting until after the next release of VXQuery to merge this
>>>>> change. Christina is working on creating a new release with all the work
>>>>> done to support the JSONiq extension to XQuery. Hopefully this will be
>>>>> done
>>>>> soon.
>>>>>
>>>>> [1] https://github.com/apache/vxquery/pull/168
>>>>>
>>>>> On Fri, Jun 9, 2017 at 12:14 PM, Ian Maxon <im...@uci.edu> wrote:
>>>>>
>>>>> I believe VXQuery needs to be updated to work with the latest Hyracks to
>>>>>> use hyracks-http, though I think Till and Preston would know more on
>>>>>> this
>>>>>> topic than I
>>>>>>
>>>>>> On Wed, Jun 7, 2017 at 10:18 PM, Erandi Ganepola <
>>>>>>
>>>>> erandiganepola@gmail.com
>>>>>
>>>>>> wrote:
>>>>>>>
>>>>>>
>>>>>> Hi all,
>>>>>>>
>>>>>>> As I noticed, VXQuery is using the main *incubator-asterixdb-hyracks*
>>>>>>>
>>>>>> [1]
>>>>>
>>>>>> project (0.2.17-incubating) while AsterixDB has an *inbuilt hyracks
>>>>>>> version* [2] (stable release 0.3.1). Out of these two, *hyracks-http*
>>>>>>> is
>>>>>>> from AsterixDB's inbuilt hyracks version [3] (Main hyracks project
>>>>>>>
>>>>>> doesn't
>>>>>
>>>>>> have hyracks-http module) and is available in maven repository [4]. I
>>>>>>> assumed this isn't an issue and moved on. However, I would like to
>>>>>>> know
>>>>>>> what do you think on this?
>>>>>>>
>>>>>>> [1] https://github.com/apache/incubator-asterixdb-hyracks
>>>>>>> [2] https://github.com/apache/asterixdb/tree/master/hyracks-fullstack
>>>>>>> [3] https://github.com/apache/asterixdb/tree/master/hyracks-
>>>>>>> fullstack/hyracks/hyracks-http
>>>>>>> [4] https://mvnrepository.com/artifact/org.apache.hyracks/hyrack
>>>>>>> s-http
>>>>>>>
>>>>>>> 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 Sat, Jun 3, 2017 at 12:17 PM, Erandi Ganepola <
>>>>>>> erandiganepola@gmail.com> wrote:
>>>>>>>
>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> I went through  Hyracks-http framework. I do agree with Till Westmann
>>>>>>>> since Jersey is having both CDDL and GPL with classpath exception. I
>>>>>>>> understand why its not suiting to Apache license policies. So I'm
>>>>>>>> starting to implement REST API with Hyracks-http framework.
>>>>>>>> Thanks for all your information. More suggestions are highly
>>>>>>>>
>>>>>>> appreciated.
>>>>>
>>>>>>
>>>>>>>> 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 Tue, May 30, 2017 at 11:23 PM, Erandi Ganepola <
>>>>>>>> erandiganepola@gmail.com> wrote:
>>>>>>>>
>>>>>>>> Hi Ian and Till,
>>>>>>>>>
>>>>>>>>> Thank you for your opinions. I will further look into them and get
>>>>>>>>>
>>>>>>>> back
>>>>>
>>>>>> to you with more details.
>>>>>>>>>
>>>>>>>>> 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 Tue, May 30, 2017 at 7:05 AM, Ian Maxon <im...@uci.edu> wrote:
>>>>>>>>>
>>>>>>>>> Hey Erandi,
>>>>>>>>>>
>>>>>>>>>> Sorry for the late reply, this got buried in my mailing list tags.
>>>>>>>>>> I
>>>>>>>>>> also think reusing hyracks-http is probably the way to go. I would
>>>>>>>>>> reckon there are probably more ways a library that would attempt to
>>>>>>>>>> constrain to RESTful-ness might be harder to use than vice-versa,
>>>>>>>>>> but
>>>>>>>>>> this is just a feeling. Maybe if you could give an example of where
>>>>>>>>>> you think the advantage might be, I could understand the tradeoff
>>>>>>>>>> better.
>>>>>>>>>>
>>>>>>>>>> -Ian
>>>>>>>>>>
>>>>>>>>>> On Mon, May 29, 2017 at 10:12 AM, Till Westmann <ti...@apache.org>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Erandi,
>>>>>>>>>>>
>>>>>>>>>>> as you might have seen Hyracks (the runtime system underlying
>>>>>>>>>>>
>>>>>>>>>> VXQuery) has
>>>>>>>>>>
>>>>>>>>>>> it’s own servlet-like framework [1] that is based on the Netty NIO
>>>>>>>>>>>
>>>>>>>>>> framework
>>>>>>>>>>
>>>>>>>>>>> [2].
>>>>>>>>>>> One of the reasons why this framework was adopted is that the
>>>>>>>>>>>
>>>>>>>>>> licenses for
>>>>>>>>>>
>>>>>>>>>>> the servlet API and corresponding frameworks like Jersey (CDDL and
>>>>>>>>>>>
>>>>>>>>>> GPL with
>>>>>>>>>>
>>>>>>>>>>> classpath exception) are not ideal for downstream reuse of the
>>>>>>>>>>>
>>>>>>>>>> project. The
>>>>>>>>>>
>>>>>>>>>>> Apache Software foundation categorizes the CDDL as "category B"
>>>>>>>>>>> [3]
>>>>>>>>>>> (acceptable with appropriate labeling) and the GPL with classpath
>>>>>>>>>>>
>>>>>>>>>> exception
>>>>>>>>>>
>>>>>>>>>>> as "category X" [4] (not acceptable).
>>>>>>>>>>> As hyracks-http framework is available and as it makes downstream
>>>>>>>>>>> consumption easy, I think that your implementation of the HTTP API
>>>>>>>>>>>
>>>>>>>>>> for
>>>>>>>>>>
>>>>>>>>>>> VXQuery should be based on it.
>>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>> Till
>>>>>>>>>>>
>>>>>>>>>>> [1]
>>>>>>>>>>> https://github.com/apache/asterixdb/tree/master/hyracks-full
>>>>>>>>>>>
>>>>>>>>>> stack/hyracks/hyracks-http
>>>>>>>>>>
>>>>>>>>>>> [2] https://netty.io/
>>>>>>>>>>> [3] https://www.apache.org/legal/resolved.html#category-b
>>>>>>>>>>> [4] https://www.apache.org/legal/resolved.html#category-x
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 25 May 2017, at 1:06, Erandi Ganepola wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi Ian and Preston,
>>>>>>>>>>>>
>>>>>>>>>>>> I would be really grateful if you can look into my previous email
>>>>>>>>>>>>
>>>>>>>>>>> in which
>>>>>>>>>>
>>>>>>>>>>> I suggested few possible alternatives for the REST API
>>>>>>>>>>>>
>>>>>>>>>>> implementation and
>>>>>>>>>>
>>>>>>>>>>> kindly give your opinions on that.
>>>>>>>>>>>>
>>>>>>>>>>>> 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/erandiga
>>>>>
>>>>>> nepola>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
>>>>>>>>>>>> <er...@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Hi Ian and Preston,
>>>>>>>>>>>>>
>>>>>>>>>>>>> As we discussed, I went through the AsterixDB's REST API
>>>>>>>>>>>>>
>>>>>>>>>>>> implementation.
>>>>>>>>>>
>>>>>>>>>>> They have written the REST API from scratch using servlet basics
>>>>>>>>>>>>>
>>>>>>>>>>>> [1].
>>>>>>>>>>
>>>>>>>>>>> What
>>>>>>>>>>>>> I feel is that it won't be efficient to put such effort to write
>>>>>>>>>>>>>
>>>>>>>>>>>> servlets
>>>>>>>>>>
>>>>>>>>>>> from scratch since we have more easy to use, yet stable
>>>>>>>>>>>>>
>>>>>>>>>>>> implementations
>>>>>>>>>>
>>>>>>>>>>> like jersey [2]. Therefore, my opinion is that using jersey[2]
>>>>>>>>>>>>>
>>>>>>>>>>>> will make
>>>>>>>>>>
>>>>>>>>>>> the VXQuery REST API implementation much easier and easily
>>>>>>>>>>>>> understandable.
>>>>>>>>>>>>>
>>>>>>>>>>>>> However, I'm fine to continue on the REST server implementation
>>>>>>>>>>>>>
>>>>>>>>>>>> with any
>>>>>>>>>>
>>>>>>>>>>> of those two methods (pure servlet based or Jersey & JAX-RS
>>>>>>>>>>>>>
>>>>>>>>>>>> based).
>>>>>
>>>>>> Please
>>>>>>>>>>>>> let me know your opinion on these two methods and which method
>>>>>>>>>>>>>
>>>>>>>>>>>> you
>>>>>
>>>>>> think
>>>>>>>>>>
>>>>>>>>>>> will be better.
>>>>>>>>>>>>>
>>>>>>>>>>>>> [1] https://github.com/apache/asterixdb/tree/master/asterixd
>>>>>>>>>>>>> b/asterix-app/src/main/java/org/apache/asterix/api/http/server
>>>>>>>>>>>>>
>>>>>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapa
>>>>>>>>>>>>>
>>>>>>>>>>>> che%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%2F
>>>>>>>>>> src%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%2Fhttp%2Fse
>>>>>>>>>> rver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
>>>>>>>>>>
>>>>>>>>>>> [2] https://jersey.java.net
>>>>>>>>>>>>>
>>>>>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&
>>>>>>>>>>>>>
>>>>>>>>>>>> sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>> 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>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>

Re: [GSoC-2017] [VXQUERY-180] (RESTful API) Discussion

Posted by Erandi Ganepola <er...@gmail.com>.
Hi all,

Small inquiry on HyracksConnection class. Do I need to create a new
HyracksConnection for each query that I'm trying to execute? Or can I reuse
the same connection?

Thank you!

*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 Tue, Jun 13, 2017 at 6:23 PM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi all,
>
> One more question. I saw that VXQuery isn't using any logging framework
> (Other than java.util.logging). Is there any specific reason for that?
>
> Thank you!
>
> *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 Tue, Jun 13, 2017 at 6:12 AM, Till Westmann <ti...@apache.org> wrote:
>
>> I think that should be fine - assuming that we get the change merged soon.
>>
>> @Christina, @Preston: Do we have outstanding changes that need to go in
>> before we release current master?
>>
>> Cheers,
>> Till
>>
>> On 10 Jun 2017, at 1:31, Erandi Ganepola wrote:
>>
>> Hi All,
>>>
>>> Thanks for the clarification. I have started working by adding only
>>> *hyracks-http* dependency separately (which is from AsterixDB's inbuilt
>>> hyracks version available in maven repository [1]) to the "pom". I will
>>> update after merging the change to VXQuery. I hope that will be okay?
>>>
>>> [1]https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http
>>>
>>> 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/erandiga
>>> nepola>
>>>
>>> On Sat, Jun 10, 2017 at 3:26 AM, Preston Carman <pr...@apache.org>
>>> wrote:
>>>
>>> Yes it does require an updated. Till has been working on a PR for this
>>>> change [1]. You should be able to build off this branch for
>>>> development. We
>>>> are just waiting until after the next release of VXQuery to merge this
>>>> change. Christina is working on creating a new release with all the work
>>>> done to support the JSONiq extension to XQuery. Hopefully this will be
>>>> done
>>>> soon.
>>>>
>>>> [1] https://github.com/apache/vxquery/pull/168
>>>>
>>>> On Fri, Jun 9, 2017 at 12:14 PM, Ian Maxon <im...@uci.edu> wrote:
>>>>
>>>> I believe VXQuery needs to be updated to work with the latest Hyracks to
>>>>> use hyracks-http, though I think Till and Preston would know more on
>>>>> this
>>>>> topic than I
>>>>>
>>>>> On Wed, Jun 7, 2017 at 10:18 PM, Erandi Ganepola <
>>>>>
>>>> erandiganepola@gmail.com
>>>>
>>>>> wrote:
>>>>>>
>>>>>
>>>>> Hi all,
>>>>>>
>>>>>> As I noticed, VXQuery is using the main *incubator-asterixdb-hyracks*
>>>>>>
>>>>> [1]
>>>>
>>>>> project (0.2.17-incubating) while AsterixDB has an *inbuilt hyracks
>>>>>> version* [2] (stable release 0.3.1). Out of these two, *hyracks-http*
>>>>>> is
>>>>>> from AsterixDB's inbuilt hyracks version [3] (Main hyracks project
>>>>>>
>>>>> doesn't
>>>>
>>>>> have hyracks-http module) and is available in maven repository [4]. I
>>>>>> assumed this isn't an issue and moved on. However, I would like to
>>>>>> know
>>>>>> what do you think on this?
>>>>>>
>>>>>> [1] https://github.com/apache/incubator-asterixdb-hyracks
>>>>>> [2] https://github.com/apache/asterixdb/tree/master/hyracks-fullstack
>>>>>> [3] https://github.com/apache/asterixdb/tree/master/hyracks-
>>>>>> fullstack/hyracks/hyracks-http
>>>>>> [4] https://mvnrepository.com/artifact/org.apache.hyracks/hyrack
>>>>>> s-http
>>>>>>
>>>>>> 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 Sat, Jun 3, 2017 at 12:17 PM, Erandi Ganepola <
>>>>>> erandiganepola@gmail.com> wrote:
>>>>>>
>>>>>> Hi All,
>>>>>>>
>>>>>>> I went through  Hyracks-http framework. I do agree with Till Westmann
>>>>>>> since Jersey is having both CDDL and GPL with classpath exception. I
>>>>>>> understand why its not suiting to Apache license policies. So I'm
>>>>>>> starting to implement REST API with Hyracks-http framework.
>>>>>>> Thanks for all your information. More suggestions are highly
>>>>>>>
>>>>>> appreciated.
>>>>
>>>>>
>>>>>>> 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 Tue, May 30, 2017 at 11:23 PM, Erandi Ganepola <
>>>>>>> erandiganepola@gmail.com> wrote:
>>>>>>>
>>>>>>> Hi Ian and Till,
>>>>>>>>
>>>>>>>> Thank you for your opinions. I will further look into them and get
>>>>>>>>
>>>>>>> back
>>>>
>>>>> to you with more details.
>>>>>>>>
>>>>>>>> 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 Tue, May 30, 2017 at 7:05 AM, Ian Maxon <im...@uci.edu> wrote:
>>>>>>>>
>>>>>>>> Hey Erandi,
>>>>>>>>>
>>>>>>>>> Sorry for the late reply, this got buried in my mailing list tags.
>>>>>>>>> I
>>>>>>>>> also think reusing hyracks-http is probably the way to go. I would
>>>>>>>>> reckon there are probably more ways a library that would attempt to
>>>>>>>>> constrain to RESTful-ness might be harder to use than vice-versa,
>>>>>>>>> but
>>>>>>>>> this is just a feeling. Maybe if you could give an example of where
>>>>>>>>> you think the advantage might be, I could understand the tradeoff
>>>>>>>>> better.
>>>>>>>>>
>>>>>>>>> -Ian
>>>>>>>>>
>>>>>>>>> On Mon, May 29, 2017 at 10:12 AM, Till Westmann <ti...@apache.org>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Erandi,
>>>>>>>>>>
>>>>>>>>>> as you might have seen Hyracks (the runtime system underlying
>>>>>>>>>>
>>>>>>>>> VXQuery) has
>>>>>>>>>
>>>>>>>>>> it’s own servlet-like framework [1] that is based on the Netty NIO
>>>>>>>>>>
>>>>>>>>> framework
>>>>>>>>>
>>>>>>>>>> [2].
>>>>>>>>>> One of the reasons why this framework was adopted is that the
>>>>>>>>>>
>>>>>>>>> licenses for
>>>>>>>>>
>>>>>>>>>> the servlet API and corresponding frameworks like Jersey (CDDL and
>>>>>>>>>>
>>>>>>>>> GPL with
>>>>>>>>>
>>>>>>>>>> classpath exception) are not ideal for downstream reuse of the
>>>>>>>>>>
>>>>>>>>> project. The
>>>>>>>>>
>>>>>>>>>> Apache Software foundation categorizes the CDDL as "category B"
>>>>>>>>>> [3]
>>>>>>>>>> (acceptable with appropriate labeling) and the GPL with classpath
>>>>>>>>>>
>>>>>>>>> exception
>>>>>>>>>
>>>>>>>>>> as "category X" [4] (not acceptable).
>>>>>>>>>> As hyracks-http framework is available and as it makes downstream
>>>>>>>>>> consumption easy, I think that your implementation of the HTTP API
>>>>>>>>>>
>>>>>>>>> for
>>>>>>>>>
>>>>>>>>>> VXQuery should be based on it.
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>> Till
>>>>>>>>>>
>>>>>>>>>> [1]
>>>>>>>>>> https://github.com/apache/asterixdb/tree/master/hyracks-full
>>>>>>>>>>
>>>>>>>>> stack/hyracks/hyracks-http
>>>>>>>>>
>>>>>>>>>> [2] https://netty.io/
>>>>>>>>>> [3] https://www.apache.org/legal/resolved.html#category-b
>>>>>>>>>> [4] https://www.apache.org/legal/resolved.html#category-x
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 25 May 2017, at 1:06, Erandi Ganepola wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Ian and Preston,
>>>>>>>>>>>
>>>>>>>>>>> I would be really grateful if you can look into my previous email
>>>>>>>>>>>
>>>>>>>>>> in which
>>>>>>>>>
>>>>>>>>>> I suggested few possible alternatives for the REST API
>>>>>>>>>>>
>>>>>>>>>> implementation and
>>>>>>>>>
>>>>>>>>>> kindly give your opinions on that.
>>>>>>>>>>>
>>>>>>>>>>> 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/erandiga
>>>>
>>>>> nepola>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
>>>>>>>>>>> <er...@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi Ian and Preston,
>>>>>>>>>>>>
>>>>>>>>>>>> As we discussed, I went through the AsterixDB's REST API
>>>>>>>>>>>>
>>>>>>>>>>> implementation.
>>>>>>>>>
>>>>>>>>>> They have written the REST API from scratch using servlet basics
>>>>>>>>>>>>
>>>>>>>>>>> [1].
>>>>>>>>>
>>>>>>>>>> What
>>>>>>>>>>>> I feel is that it won't be efficient to put such effort to write
>>>>>>>>>>>>
>>>>>>>>>>> servlets
>>>>>>>>>
>>>>>>>>>> from scratch since we have more easy to use, yet stable
>>>>>>>>>>>>
>>>>>>>>>>> implementations
>>>>>>>>>
>>>>>>>>>> like jersey [2]. Therefore, my opinion is that using jersey[2]
>>>>>>>>>>>>
>>>>>>>>>>> will make
>>>>>>>>>
>>>>>>>>>> the VXQuery REST API implementation much easier and easily
>>>>>>>>>>>> understandable.
>>>>>>>>>>>>
>>>>>>>>>>>> However, I'm fine to continue on the REST server implementation
>>>>>>>>>>>>
>>>>>>>>>>> with any
>>>>>>>>>
>>>>>>>>>> of those two methods (pure servlet based or Jersey & JAX-RS
>>>>>>>>>>>>
>>>>>>>>>>> based).
>>>>
>>>>> Please
>>>>>>>>>>>> let me know your opinion on these two methods and which method
>>>>>>>>>>>>
>>>>>>>>>>> you
>>>>
>>>>> think
>>>>>>>>>
>>>>>>>>>> will be better.
>>>>>>>>>>>>
>>>>>>>>>>>> [1] https://github.com/apache/asterixdb/tree/master/asterixd
>>>>>>>>>>>> b/asterix-app/src/main/java/org/apache/asterix/api/http/server
>>>>>>>>>>>>
>>>>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapa
>>>>>>>>>>>>
>>>>>>>>>>> che%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%2F
>>>>>>>>> src%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%2Fhttp%2Fse
>>>>>>>>> rver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
>>>>>>>>>
>>>>>>>>>> [2] https://jersey.java.net
>>>>>>>>>>>>
>>>>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&
>>>>>>>>>>>>
>>>>>>>>>>> sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>> 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>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>

Re: [GSoC-2017] [VXQUERY-180] (RESTful API) Discussion

Posted by Erandi Ganepola <er...@gmail.com>.
Hi all,

One more question. I saw that VXQuery isn't using any logging framework
(Other than java.util.logging). Is there any specific reason for that?

Thank you!

*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 Tue, Jun 13, 2017 at 6:12 AM, Till Westmann <ti...@apache.org> wrote:

> I think that should be fine - assuming that we get the change merged soon.
>
> @Christina, @Preston: Do we have outstanding changes that need to go in
> before we release current master?
>
> Cheers,
> Till
>
> On 10 Jun 2017, at 1:31, Erandi Ganepola wrote:
>
> Hi All,
>>
>> Thanks for the clarification. I have started working by adding only
>> *hyracks-http* dependency separately (which is from AsterixDB's inbuilt
>> hyracks version available in maven repository [1]) to the "pom". I will
>> update after merging the change to VXQuery. I hope that will be okay?
>>
>> [1]https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http
>>
>> 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 Sat, Jun 10, 2017 at 3:26 AM, Preston Carman <pr...@apache.org>
>> wrote:
>>
>> Yes it does require an updated. Till has been working on a PR for this
>>> change [1]. You should be able to build off this branch for development.
>>> We
>>> are just waiting until after the next release of VXQuery to merge this
>>> change. Christina is working on creating a new release with all the work
>>> done to support the JSONiq extension to XQuery. Hopefully this will be
>>> done
>>> soon.
>>>
>>> [1] https://github.com/apache/vxquery/pull/168
>>>
>>> On Fri, Jun 9, 2017 at 12:14 PM, Ian Maxon <im...@uci.edu> wrote:
>>>
>>> I believe VXQuery needs to be updated to work with the latest Hyracks to
>>>> use hyracks-http, though I think Till and Preston would know more on
>>>> this
>>>> topic than I
>>>>
>>>> On Wed, Jun 7, 2017 at 10:18 PM, Erandi Ganepola <
>>>>
>>> erandiganepola@gmail.com
>>>
>>>> wrote:
>>>>>
>>>>
>>>> Hi all,
>>>>>
>>>>> As I noticed, VXQuery is using the main *incubator-asterixdb-hyracks*
>>>>>
>>>> [1]
>>>
>>>> project (0.2.17-incubating) while AsterixDB has an *inbuilt hyracks
>>>>> version* [2] (stable release 0.3.1). Out of these two, *hyracks-http*
>>>>> is
>>>>> from AsterixDB's inbuilt hyracks version [3] (Main hyracks project
>>>>>
>>>> doesn't
>>>
>>>> have hyracks-http module) and is available in maven repository [4]. I
>>>>> assumed this isn't an issue and moved on. However, I would like to know
>>>>> what do you think on this?
>>>>>
>>>>> [1] https://github.com/apache/incubator-asterixdb-hyracks
>>>>> [2] https://github.com/apache/asterixdb/tree/master/hyracks-fullstack
>>>>> [3] https://github.com/apache/asterixdb/tree/master/hyracks-
>>>>> fullstack/hyracks/hyracks-http
>>>>> [4] https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http
>>>>>
>>>>> 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 Sat, Jun 3, 2017 at 12:17 PM, Erandi Ganepola <
>>>>> erandiganepola@gmail.com> wrote:
>>>>>
>>>>> Hi All,
>>>>>>
>>>>>> I went through  Hyracks-http framework. I do agree with Till Westmann
>>>>>> since Jersey is having both CDDL and GPL with classpath exception. I
>>>>>> understand why its not suiting to Apache license policies. So I'm
>>>>>> starting to implement REST API with Hyracks-http framework.
>>>>>> Thanks for all your information. More suggestions are highly
>>>>>>
>>>>> appreciated.
>>>
>>>>
>>>>>> 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 Tue, May 30, 2017 at 11:23 PM, Erandi Ganepola <
>>>>>> erandiganepola@gmail.com> wrote:
>>>>>>
>>>>>> Hi Ian and Till,
>>>>>>>
>>>>>>> Thank you for your opinions. I will further look into them and get
>>>>>>>
>>>>>> back
>>>
>>>> to you with more details.
>>>>>>>
>>>>>>> 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 Tue, May 30, 2017 at 7:05 AM, Ian Maxon <im...@uci.edu> wrote:
>>>>>>>
>>>>>>> Hey Erandi,
>>>>>>>>
>>>>>>>> Sorry for the late reply, this got buried in my mailing list tags. I
>>>>>>>> also think reusing hyracks-http is probably the way to go. I would
>>>>>>>> reckon there are probably more ways a library that would attempt to
>>>>>>>> constrain to RESTful-ness might be harder to use than vice-versa,
>>>>>>>> but
>>>>>>>> this is just a feeling. Maybe if you could give an example of where
>>>>>>>> you think the advantage might be, I could understand the tradeoff
>>>>>>>> better.
>>>>>>>>
>>>>>>>> -Ian
>>>>>>>>
>>>>>>>> On Mon, May 29, 2017 at 10:12 AM, Till Westmann <ti...@apache.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi Erandi,
>>>>>>>>>
>>>>>>>>> as you might have seen Hyracks (the runtime system underlying
>>>>>>>>>
>>>>>>>> VXQuery) has
>>>>>>>>
>>>>>>>>> it’s own servlet-like framework [1] that is based on the Netty NIO
>>>>>>>>>
>>>>>>>> framework
>>>>>>>>
>>>>>>>>> [2].
>>>>>>>>> One of the reasons why this framework was adopted is that the
>>>>>>>>>
>>>>>>>> licenses for
>>>>>>>>
>>>>>>>>> the servlet API and corresponding frameworks like Jersey (CDDL and
>>>>>>>>>
>>>>>>>> GPL with
>>>>>>>>
>>>>>>>>> classpath exception) are not ideal for downstream reuse of the
>>>>>>>>>
>>>>>>>> project. The
>>>>>>>>
>>>>>>>>> Apache Software foundation categorizes the CDDL as "category B" [3]
>>>>>>>>> (acceptable with appropriate labeling) and the GPL with classpath
>>>>>>>>>
>>>>>>>> exception
>>>>>>>>
>>>>>>>>> as "category X" [4] (not acceptable).
>>>>>>>>> As hyracks-http framework is available and as it makes downstream
>>>>>>>>> consumption easy, I think that your implementation of the HTTP API
>>>>>>>>>
>>>>>>>> for
>>>>>>>>
>>>>>>>>> VXQuery should be based on it.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Till
>>>>>>>>>
>>>>>>>>> [1]
>>>>>>>>> https://github.com/apache/asterixdb/tree/master/hyracks-full
>>>>>>>>>
>>>>>>>> stack/hyracks/hyracks-http
>>>>>>>>
>>>>>>>>> [2] https://netty.io/
>>>>>>>>> [3] https://www.apache.org/legal/resolved.html#category-b
>>>>>>>>> [4] https://www.apache.org/legal/resolved.html#category-x
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 25 May 2017, at 1:06, Erandi Ganepola wrote:
>>>>>>>>>
>>>>>>>>> Hi Ian and Preston,
>>>>>>>>>>
>>>>>>>>>> I would be really grateful if you can look into my previous email
>>>>>>>>>>
>>>>>>>>> in which
>>>>>>>>
>>>>>>>>> I suggested few possible alternatives for the REST API
>>>>>>>>>>
>>>>>>>>> implementation and
>>>>>>>>
>>>>>>>>> kindly give your opinions on that.
>>>>>>>>>>
>>>>>>>>>> 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/erandiga
>>>
>>>> nepola>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
>>>>>>>>>> <er...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Ian and Preston,
>>>>>>>>>>>
>>>>>>>>>>> As we discussed, I went through the AsterixDB's REST API
>>>>>>>>>>>
>>>>>>>>>> implementation.
>>>>>>>>
>>>>>>>>> They have written the REST API from scratch using servlet basics
>>>>>>>>>>>
>>>>>>>>>> [1].
>>>>>>>>
>>>>>>>>> What
>>>>>>>>>>> I feel is that it won't be efficient to put such effort to write
>>>>>>>>>>>
>>>>>>>>>> servlets
>>>>>>>>
>>>>>>>>> from scratch since we have more easy to use, yet stable
>>>>>>>>>>>
>>>>>>>>>> implementations
>>>>>>>>
>>>>>>>>> like jersey [2]. Therefore, my opinion is that using jersey[2]
>>>>>>>>>>>
>>>>>>>>>> will make
>>>>>>>>
>>>>>>>>> the VXQuery REST API implementation much easier and easily
>>>>>>>>>>> understandable.
>>>>>>>>>>>
>>>>>>>>>>> However, I'm fine to continue on the REST server implementation
>>>>>>>>>>>
>>>>>>>>>> with any
>>>>>>>>
>>>>>>>>> of those two methods (pure servlet based or Jersey & JAX-RS
>>>>>>>>>>>
>>>>>>>>>> based).
>>>
>>>> Please
>>>>>>>>>>> let me know your opinion on these two methods and which method
>>>>>>>>>>>
>>>>>>>>>> you
>>>
>>>> think
>>>>>>>>
>>>>>>>>> will be better.
>>>>>>>>>>>
>>>>>>>>>>> [1] https://github.com/apache/asterixdb/tree/master/asterixd
>>>>>>>>>>> b/asterix-app/src/main/java/org/apache/asterix/api/http/server
>>>>>>>>>>>
>>>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapa
>>>>>>>>>>>
>>>>>>>>>> che%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%2F
>>>>>>>> src%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%2Fhttp%2Fse
>>>>>>>> rver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
>>>>>>>>
>>>>>>>>> [2] https://jersey.java.net
>>>>>>>>>>>
>>>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&
>>>>>>>>>>>
>>>>>>>>>> sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>>> 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>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>

Re: [GSoC-2017] [VXQUERY-180] (RESTful API) Discussion

Posted by Till Westmann <ti...@apache.org>.
I think that should be fine - assuming that we get the change merged 
soon.

@Christina, @Preston: Do we have outstanding changes that need to go in
before we release current master?

Cheers,
Till

On 10 Jun 2017, at 1:31, Erandi Ganepola wrote:

> Hi All,
>
> Thanks for the clarification. I have started working by adding only
> *hyracks-http* dependency separately (which is from AsterixDB's 
> inbuilt
> hyracks version available in maven repository [1]) to the "pom". I 
> will
> update after merging the change to VXQuery. I hope that will be okay?
>
> [1]https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http
>
> 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 Sat, Jun 10, 2017 at 3:26 AM, Preston Carman <pr...@apache.org> 
> wrote:
>
>> Yes it does require an updated. Till has been working on a PR for 
>> this
>> change [1]. You should be able to build off this branch for 
>> development. We
>> are just waiting until after the next release of VXQuery to merge 
>> this
>> change. Christina is working on creating a new release with all the 
>> work
>> done to support the JSONiq extension to XQuery. Hopefully this will 
>> be done
>> soon.
>>
>> [1] https://github.com/apache/vxquery/pull/168
>>
>> On Fri, Jun 9, 2017 at 12:14 PM, Ian Maxon <im...@uci.edu> wrote:
>>
>>> I believe VXQuery needs to be updated to work with the latest 
>>> Hyracks to
>>> use hyracks-http, though I think Till and Preston would know more on 
>>> this
>>> topic than I
>>>
>>> On Wed, Jun 7, 2017 at 10:18 PM, Erandi Ganepola <
>> erandiganepola@gmail.com
>>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> As I noticed, VXQuery is using the main 
>>>> *incubator-asterixdb-hyracks*
>> [1]
>>>> project (0.2.17-incubating) while AsterixDB has an *inbuilt hyracks
>>>> version* [2] (stable release 0.3.1). Out of these two, 
>>>> *hyracks-http* is
>>>> from AsterixDB's inbuilt hyracks version [3] (Main hyracks project
>> doesn't
>>>> have hyracks-http module) and is available in maven repository [4]. 
>>>> I
>>>> assumed this isn't an issue and moved on. However, I would like to 
>>>> know
>>>> what do you think on this?
>>>>
>>>> [1] https://github.com/apache/incubator-asterixdb-hyracks
>>>> [2] 
>>>> https://github.com/apache/asterixdb/tree/master/hyracks-fullstack
>>>> [3] https://github.com/apache/asterixdb/tree/master/hyracks-
>>>> fullstack/hyracks/hyracks-http
>>>> [4] 
>>>> https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http
>>>>
>>>> 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 Sat, Jun 3, 2017 at 12:17 PM, Erandi Ganepola <
>>>> erandiganepola@gmail.com> wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> I went through  Hyracks-http framework. I do agree with Till 
>>>>> Westmann
>>>>> since Jersey is having both CDDL and GPL with classpath exception. 
>>>>> I
>>>>> understand why its not suiting to Apache license policies. So I'm
>>>>> starting to implement REST API with Hyracks-http framework.
>>>>> Thanks for all your information. More suggestions are highly
>> appreciated.
>>>>>
>>>>> 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 Tue, May 30, 2017 at 11:23 PM, Erandi Ganepola <
>>>>> erandiganepola@gmail.com> wrote:
>>>>>
>>>>>> Hi Ian and Till,
>>>>>>
>>>>>> Thank you for your opinions. I will further look into them and 
>>>>>> get
>> back
>>>>>> to you with more details.
>>>>>>
>>>>>> 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 Tue, May 30, 2017 at 7:05 AM, Ian Maxon <im...@uci.edu> 
>>>>>> wrote:
>>>>>>
>>>>>>> Hey Erandi,
>>>>>>>
>>>>>>> Sorry for the late reply, this got buried in my mailing list 
>>>>>>> tags. I
>>>>>>> also think reusing hyracks-http is probably the way to go. I 
>>>>>>> would
>>>>>>> reckon there are probably more ways a library that would attempt 
>>>>>>> to
>>>>>>> constrain to RESTful-ness might be harder to use than 
>>>>>>> vice-versa, but
>>>>>>> this is just a feeling. Maybe if you could give an example of 
>>>>>>> where
>>>>>>> you think the advantage might be, I could understand the 
>>>>>>> tradeoff
>>>>>>> better.
>>>>>>>
>>>>>>> -Ian
>>>>>>>
>>>>>>> On Mon, May 29, 2017 at 10:12 AM, Till Westmann 
>>>>>>> <ti...@apache.org>
>>>>>>> wrote:
>>>>>>>> Hi Erandi,
>>>>>>>>
>>>>>>>> as you might have seen Hyracks (the runtime system underlying
>>>>>>> VXQuery) has
>>>>>>>> it’s own servlet-like framework [1] that is based on the 
>>>>>>>> Netty NIO
>>>>>>> framework
>>>>>>>> [2].
>>>>>>>> One of the reasons why this framework was adopted is that the
>>>>>>> licenses for
>>>>>>>> the servlet API and corresponding frameworks like Jersey (CDDL 
>>>>>>>> and
>>>>>>> GPL with
>>>>>>>> classpath exception) are not ideal for downstream reuse of the
>>>>>>> project. The
>>>>>>>> Apache Software foundation categorizes the CDDL as "category B" 
>>>>>>>> [3]
>>>>>>>> (acceptable with appropriate labeling) and the GPL with 
>>>>>>>> classpath
>>>>>>> exception
>>>>>>>> as "category X" [4] (not acceptable).
>>>>>>>> As hyracks-http framework is available and as it makes 
>>>>>>>> downstream
>>>>>>>> consumption easy, I think that your implementation of the HTTP 
>>>>>>>> API
>>>>>>> for
>>>>>>>> VXQuery should be based on it.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Till
>>>>>>>>
>>>>>>>> [1]
>>>>>>>> https://github.com/apache/asterixdb/tree/master/hyracks-full
>>>>>>> stack/hyracks/hyracks-http
>>>>>>>> [2] https://netty.io/
>>>>>>>> [3] https://www.apache.org/legal/resolved.html#category-b
>>>>>>>> [4] https://www.apache.org/legal/resolved.html#category-x
>>>>>>>>
>>>>>>>>
>>>>>>>> On 25 May 2017, at 1:06, Erandi Ganepola wrote:
>>>>>>>>
>>>>>>>>> Hi Ian and Preston,
>>>>>>>>>
>>>>>>>>> I would be really grateful if you can look into my previous 
>>>>>>>>> email
>>>>>>> in which
>>>>>>>>> I suggested few possible alternatives for the REST API
>>>>>>> implementation and
>>>>>>>>> kindly give your opinions on that.
>>>>>>>>>
>>>>>>>>> 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/erandiga
>>>>>>> nepola>
>>>>>>>>>
>>>>>>>>> On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
>>>>>>>>> <er...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Ian and Preston,
>>>>>>>>>>
>>>>>>>>>> As we discussed, I went through the AsterixDB's REST API
>>>>>>> implementation.
>>>>>>>>>> They have written the REST API from scratch using servlet 
>>>>>>>>>> basics
>>>>>>> [1].
>>>>>>>>>> What
>>>>>>>>>> I feel is that it won't be efficient to put such effort to 
>>>>>>>>>> write
>>>>>>> servlets
>>>>>>>>>> from scratch since we have more easy to use, yet stable
>>>>>>> implementations
>>>>>>>>>> like jersey [2]. Therefore, my opinion is that using 
>>>>>>>>>> jersey[2]
>>>>>>> will make
>>>>>>>>>> the VXQuery REST API implementation much easier and easily
>>>>>>>>>> understandable.
>>>>>>>>>>
>>>>>>>>>> However, I'm fine to continue on the REST server 
>>>>>>>>>> implementation
>>>>>>> with any
>>>>>>>>>> of those two methods (pure servlet based or Jersey & JAX-RS
>> based).
>>>>>>>>>> Please
>>>>>>>>>> let me know your opinion on these two methods and which 
>>>>>>>>>> method
>> you
>>>>>>> think
>>>>>>>>>> will be better.
>>>>>>>>>>
>>>>>>>>>> [1] https://github.com/apache/asterixdb/tree/master/asterixd
>>>>>>>>>> b/asterix-app/src/main/java/org/apache/asterix/api/http/server
>>>>>>>>>>
>>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapa
>>>>>>> che%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%2F
>>>>>>> src%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%2Fhttp%2Fse
>>>>>>> rver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
>>>>>>>>>> [2] https://jersey.java.net
>>>>>>>>>>
>>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&
>>>>>>> sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
>>>>>>>>>>
>>>>>>>>>> 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>
>>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>

Re: [GSoC-2017] [VXQUERY-180] (RESTful API) Discussion

Posted by Erandi Ganepola <er...@gmail.com>.
Hi All,

Thanks for the clarification. I have started working by adding only
*hyracks-http* dependency separately (which is from AsterixDB's inbuilt
hyracks version available in maven repository [1]) to the "pom". I will
update after merging the change to VXQuery. I hope that will be okay?

[1]https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http

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 Sat, Jun 10, 2017 at 3:26 AM, Preston Carman <pr...@apache.org> wrote:

> Yes it does require an updated. Till has been working on a PR for this
> change [1]. You should be able to build off this branch for development. We
> are just waiting until after the next release of VXQuery to merge this
> change. Christina is working on creating a new release with all the work
> done to support the JSONiq extension to XQuery. Hopefully this will be done
> soon.
>
> [1] https://github.com/apache/vxquery/pull/168
>
> On Fri, Jun 9, 2017 at 12:14 PM, Ian Maxon <im...@uci.edu> wrote:
>
> > I believe VXQuery needs to be updated to work with the latest Hyracks to
> > use hyracks-http, though I think Till and Preston would know more on this
> > topic than I
> >
> > On Wed, Jun 7, 2017 at 10:18 PM, Erandi Ganepola <
> erandiganepola@gmail.com
> > > wrote:
> >
> >> Hi all,
> >>
> >> As I noticed, VXQuery is using the main *incubator-asterixdb-hyracks*
> [1]
> >> project (0.2.17-incubating) while AsterixDB has an *inbuilt hyracks
> >> version* [2] (stable release 0.3.1). Out of these two, *hyracks-http* is
> >> from AsterixDB's inbuilt hyracks version [3] (Main hyracks project
> doesn't
> >> have hyracks-http module) and is available in maven repository [4]. I
> >> assumed this isn't an issue and moved on. However, I would like to know
> >> what do you think on this?
> >>
> >> [1] https://github.com/apache/incubator-asterixdb-hyracks
> >> [2] https://github.com/apache/asterixdb/tree/master/hyracks-fullstack
> >> [3] https://github.com/apache/asterixdb/tree/master/hyracks-
> >> fullstack/hyracks/hyracks-http
> >> [4] https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http
> >>
> >> 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 Sat, Jun 3, 2017 at 12:17 PM, Erandi Ganepola <
> >> erandiganepola@gmail.com> wrote:
> >>
> >>> Hi All,
> >>>
> >>> I went through  Hyracks-http framework. I do agree with Till Westmann
> >>> since Jersey is having both CDDL and GPL with classpath exception. I
> >>> understand why its not suiting to Apache license policies. So I'm
> >>> starting to implement REST API with Hyracks-http framework.
> >>> Thanks for all your information. More suggestions are highly
> appreciated.
> >>>
> >>> 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 Tue, May 30, 2017 at 11:23 PM, Erandi Ganepola <
> >>> erandiganepola@gmail.com> wrote:
> >>>
> >>>> Hi Ian and Till,
> >>>>
> >>>> Thank you for your opinions. I will further look into them and get
> back
> >>>> to you with more details.
> >>>>
> >>>> 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 Tue, May 30, 2017 at 7:05 AM, Ian Maxon <im...@uci.edu> wrote:
> >>>>
> >>>>> Hey Erandi,
> >>>>>
> >>>>> Sorry for the late reply, this got buried in my mailing list tags. I
> >>>>> also think reusing hyracks-http is probably the way to go. I would
> >>>>> reckon there are probably more ways a library that would attempt to
> >>>>> constrain to RESTful-ness might be harder to use than vice-versa, but
> >>>>> this is just a feeling. Maybe if you could give an example of where
> >>>>> you think the advantage might be, I could understand the tradeoff
> >>>>> better.
> >>>>>
> >>>>> -Ian
> >>>>>
> >>>>> On Mon, May 29, 2017 at 10:12 AM, Till Westmann <ti...@apache.org>
> >>>>> wrote:
> >>>>> > Hi Erandi,
> >>>>> >
> >>>>> > as you might have seen Hyracks (the runtime system underlying
> >>>>> VXQuery) has
> >>>>> > it’s own servlet-like framework [1] that is based on the Netty NIO
> >>>>> framework
> >>>>> > [2].
> >>>>> > One of the reasons why this framework was adopted is that the
> >>>>> licenses for
> >>>>> > the servlet API and corresponding frameworks like Jersey (CDDL and
> >>>>> GPL with
> >>>>> > classpath exception) are not ideal for downstream reuse of the
> >>>>> project. The
> >>>>> > Apache Software foundation categorizes the CDDL as "category B" [3]
> >>>>> > (acceptable with appropriate labeling) and the GPL with classpath
> >>>>> exception
> >>>>> > as "category X" [4] (not acceptable).
> >>>>> > As hyracks-http framework is available and as it makes downstream
> >>>>> > consumption easy, I think that your implementation of the HTTP API
> >>>>> for
> >>>>> > VXQuery should be based on it.
> >>>>> >
> >>>>> > Cheers,
> >>>>> > Till
> >>>>> >
> >>>>> > [1]
> >>>>> > https://github.com/apache/asterixdb/tree/master/hyracks-full
> >>>>> stack/hyracks/hyracks-http
> >>>>> > [2] https://netty.io/
> >>>>> > [3] https://www.apache.org/legal/resolved.html#category-b
> >>>>> > [4] https://www.apache.org/legal/resolved.html#category-x
> >>>>> >
> >>>>> >
> >>>>> > On 25 May 2017, at 1:06, Erandi Ganepola wrote:
> >>>>> >
> >>>>> >> Hi Ian and Preston,
> >>>>> >>
> >>>>> >> I would be really grateful if you can look into my previous email
> >>>>> in which
> >>>>> >> I suggested few possible alternatives for the REST API
> >>>>> implementation and
> >>>>> >> kindly give your opinions on that.
> >>>>> >>
> >>>>> >> 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/erandiga
> >>>>> nepola>
> >>>>> >>
> >>>>> >> On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
> >>>>> >> <er...@gmail.com>
> >>>>> >> wrote:
> >>>>> >>
> >>>>> >>> Hi Ian and Preston,
> >>>>> >>>
> >>>>> >>> As we discussed, I went through the AsterixDB's REST API
> >>>>> implementation.
> >>>>> >>> They have written the REST API from scratch using servlet basics
> >>>>> [1].
> >>>>> >>> What
> >>>>> >>> I feel is that it won't be efficient to put such effort to write
> >>>>> servlets
> >>>>> >>> from scratch since we have more easy to use, yet stable
> >>>>> implementations
> >>>>> >>> like jersey [2]. Therefore, my opinion is that using jersey[2]
> >>>>> will make
> >>>>> >>> the VXQuery REST API implementation much easier and easily
> >>>>> >>> understandable.
> >>>>> >>>
> >>>>> >>> However, I'm fine to continue on the REST server implementation
> >>>>> with any
> >>>>> >>> of those two methods (pure servlet based or Jersey & JAX-RS
> based).
> >>>>> >>> Please
> >>>>> >>> let me know your opinion on these two methods and which method
> you
> >>>>> think
> >>>>> >>> will be better.
> >>>>> >>>
> >>>>> >>> [1] https://github.com/apache/asterixdb/tree/master/asterixd
> >>>>> >>> b/asterix-app/src/main/java/org/apache/asterix/api/http/server
> >>>>> >>>
> >>>>> >>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapa
> >>>>> che%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%2F
> >>>>> src%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%2Fhttp%2Fse
> >>>>> rver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
> >>>>> >>> [2] https://jersey.java.net
> >>>>> >>>
> >>>>> >>> <https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&
> >>>>> sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
> >>>>> >>>
> >>>>> >>> 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>
> >>>>> >>>
> >>>>> >
> >>>>>
> >>>>
> >>>>
> >>>
> >>
> >
>

Re: [GSoC-2017] [VXQUERY-180] (RESTful API) Discussion

Posted by Preston Carman <pr...@apache.org>.
Yes it does require an updated. Till has been working on a PR for this
change [1]. You should be able to build off this branch for development. We
are just waiting until after the next release of VXQuery to merge this
change. Christina is working on creating a new release with all the work
done to support the JSONiq extension to XQuery. Hopefully this will be done
soon.

[1] https://github.com/apache/vxquery/pull/168

On Fri, Jun 9, 2017 at 12:14 PM, Ian Maxon <im...@uci.edu> wrote:

> I believe VXQuery needs to be updated to work with the latest Hyracks to
> use hyracks-http, though I think Till and Preston would know more on this
> topic than I
>
> On Wed, Jun 7, 2017 at 10:18 PM, Erandi Ganepola <erandiganepola@gmail.com
> > wrote:
>
>> Hi all,
>>
>> As I noticed, VXQuery is using the main *incubator-asterixdb-hyracks* [1]
>> project (0.2.17-incubating) while AsterixDB has an *inbuilt hyracks
>> version* [2] (stable release 0.3.1). Out of these two, *hyracks-http* is
>> from AsterixDB's inbuilt hyracks version [3] (Main hyracks project doesn't
>> have hyracks-http module) and is available in maven repository [4]. I
>> assumed this isn't an issue and moved on. However, I would like to know
>> what do you think on this?
>>
>> [1] https://github.com/apache/incubator-asterixdb-hyracks
>> [2] https://github.com/apache/asterixdb/tree/master/hyracks-fullstack
>> [3] https://github.com/apache/asterixdb/tree/master/hyracks-
>> fullstack/hyracks/hyracks-http
>> [4] https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http
>>
>> 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 Sat, Jun 3, 2017 at 12:17 PM, Erandi Ganepola <
>> erandiganepola@gmail.com> wrote:
>>
>>> Hi All,
>>>
>>> I went through  Hyracks-http framework. I do agree with Till Westmann
>>> since Jersey is having both CDDL and GPL with classpath exception. I
>>> understand why its not suiting to Apache license policies. So I'm
>>> starting to implement REST API with Hyracks-http framework.
>>> Thanks for all your information. More suggestions are highly appreciated.
>>>
>>> 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 Tue, May 30, 2017 at 11:23 PM, Erandi Ganepola <
>>> erandiganepola@gmail.com> wrote:
>>>
>>>> Hi Ian and Till,
>>>>
>>>> Thank you for your opinions. I will further look into them and get back
>>>> to you with more details.
>>>>
>>>> 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 Tue, May 30, 2017 at 7:05 AM, Ian Maxon <im...@uci.edu> wrote:
>>>>
>>>>> Hey Erandi,
>>>>>
>>>>> Sorry for the late reply, this got buried in my mailing list tags. I
>>>>> also think reusing hyracks-http is probably the way to go. I would
>>>>> reckon there are probably more ways a library that would attempt to
>>>>> constrain to RESTful-ness might be harder to use than vice-versa, but
>>>>> this is just a feeling. Maybe if you could give an example of where
>>>>> you think the advantage might be, I could understand the tradeoff
>>>>> better.
>>>>>
>>>>> -Ian
>>>>>
>>>>> On Mon, May 29, 2017 at 10:12 AM, Till Westmann <ti...@apache.org>
>>>>> wrote:
>>>>> > Hi Erandi,
>>>>> >
>>>>> > as you might have seen Hyracks (the runtime system underlying
>>>>> VXQuery) has
>>>>> > it’s own servlet-like framework [1] that is based on the Netty NIO
>>>>> framework
>>>>> > [2].
>>>>> > One of the reasons why this framework was adopted is that the
>>>>> licenses for
>>>>> > the servlet API and corresponding frameworks like Jersey (CDDL and
>>>>> GPL with
>>>>> > classpath exception) are not ideal for downstream reuse of the
>>>>> project. The
>>>>> > Apache Software foundation categorizes the CDDL as "category B" [3]
>>>>> > (acceptable with appropriate labeling) and the GPL with classpath
>>>>> exception
>>>>> > as "category X" [4] (not acceptable).
>>>>> > As hyracks-http framework is available and as it makes downstream
>>>>> > consumption easy, I think that your implementation of the HTTP API
>>>>> for
>>>>> > VXQuery should be based on it.
>>>>> >
>>>>> > Cheers,
>>>>> > Till
>>>>> >
>>>>> > [1]
>>>>> > https://github.com/apache/asterixdb/tree/master/hyracks-full
>>>>> stack/hyracks/hyracks-http
>>>>> > [2] https://netty.io/
>>>>> > [3] https://www.apache.org/legal/resolved.html#category-b
>>>>> > [4] https://www.apache.org/legal/resolved.html#category-x
>>>>> >
>>>>> >
>>>>> > On 25 May 2017, at 1:06, Erandi Ganepola wrote:
>>>>> >
>>>>> >> Hi Ian and Preston,
>>>>> >>
>>>>> >> I would be really grateful if you can look into my previous email
>>>>> in which
>>>>> >> I suggested few possible alternatives for the REST API
>>>>> implementation and
>>>>> >> kindly give your opinions on that.
>>>>> >>
>>>>> >> 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/erandiga
>>>>> nepola>
>>>>> >>
>>>>> >> On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
>>>>> >> <er...@gmail.com>
>>>>> >> wrote:
>>>>> >>
>>>>> >>> Hi Ian and Preston,
>>>>> >>>
>>>>> >>> As we discussed, I went through the AsterixDB's REST API
>>>>> implementation.
>>>>> >>> They have written the REST API from scratch using servlet basics
>>>>> [1].
>>>>> >>> What
>>>>> >>> I feel is that it won't be efficient to put such effort to write
>>>>> servlets
>>>>> >>> from scratch since we have more easy to use, yet stable
>>>>> implementations
>>>>> >>> like jersey [2]. Therefore, my opinion is that using jersey[2]
>>>>> will make
>>>>> >>> the VXQuery REST API implementation much easier and easily
>>>>> >>> understandable.
>>>>> >>>
>>>>> >>> However, I'm fine to continue on the REST server implementation
>>>>> with any
>>>>> >>> of those two methods (pure servlet based or Jersey & JAX-RS based).
>>>>> >>> Please
>>>>> >>> let me know your opinion on these two methods and which method you
>>>>> think
>>>>> >>> will be better.
>>>>> >>>
>>>>> >>> [1] https://github.com/apache/asterixdb/tree/master/asterixd
>>>>> >>> b/asterix-app/src/main/java/org/apache/asterix/api/http/server
>>>>> >>>
>>>>> >>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapa
>>>>> che%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%2F
>>>>> src%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%2Fhttp%2Fse
>>>>> rver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
>>>>> >>> [2] https://jersey.java.net
>>>>> >>>
>>>>> >>> <https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&
>>>>> sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
>>>>> >>>
>>>>> >>> 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>
>>>>> >>>
>>>>> >
>>>>>
>>>>
>>>>
>>>
>>
>

Re: [GSoC-2017] [VXQUERY-180] (RESTful API) Discussion

Posted by Ian Maxon <im...@uci.edu>.
I believe VXQuery needs to be updated to work with the latest Hyracks to
use hyracks-http, though I think Till and Preston would know more on this
topic than I

On Wed, Jun 7, 2017 at 10:18 PM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi all,
>
> As I noticed, VXQuery is using the main *incubator-asterixdb-hyracks* [1]
> project (0.2.17-incubating) while AsterixDB has an *inbuilt hyracks
> version* [2] (stable release 0.3.1). Out of these two, *hyracks-http* is
> from AsterixDB's inbuilt hyracks version [3] (Main hyracks project doesn't
> have hyracks-http module) and is available in maven repository [4]. I
> assumed this isn't an issue and moved on. However, I would like to know
> what do you think on this?
>
> [1] https://github.com/apache/incubator-asterixdb-hyracks
> [2] https://github.com/apache/asterixdb/tree/master/hyracks-fullstack
> [3] https://github.com/apache/asterixdb/tree/master/hyracks-
> fullstack/hyracks/hyracks-http
> [4] https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http
>
> 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 Sat, Jun 3, 2017 at 12:17 PM, Erandi Ganepola <erandiganepola@gmail.com
> > wrote:
>
>> Hi All,
>>
>> I went through  Hyracks-http framework. I do agree with Till Westmann
>> since Jersey is having both CDDL and GPL with classpath exception. I
>> understand why its not suiting to Apache license policies. So I'm
>> starting to implement REST API with Hyracks-http framework.
>> Thanks for all your information. More suggestions are highly appreciated.
>>
>> 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 Tue, May 30, 2017 at 11:23 PM, Erandi Ganepola <
>> erandiganepola@gmail.com> wrote:
>>
>>> Hi Ian and Till,
>>>
>>> Thank you for your opinions. I will further look into them and get back
>>> to you with more details.
>>>
>>> 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 Tue, May 30, 2017 at 7:05 AM, Ian Maxon <im...@uci.edu> wrote:
>>>
>>>> Hey Erandi,
>>>>
>>>> Sorry for the late reply, this got buried in my mailing list tags. I
>>>> also think reusing hyracks-http is probably the way to go. I would
>>>> reckon there are probably more ways a library that would attempt to
>>>> constrain to RESTful-ness might be harder to use than vice-versa, but
>>>> this is just a feeling. Maybe if you could give an example of where
>>>> you think the advantage might be, I could understand the tradeoff
>>>> better.
>>>>
>>>> -Ian
>>>>
>>>> On Mon, May 29, 2017 at 10:12 AM, Till Westmann <ti...@apache.org>
>>>> wrote:
>>>> > Hi Erandi,
>>>> >
>>>> > as you might have seen Hyracks (the runtime system underlying
>>>> VXQuery) has
>>>> > it’s own servlet-like framework [1] that is based on the Netty NIO
>>>> framework
>>>> > [2].
>>>> > One of the reasons why this framework was adopted is that the
>>>> licenses for
>>>> > the servlet API and corresponding frameworks like Jersey (CDDL and
>>>> GPL with
>>>> > classpath exception) are not ideal for downstream reuse of the
>>>> project. The
>>>> > Apache Software foundation categorizes the CDDL as "category B" [3]
>>>> > (acceptable with appropriate labeling) and the GPL with classpath
>>>> exception
>>>> > as "category X" [4] (not acceptable).
>>>> > As hyracks-http framework is available and as it makes downstream
>>>> > consumption easy, I think that your implementation of the HTTP API for
>>>> > VXQuery should be based on it.
>>>> >
>>>> > Cheers,
>>>> > Till
>>>> >
>>>> > [1]
>>>> > https://github.com/apache/asterixdb/tree/master/hyracks-full
>>>> stack/hyracks/hyracks-http
>>>> > [2] https://netty.io/
>>>> > [3] https://www.apache.org/legal/resolved.html#category-b
>>>> > [4] https://www.apache.org/legal/resolved.html#category-x
>>>> >
>>>> >
>>>> > On 25 May 2017, at 1:06, Erandi Ganepola wrote:
>>>> >
>>>> >> Hi Ian and Preston,
>>>> >>
>>>> >> I would be really grateful if you can look into my previous email in
>>>> which
>>>> >> I suggested few possible alternatives for the REST API
>>>> implementation and
>>>> >> kindly give your opinions on that.
>>>> >>
>>>> >> 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/erandiga
>>>> nepola>
>>>> >>
>>>> >> On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
>>>> >> <er...@gmail.com>
>>>> >> wrote:
>>>> >>
>>>> >>> Hi Ian and Preston,
>>>> >>>
>>>> >>> As we discussed, I went through the AsterixDB's REST API
>>>> implementation.
>>>> >>> They have written the REST API from scratch using servlet basics
>>>> [1].
>>>> >>> What
>>>> >>> I feel is that it won't be efficient to put such effort to write
>>>> servlets
>>>> >>> from scratch since we have more easy to use, yet stable
>>>> implementations
>>>> >>> like jersey [2]. Therefore, my opinion is that using jersey[2] will
>>>> make
>>>> >>> the VXQuery REST API implementation much easier and easily
>>>> >>> understandable.
>>>> >>>
>>>> >>> However, I'm fine to continue on the REST server implementation
>>>> with any
>>>> >>> of those two methods (pure servlet based or Jersey & JAX-RS based).
>>>> >>> Please
>>>> >>> let me know your opinion on these two methods and which method you
>>>> think
>>>> >>> will be better.
>>>> >>>
>>>> >>> [1] https://github.com/apache/asterixdb/tree/master/asterixd
>>>> >>> b/asterix-app/src/main/java/org/apache/asterix/api/http/server
>>>> >>>
>>>> >>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapa
>>>> che%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%2F
>>>> src%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%2Fhttp%2Fse
>>>> rver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
>>>> >>> [2] https://jersey.java.net
>>>> >>>
>>>> >>> <https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&
>>>> sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
>>>> >>>
>>>> >>> 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>
>>>> >>>
>>>> >
>>>>
>>>
>>>
>>
>

Re: [GSoC-2017] [VXQUERY-180] (RESTful API) Discussion

Posted by Erandi Ganepola <er...@gmail.com>.
Hi all,

As I noticed, VXQuery is using the main *incubator-asterixdb-hyracks* [1]
project (0.2.17-incubating) while AsterixDB has an *inbuilt hyracks version*
[2] (stable release 0.3.1). Out of these two, *hyracks-http* is from
AsterixDB's inbuilt hyracks version [3] (Main hyracks project doesn't have
hyracks-http module) and is available in maven repository [4]. I assumed
this isn't an issue and moved on. However, I would like to know what do you
think on this?

[1] https://github.com/apache/incubator-asterixdb-hyracks
[2] https://github.com/apache/asterixdb/tree/master/hyracks-fullstack
[3]
https://github.com/apache/asterixdb/tree/master/hyracks-fullstack/hyracks/hyracks-http
[4] https://mvnrepository.com/artifact/org.apache.hyracks/hyracks-http

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 Sat, Jun 3, 2017 at 12:17 PM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi All,
>
> I went through  Hyracks-http framework. I do agree with Till Westmann
> since Jersey is having both CDDL and GPL with classpath exception. I
> understand why its not suiting to Apache license policies. So I'm
> starting to implement REST API with Hyracks-http framework.
> Thanks for all your information. More suggestions are highly appreciated.
>
> 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 Tue, May 30, 2017 at 11:23 PM, Erandi Ganepola <
> erandiganepola@gmail.com> wrote:
>
>> Hi Ian and Till,
>>
>> Thank you for your opinions. I will further look into them and get back
>> to you with more details.
>>
>> 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 Tue, May 30, 2017 at 7:05 AM, Ian Maxon <im...@uci.edu> wrote:
>>
>>> Hey Erandi,
>>>
>>> Sorry for the late reply, this got buried in my mailing list tags. I
>>> also think reusing hyracks-http is probably the way to go. I would
>>> reckon there are probably more ways a library that would attempt to
>>> constrain to RESTful-ness might be harder to use than vice-versa, but
>>> this is just a feeling. Maybe if you could give an example of where
>>> you think the advantage might be, I could understand the tradeoff
>>> better.
>>>
>>> -Ian
>>>
>>> On Mon, May 29, 2017 at 10:12 AM, Till Westmann <ti...@apache.org>
>>> wrote:
>>> > Hi Erandi,
>>> >
>>> > as you might have seen Hyracks (the runtime system underlying VXQuery)
>>> has
>>> > it’s own servlet-like framework [1] that is based on the Netty NIO
>>> framework
>>> > [2].
>>> > One of the reasons why this framework was adopted is that the licenses
>>> for
>>> > the servlet API and corresponding frameworks like Jersey (CDDL and GPL
>>> with
>>> > classpath exception) are not ideal for downstream reuse of the
>>> project. The
>>> > Apache Software foundation categorizes the CDDL as "category B" [3]
>>> > (acceptable with appropriate labeling) and the GPL with classpath
>>> exception
>>> > as "category X" [4] (not acceptable).
>>> > As hyracks-http framework is available and as it makes downstream
>>> > consumption easy, I think that your implementation of the HTTP API for
>>> > VXQuery should be based on it.
>>> >
>>> > Cheers,
>>> > Till
>>> >
>>> > [1]
>>> > https://github.com/apache/asterixdb/tree/master/hyracks-full
>>> stack/hyracks/hyracks-http
>>> > [2] https://netty.io/
>>> > [3] https://www.apache.org/legal/resolved.html#category-b
>>> > [4] https://www.apache.org/legal/resolved.html#category-x
>>> >
>>> >
>>> > On 25 May 2017, at 1:06, Erandi Ganepola wrote:
>>> >
>>> >> Hi Ian and Preston,
>>> >>
>>> >> I would be really grateful if you can look into my previous email in
>>> which
>>> >> I suggested few possible alternatives for the REST API implementation
>>> and
>>> >> kindly give your opinions on that.
>>> >>
>>> >> 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/erandiga
>>> nepola>
>>> >>
>>> >> On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
>>> >> <er...@gmail.com>
>>> >> wrote:
>>> >>
>>> >>> Hi Ian and Preston,
>>> >>>
>>> >>> As we discussed, I went through the AsterixDB's REST API
>>> implementation.
>>> >>> They have written the REST API from scratch using servlet basics [1].
>>> >>> What
>>> >>> I feel is that it won't be efficient to put such effort to write
>>> servlets
>>> >>> from scratch since we have more easy to use, yet stable
>>> implementations
>>> >>> like jersey [2]. Therefore, my opinion is that using jersey[2] will
>>> make
>>> >>> the VXQuery REST API implementation much easier and easily
>>> >>> understandable.
>>> >>>
>>> >>> However, I'm fine to continue on the REST server implementation with
>>> any
>>> >>> of those two methods (pure servlet based or Jersey & JAX-RS based).
>>> >>> Please
>>> >>> let me know your opinion on these two methods and which method you
>>> think
>>> >>> will be better.
>>> >>>
>>> >>> [1] https://github.com/apache/asterixdb/tree/master/asterixd
>>> >>> b/asterix-app/src/main/java/org/apache/asterix/api/http/server
>>> >>>
>>> >>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapa
>>> che%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%2F
>>> src%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%2Fhttp%
>>> 2Fserver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
>>> >>> [2] https://jersey.java.net
>>> >>>
>>> >>> <https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&
>>> sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
>>> >>>
>>> >>> 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>
>>> >>>
>>> >
>>>
>>
>>
>