Pushing trackDb: Difference between revisions
(Added details about trix files) |
(→Tables: added caveat that we only need to push the metaDb table if it exists in a db.) |
||
Line 6: | Line 6: | ||
*trackDb_public (and renamed trackDb) | *trackDb_public (and renamed trackDb) | ||
*metaDb_public (and renamed metaDb) | *metaDb_public (and renamed metaDb) -- only need to push this if it exists in the db | ||
*hgFindSpec_public (and renamed hgFindSpec) | *hgFindSpec_public (and renamed hgFindSpec) | ||
Revision as of 01:28, 29 October 2010
Starting with v243 CGIs and the release of the Track Search feature, every time we push the trackDb table, we need to also push the index files that go with it (.ix and .ixx), the cv.ra file, and the metaDb table. With the ThreeStateTrackDb already making things complicated, and with files needing a storage location that is a special case on hgwbeta, we need a standard way to push "everything that needs to be pushed when trackDb goes out". We'll include the hgFindSpec table, as it is often forgotten (it has nothing to do with Track Search).
Tables
These should be pushed from mysqlbeta --> mysqlrr:
- trackDb_public (and renamed trackDb)
- metaDb_public (and renamed metaDb) -- only need to push this if it exists in the db
- hgFindSpec_public (and renamed hgFindSpec)
Files
The two index files are kept in /gbdb/$db/. Since gbdb/ is a shared location between hgwbeta and the RR, the files have to have a special location on hgwbeta (the location is specified with the browser.trixPath variable in hg.conf).
- /data/trix/$db_trackDb_public.ix on hgwbeta should become /gbdb/$db/trackDb.ix on hgnfs1.
- /data/trix/$db_trackDb_public.ixx on hgwbeta should become /gbdb/$db/trackDb.ixx on hgnfs1.
The cv.ra file is not database-specific. In the future we will have alpha/beta/public versions of it. For now:
This should be pushed from hgwbeta --> RR (THIS WILL LIKELY CHANGE WHEN BRIAN ADDS ALPHA/BETA/PUBLIC SUPPORT):
- /usr/local/apache/cgi-bin/encode/cv.ra
More details for anyone interested
The trix files move like this:
On hgwdev:
make alpha in trackDb puts the two trix files in /hive/data/inside/trix/trackDb.ix[x].
/gbdb/$db/trackDb.ix[x] contains symlinks to these /hive files. We do it this way because the hive is supposed to be all symlinks and no actual data (data on the hive makes the admins angry).
On hgwbeta:
make beta in trackDb puts the two trix files in /data/trix/$db_trackDb.ix[x].
make public in trackDb puts the two trix files in /data/trix/$db_trackDb_public.ix[x].
Both hgwbeta and hgwbeta-public use the "browser.trixPath" hg.conf setting to tell the CGIs to look for the trix files in this weird location. We do it this way because hgwbeta, hgwbeta-public, and the RR have a common /gbdb directory (hosted on hgnfs1).
On the RR:
The files exist in their normal location in /gbdb on the RR (well, on hgnfs1):
/gbdb/$db/trackDb.ix[x]
Our push request asks for the /data/trix/$db_trackDb_public.ix[x] files on hgwbeta to be pushed to hgnfs1, and to be named /gbdb/$db/trackDb.ix[x]. There are no special symlinks or hg.conf settings.