Status Meeting 8/11/2006
StephenPitts? ,
HongqiangLi? ,
ZhaohuiSun? , and
BillBug? were there.
We went over the status of each system component. Action items are in
ActionItems
We talked about the current configuration of the cluster and how it has changed since the past meeting.
1. Reconfigured cluster:
- HeadmasterMachine -- Roundup server, LVS switching
- WebqtlMachine -- new web server, wiki
- Web2qtlMachine? -- new database server
- Opteron -- no change
- Cluster -- current gn.org
The ideal configuration will involve three web servers:
| server |
codebase |
purpose |
| live |
latest Subversion release |
public web site |
| testing |
latest Subversion release |
test data changes against latest codebase |
| beta |
latest Subversion trunk |
test changes made by individual developers |
HongqiangLi? is in the process of converting
WebtwoQtlMachine? in to a backup web and database server.
2. Cluster crashing problems
We discussed the recent cluster crashing problems and
BillBug? suggested some
ActionItems to fix them.
3. Progress building new images of the cluster machines: web server, node, database
We discussed the new shared code directory in
/gnshare on
WebqtlMachine. Eventually, our goal is for it to replace Jintao's original code directory. As we copy the data from the current working code directory (/node_apps/www/htmml/webqtl/beta), we are documenting the new
/gnshare that we build.
The initial Subversion repository layout is described in
GnCodebaseMigration.
We eventually plan to move to a system that has three main directories (standard procedure for Subversion)
| trunk |
code that passes integration testing |
| branches |
where developers work on code |
| releases |
roll out to live site after extensive testing |
Zhaohui suggests that we have a tags directory (instead of releases directory) that will hold our real releases, trunk as a development directory, and branches directory will hold branches for different features or testing. This follows a standard practice many people are doing.
BillBug? suggested that we use ant to automate testing and automate merging, and offered to come down to help out with ant setup when he comes to Memphis. He also reemphasized the necessity of some data modelling tools and offered to create an example setup using open source software of a semi-automated roundtrip setup from SQL DDL to UML diagrams.
In addition, roundtrip tools from the Python code to UML diagrams would be very useful.
The smpitts branch changes are merged in to the main repository, but the dark corners have not been tested, so we need to keep working on the requirements document and ensure that all features work.
We discussed how to best setup two database servers. We want a live database and a beta database to test data changes. The devil is in the details, though. We can easily load the beta database with a current copy of the live database and play with it, but it is unclear how to synchronize the databases. One option is to see whether mysql server can access tables on another server and configure the beta database only with new tables, linking it to the existing data. In any case, synchronization will be a manual process, but there are probably tools that can help us.
We have not resolved the question of whether
MyISAM? or
InnoDB? is best suited to our needs.
BillBug? suggested that we will probably encounter a tradeoff between a system that is optimized for data updated and one that is optimized for static queries, so it might be beneificial to run one on the beta database and another on the main one.
Also,
BillBug? suggested that, in general, we should be more systematic with the way that we roll new code and data out to the site.