Tracking query & user information during execution

Playfair, Daniel daniel.playfair at
Tue Jul 19 15:21:31 CEST 2016

Hi MonetDB Developers,

I'm working to add intra-query checkpoint/restart functionality to MonetDB
as part of my PhD work. I have a partial implementation and have completed
the component for transmitting intermediate values (to a separate
middleware), and have a plan that I think should work for replay. Most of
these modifications are in the runMALsequence function in the mal

Currently my implementation transmits all intermediates and I'm having
some difficulty on the component to selectively transmit selected
intermediates. I was hoping you might be able answer some of my questions
to point me in the right direction on this aspect.

I intend for the actual checkpoint planning to be performed on the query
plan graphs in an offline step. This relates to one of my problems - The
MAL variable names for intermediates seem to change accross executions.

1. Is there a way to have these identifiers be consistent? 
2. What factors determine the values they take?

Secondly, I am having difficulty with tracking/accessing information about
the user, original SQL query, and current MAL operation step to be able to
tag the transmitted intermediates with sufficient data for the middleware
& load balancer to be able to relate this to a user session & query. I
believe this should be accessible via

3. How can I access this information from the inputs available in
   runMALsequence (in mal_interpreter.c)

I believe it's probably somewhere in the mal stack, instruction record, or
client structs, but I am having difficulty here.

Any help and input would be greatly appreciated.

Many thanks,
~ Daniel.

More information about the developers-list mailing list