Hello, > * Data loading : > > - Could you define how data will be generated and > distributed on workers ? For this test, we will make a copy of a smaller dataset (<100GB) on a shared filesystem mounted by the workers. We will then run a duplicator/partitioner on each worker which will synthesize the data portions that belong on that worker. The synthesizer is coded for a particular data distribution. > > - Could you begin data load testing on our 4 current > machines at CC ? We can, if they have the same characteristics of machines in the target cluster. They must have the exact same installed packages (OS + libraries +environment), same disk configuration (free space mounted at the same mount points, similar disk characteristics), same memory size, and same kernel tweaks (max threads, max open files, etc.). We have found that machines in a cluster run different configurations than general-purpose development machines (even when the OS is the same), and it often takes a couple days to shake out the problems, if the sysadmins are responsive (may be difficult across time zones). In the past, it has taken more than a week, but that was prior to having installation scripts. It's probably easier for sysadmins to grant non-exclusive access to a few machines (having one or two exposes 80% of the issues) than to figure out how to make a dev machine look like a cluster machine. > - How far are Qserv installation and data loading > independent ? I defer to Douglas. Qserv installation is strictly different than installing data. Loading data (creating a schema, partitioning data, loading it) is still a painful part of making data available via Qserv. > * Production planning: > > - What happens if a worker crash ? What actions are needed > ( error recovery ) ? How to exclude one worker node from > Qserv ? If a worker crashes, we must login, debug it, and try to reproduce. Qserv has many bugs and the implementation is quite incomplete, and much of the value of this testing is to expose problems at scale. At minimum, we need the log files, the mysqld query log (should be enabled after data loading), and the stack trace of the xrootd process (available by saving the corefile). Worker nodes register themselves, so if a worker node crashes, it will not respond to query dispatches. An administrator can lookup the data portions that reside on the worker node and mark them as bad (empty) on the master, allowing the master to complete, but return incorrect results. > - What exactly do you need to be monitored on workers ? Log files, mostly. For debugging, we need free memory, free disk, cpu load, and mysqld processlist (output of SHOW PROCESSLIST, but mytop http://jeremy.zawodny.com/mysql/mytop/ would be really nice). > - We propose to begin installation on 4, then 10, 50 and > finally 300 nodes. What are the validation steps ? What > will be the queries used ? I'm assuming that 4 = 1+3, 10= 1+9, and 300=1+299. Note that the master node may get heavily loaded in certain situations. The validation steps are simply to run queries: full-scan queries, point-lookup queries, and join queries. Each time, the workers need to be spot-checked to verify that they are responding as expected and the master log must be inspected, because errors may be unnoticeable in the query results. > It would be good to have a wiki page for all these so that > we could refer to it. I think Douglas has started such a page, but we should check with him on tomorrow's call. Qserv is quite complex and is often difficult to debug. The last test with 150 nodes would have been impossible without ssh access to the nodes for setup, validation, and debugging and responsive sysadmins to check for OS problems and faulty disks or other hardware (we had 2-3 disk failures and 1 misbehaving machine in our 150 node test over 2 weeks, and the more recent test had disk corruption and odd performance problems even at 16 nodes). Note that some problems required new features to be quickly developed in order to continue testing. We will probably need such patches during this test. We are really grateful for the opportunity to do this testing and hope to learn a lot about qserv, its future direction, and, more generally, the feasibility of the current plans for LSST catalog management. Hope this helps, -Daniel ######################################################################## 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