@Michael: it's good to know this. I will try and let you know. Best, Taewoo
On Fri, Jul 29, 2016 at 9:25 AM, Michael Blow <[email protected]> wrote: > 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 < > [email protected]> 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 <[email protected]> > > wrote: > > > > > > AFAIK functions (scalar in particular) are generated. > > > > > > On Jul 16, 2016 00:19, "Vignesh Raghunathan" < > > > [email protected] <mailto: > [email protected]>> > > 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 <[email protected]> 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 < > > >>>> [email protected]> 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 > > > > >
