Of the alternatives discussed for managing retention of current revision storage, [[ https://www.mediawiki.org/wiki/RESTBase/StorageDesign#Retention_policies_using_application-level_TTLs | the use of range deletes ]] seems most promising. This issue will track the prototyping and testing of this design.
== Outline ==
[x] Deploy [[ https://github.com/wikimedia/change-propagation | change-propagation ]] to the dev environment, configured to run in `test_mode`, and with sampling enabled
[x] Implement a time-line storage endpoint in RESTBase using a key-value table
[x] Configure change-propagation to send updates to the time-line for new revisions
[x] Implement alternative RESTBase retention policy incorporating range deletes
[] Collect data, test, etc (in-progress: [[ https://grafana-admin.wikimedia.org/dashboard/db/restbase-dev | grafana ]], [[ https://logstash.wikimedia.org/app/kibana#/dashboard/16321840-3cad-11e7-b69c-1fb3c901e58e?_g=(refreshInterval%3A('%24%24hashKey'%3A'object%3A163749'%2Cdisplay%3A'1%20minute'%2Cpause%3A!t%2Csection%3A2%2Cvalue%3A60000)%2Ctime%3A(from%3Anow-15m%2Cmode%3Aquick%2Cto%3Anow)) | kibana (restbase) ]], [[ https://logstash.wikimedia.org/app/kibana#/dashboard/5a68b5f0-3cad-11e7-83c5-e7e02b33b1ca?_g=(refreshInterval%3A(display%3AOff%2Cpause%3A!f%2Cvalue%3A0)%2Ctime%3A(from%3Anow-1h%2Cmode%3Aquick%2Cto%3Anow)) | kibana (cassandra) ]])