asterixdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Blow <mblow.apa...@gmail.com>
Subject Re: Debugging source code
Date Fri, 29 Jul 2016 16:25:15 GMT
I have a change propose to Gerrit which enables debugging the generated
functions by way of the original java files:

https://asterix-gerrit.ics.uci.edu/#/c/1030/

It has been verified in IntelliJ IDEA, but AFAIK Eclipse has not yet been
tested.

Thanks,

-MDB

On Thu, Jul 21, 2016 at 3:14 PM Vignesh Raghunathan <
vignesh.raghunathan90@gmail.com> wrote:

> Hi,
>
> Thank you for the response. I just wanted to bump this thread up for more
> responses. Any detail would be very helpful.
>
> Regards,
> Vignesh
>
> > On Jul 16, 2016, at 7:44 AM, Wail Alkowaileet <wael.y.k@gmail.com>
> wrote:
> >
> > AFAIK functions (scalar in particular) are generated.
> >
> > On Jul 16, 2016 00:19, "Vignesh Raghunathan" <
> > vignesh.raghunathan90@gmail.com <mailto:vignesh.raghunathan90@gmail.com>>
> wrote:
> >
> >> Hi,
> >>
> >> I am trying to step through some of the function descriptor code. For
> >> instance, I launched an AsterixDB instance via
> >> AsterixHyracksIntegrationUtil, placed a breakpoint in
> >>
> >>
> org.apache.asterix.runtime.evaluators.constructors.ATimeConstructorDescriptor.createEvaluatorFactory(...).new
> >> IScalarEvaluatorFactory() {...}.createScalarEvaluator(...).new
> >> IScalarEvaluator() {...}.evaluate(IFrameTupleReference, IPointable)
> >>
> >> and ran the query
> >>
> >> let $v := time(“12:23:23”)
> >> return $v
> >>
> >> However, execution doesn’t stop at the breakpoint. My questions are as
> >> follows:
> >>
> >> 1. http://sigmod.github.io/papers/socc15-final153.pdf <
> >> http://sigmod.github.io/papers/socc15-final153.pdf <
> http://sigmod.github.io/papers/socc15-final153.pdf>> mentions runtime
> >> artifacts called evaluators for function expressions. Is the evaluate
> >> function mentioned above part of an evaluator for the time constructor?
> >>
> >> 2. Is a separate JVM launched for each virtual node controller?
> >>
> >> 3. How can I debug a task that is scheduled to run in a particular node
> >> controller?
> >>
> >> As an aside, http://sigmod.github.io/papers/socc15-final153.pdf <
> http://sigmod.github.io/papers/socc15-final153.pdf> <
> >> http://sigmod.github.io/papers/socc15-final153.pdf> mentions that
> >> translation between logical functions and evaluators happen during the
> job
> >> generation phase. Does that mean the rule based physical optimization
> phase
> >> is skipped for functions?
> >>
> >> I am also not able to figure out where the function evaluators are
> >> actually called in code. Where can I find them?
> >>
> >> Thanks,
> >> Vignesh
> >>
> >>
> >>> On Jul 7, 2016, at 2:23 AM, Mike Carey <dtabass@gmail.com> wrote:
> >>>
> >>> Vignesh,
> >>>
> >>> Count would actually be a particularly bad example to start with.  :-)
> >> Aggregate functions (count, min, max, sum, avg) are not like other
> >> functions - they are special and more complicated / very different.
> >> Instead, you should look at simple(r) functions like almost anything
> else
> >> described at
> >> https://asterixdb.apache.org/docs/0.8.8-incubating/aql/functions.html.
> >>>
> >>>
> >>> Cheers,
> >>>
> >>> Mike
> >>>
> >>> On 7/6/16 11:29 AM, Xikui Wang wrote:
> >>>> Hi Vignesh,
> >>>>
> >>>> There is an entrance class called: AsterixHyracksIntegrationUtil. You
> >> can
> >>>> find it under: org.apache.asterix.api.common. The main method in this
> >> class
> >>>> enables you to launch a local instance for debugging. From my own
> >>>> experience, QueryTranslator will be a good start point to trace the
> >> process.
> >>>>
> >>>> Best,
> >>>> Xikui
> >>>>
> >>>> On Wed, Jul 6, 2016 at 11:16 AM, Vignesh Raghunathan <
> >>>> vignesh.raghunathan90@gmail.com> wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> I've been trying to figure out how functions are implemented under
> the
> >> hood
> >>>>> in AsterixDB. For example, I would like to know what happens when
the
> >> aql
> >>>>> statement count([1,2,3]) is executed.
> >>>>>
> >>>>> I tried to set up remote debugging in eclipse to step through the
> code.
> >>>>> However, I'm not sure what to change to launch an asterixdb instance
> in
> >>>>> debug mode. Is there a way to do it?
> >>>>>
> >>>>> Thanks,
> >>>>> Vignesh
>
>

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