Tracking query & user information during execution
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 interpreter. 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.
participants (1)
-
Playfair, Daniel