Print

Print


Quick summary of what we (AndyS, Nate and me) discussed. 
We will discuss it more at the Qserv meeting…


* Zookeeper is not great for quick and frequent updates, so implementing  
  things like synchronizing access to resources such as table state/metadata
  in zookeeper is questionable
* if we combine it with fact that watchers are not reliable and with the pains 
  with c++ bindings, we’d basically want to …. get rid of zookeeper

Proposal
 * push CSS metadata into transactional mysql 
 * register every query in query metadata, including interactive
 * change Facade API: new API would only have “fetch all metadata for a given
   table”
 * KVInterface - stays as is (granularity: key/value). Add support for updates
   (Eg we need to set flags used to sync access to tables and that’d be done
   through KVInterface)
 * implement new MySQLKvInterface
 * need to think how to store CSS info internally in mysql. Pack as JSON?
 * high availability: standby replica(s) + auto-fail over. Two modes
    1) Don’t handle new queries while fail over is happening, or
    2) we could maintain a stand-by snapshot in czar, and work off the snapshot 
        while fail over is happening
 * need a flag in mysql per table to synchronize access
   -  process that wants to delete a table would lock it (exclusive lock)
   - czar would lock it (shared read lock) when it starts processing new query
 * Need python interface for qservAdmin type things, Could wrap the C++ one


I hope that is enough to plan it in your heads. Think about it over the next
day or so, and we will discuss more on Wed.

Jacek


########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the QSERV-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1