Changes between Version 11 and Version 12 of database


Ignore:
Timestamp:
Nov 30, 2011, 3:00:43 AM (7 years ago)
Author:
dustin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • database

    v11 v12  
    22#!div style="width:45%; float:left"
    33
    4 = To Do for 0.8.4 =
    5  * caching at the db layer (#1953)
    6 
    7 == Bugs? ==
    8   * do locks call maybeStartsBuildsForXxx correctly?
    9    
    10 == Refactors ==
    11      * createSourceStamp renamed to addSourceStamp?
    12      * move addBuildsetXXX from !BaseScheduler to master?
    13      * make sure services stop working before stopService returns -> cleaner reconfig, and cleaner restart later
    14        * check that schedulers shut down before stopService returns
    15      * change classifyChanges to classifyChange, since it only does one at a time
    16      * change addBuild to addBuilds (this table is a mistake!)
    17      * rename sourcestampid -> ssid
    18      * unclaimOldInstance.. should be passed master instance and incarnation exactly (maybe?)
    19      * remove !ChangesConnectorComponent.setChangeHorizon
    20        * handle config more consistently - {{{self.master.config.changeHorizon}}}?
    21 
    22 = 0.8.5 =
    23 == Docs ==
    24        * "object map", starting at master
    25        * transactions - only used to get atomic multi-table inserts (except READ_UNCOMMITTED)
    26        * persistence not guaranteed over master downtime - wait for durable messaging for that
    27        * web view of schema?  Or some way to dump it in docs?
    28          -- should be easy with a custom module - just keep it in contrib or common
    29        * JSON-able data types
    30        * dev docs via sphinx in 0.9.x
    31    
    32 == Tests ==
    33        * more upgrade tests:
    34          - 0.8.0
    35          - 0.8.1
    36          - 0.8.0-mysql? (with a mysqldump)
    37        * DB stress tests
    38          * lots of concurrent xactions, not in-memory
    39          * long lists of parameters
    40        * test fake db using test_db_* - use subclasses to dupe the tests.  This will ensure that
    41          the fakes follow the same API (this is hard because the tests verify results by using sqlalchemy directly -- maybe eliminate the fakedb implementation and just use sqlite for all tests?)
    42        * run db tests against model.create_all() *and* against an upgraded empty db
    43        * integration tests: run master with dummy changesource, schedulers, and builders:
    44          - without polling
    45          - with polling
    46          - with polling and multiple instances
    47    
    48 == Nice-To-Haves ==
    49      * print progress while upgrading
    50      * remove --db from upgrade-master: read it from master.cfg
    51      * sqlalchemy logging (intercept echo=?)
    52      * use in-memory db for testing
    53      * be less dependent on process objects (Change, SourceStamp, BuildRequest, etc.)
    54        * convert Build to not require !BuildRequest objects
    55 
    56 == Delayed Schema Changes ==
    57        * migrate schedulers from current JSON blob to object_state
    58        * remove buildset subscriptions from db; implement dependent across masters
    59          * drop 'active' column in scheduler_upstream_buildsets, after deleting
    60            any inactive rows
    61        * unify properties
    62          * track property source for buildsets
    63          * track 'runtime' for properties
    64        * fix buildset claiming (#1036, #1935)
    65        * uniquify sourcestamps
    66        * re-normalize buildsets/buildrequests (#1037)
    67        * drop changes.isdir (#1037)
    684}}}
    695{{{
    706#!div style="width:45%; float:right; margin-left: 1em"
    717
    72 == 0.8.4 bugs ==
    73 
    74 [[TicketQuery(order=priority,status!=closed,keywords~=database,milestone=0.8.4)]]
    75 
    768== Remaining defects ==
    779
    78 [[TicketQuery(order=priority,status!=closed,keywords~=database,type=defect,milestone!=0.8.4)]]
     10[[TicketQuery(order=priority,status!=closed,keywords~=database,type=defect)]]
    7911 
    8012== Remaining tasks/enhancements  ==
    8113
    82 [[TicketQuery(order=priority,status!=closed,keywords~=database,type!=defect,milestone!=0.8.4)]]
     14[[TicketQuery(order=priority,status!=closed,keywords~=database,type!=defect)]]
    8315}}}
    8416