)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"6447b59e5ac30680e8a213ec85a8aa76da95a4f9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rohit Jaiswal \u003crohit.jaiswal@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-05 20:38:41 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added option to only expire samples to expirer"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Avoiding passing param and instead checking"},{"line_number":10,"context_line":"from cfg.CONF in impl_sqlalchemy. Moved"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a80dd14_8f240bc6","line":7,"range":{"start_line":7,"start_character":39,"end_line":7,"end_character":46},"updated":"2015-03-06 16:25:52.000000000","message":"it seems that here is spell mistake","commit_id":"06d09776aefdbdc73bf2fc33e69bdbc280d68817"}],"ceilometer/cmd/storage.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a16c8f51ed70a4beafd8c85647547b746fb0b38e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"OPTS \u003d ["},{"line_number":28,"context_line":"    cfg.BoolOpt(\u0027samples-only\u0027,"},{"line_number":29,"context_line":"                default\u003dFalse,"},{"line_number":30,"context_line":"                help\u003d\"Indicates if expirer expire samples only.\","},{"line_number":31,"context_line":"                ),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_e7805cf9","line":28,"updated":"2015-02-24 14:17:01.000000000","message":"let\u0027s add this to database section... and maybe expire-samples-only?","commit_id":"c5641d04ce10feb114da716876bdc6c5f3f68aa2"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a16c8f51ed70a4beafd8c85647547b746fb0b38e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        storage_conn \u003d storage.get_connection_from_config(cfg.CONF)"},{"line_number":50,"context_line":"        storage_conn.clear_expired_metering_data("},{"line_number":51,"context_line":"            cfg.CONF.database.metering_time_to_live,"},{"line_number":52,"context_line":"            cfg.CONF.samples_only)"},{"line_number":53,"context_line":"    else:"},{"line_number":54,"context_line":"        LOG.info(_(\"Nothing to clean, database metering time to live \""},{"line_number":55,"context_line":"                   \"is disabled\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_67ab8c75","line":52,"updated":"2015-02-24 14:17:01.000000000","message":"i would maybe suggest we don\u0027t pass this in as a param and just let this value be checked at sql connection.","commit_id":"c5641d04ce10feb114da716876bdc6c5f3f68aa2"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"97ce5faa0ab6393d756e7a16625ed8bf46d7b156","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"OPTS \u003d ["},{"line_number":28,"context_line":"    cfg.BoolOpt(\u0027expire-samples-only\u0027,"},{"line_number":29,"context_line":"                default\u003dFalse,"},{"line_number":30,"context_line":"                help\u003d\"Indicates if expirer expire samples only.\","},{"line_number":31,"context_line":"                ),"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_f039e6a4","line":28,"updated":"2015-02-24 20:40:30.000000000","message":"@gordc: if we add this to the database group, then the oslo cli expects a cli parameter of the form --database-expire-samples-only","commit_id":"387f6fc197d2c3030b188e370d5359acf04753bc"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"97ce5faa0ab6393d756e7a16625ed8bf46d7b156","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        storage_conn \u003d storage.get_connection_from_config(cfg.CONF)"},{"line_number":50,"context_line":"        storage_conn.clear_expired_metering_data("},{"line_number":51,"context_line":"            cfg.CONF.database.metering_time_to_live,"},{"line_number":52,"context_line":"            cfg.CONF.expire_samples_only)"},{"line_number":53,"context_line":"    else:"},{"line_number":54,"context_line":"        LOG.info(_(\"Nothing to clean, database metering time to live \""},{"line_number":55,"context_line":"                   \"is disabled\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_50e1d2fc","line":52,"updated":"2015-02-24 20:40:30.000000000","message":"@gordc: we added this a CLI param so that we can schedule a sample-only run of the expirer more frequently and the full expirer run less frequently using cron-based scheduling. Can you elaborate more this - just let this value be checked at sql connection?","commit_id":"387f6fc197d2c3030b188e370d5359acf04753bc"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"61917abce496581776dbf99368cc566c629493e5","unresolved":false,"context_lines":[{"line_number":27,"context_line":"OPTS \u003d ["},{"line_number":28,"context_line":"    cfg.BoolOpt(\u0027expire-samples-only\u0027,"},{"line_number":29,"context_line":"                default\u003dFalse,"},{"line_number":30,"context_line":"                help\u003d\"Indicates if expirer expire samples only.\","},{"line_number":31,"context_line":"                ),"},{"line_number":32,"context_line":"]"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_ea180e77","line":30,"updated":"2015-02-24 21:18:40.000000000","message":"the reason i suggest database group is because the metering_time_to_live option is in this group and they are related.","commit_id":"d2e82554838abbf9b383c0aff220e55456d15996"}],"ceilometer/storage/__init__.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"16dd344d271f7d3358af0f23f9bfdc75c8f55fed","unresolved":false,"context_lines":[{"line_number":79,"context_line":"CLI_OPTS \u003d ["},{"line_number":80,"context_line":"    cfg.BoolOpt(\u0027expire-samples-only\u0027,"},{"line_number":81,"context_line":"                default\u003dFalse,"},{"line_number":82,"context_line":"                help\u003d\"Indicates if expirer expire samples only.\","},{"line_number":83,"context_line":"                ),"},{"line_number":84,"context_line":"]"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_e68ae9bd","line":82,"updated":"2015-02-25 14:12:13.000000000","message":"s/if expirer expire samples/if expirer should remove samples/","commit_id":"73e7eb6cc04e7c45f3497120b2d6dc18951360dc"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"4ac258311cea6a7c3e68c1450a7610fef73d07d0","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                ),"},{"line_number":84,"context_line":"]"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"cfg.CONF.register_cli_opts(CLI_OPTS)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"db_options.set_defaults(cfg.CONF)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_e0e2ed2d","line":86,"updated":"2015-02-24 23:23:17.000000000","message":"@gordc: metering_time_to_live is sourced from ceilometer.conf file, whereas expire-samples-only is a CLI parameter to ceilometer-expirer similar to --config-file. Putting the expire-samples-only in the database group would change the CLI parameter to be --database-expire-samples-only","commit_id":"73e7eb6cc04e7c45f3497120b2d6dc18951360dc"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"16dd344d271f7d3358af0f23f9bfdc75c8f55fed","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                ),"},{"line_number":84,"context_line":"]"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"cfg.CONF.register_cli_opts(CLI_OPTS)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"db_options.set_defaults(cfg.CONF)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_0688ddc3","line":86,"in_reply_to":"ba7be1f8_e0e2ed2d","updated":"2015-02-25 14:12:13.000000000","message":"fair enough.","commit_id":"73e7eb6cc04e7c45f3497120b2d6dc18951360dc"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"a5353f4973f94a57a87b78612bd8d211840f3338","unresolved":false,"context_lines":[{"line_number":79,"context_line":"CLI_OPTS \u003d ["},{"line_number":80,"context_line":"    cfg.BoolOpt(\u0027expire-samples-only\u0027,"},{"line_number":81,"context_line":"                default\u003dFalse,"},{"line_number":82,"context_line":"                help\u003d\"Indicates if expirer expire samples.\","},{"line_number":83,"context_line":"                ),"},{"line_number":84,"context_line":"]"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_98b728f5","line":82,"updated":"2015-03-02 07:26:08.000000000","message":"How about adding description what will be deleted or not explicitly?\n\nIf I understand correctly, this option only affect to meter DB. Some user might be confused and mistaken that old events will not be expired if this option enabled.\n\ne.g.: \"Indicates if expirer expire samples from meter DB. If set true, expired samples will be deleted, but residual resource and meter definition data will remain.\"","commit_id":"3bbf5a7225d1bc05ca3f53719fb7e732e378755e"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"6447b59e5ac30680e8a213ec85a8aa76da95a4f9","unresolved":false,"context_lines":[{"line_number":79,"context_line":"CLI_OPTS \u003d ["},{"line_number":80,"context_line":"    cfg.BoolOpt(\u0027sql-expire-samples-only\u0027,"},{"line_number":81,"context_line":"                default\u003dFalse,"},{"line_number":82,"context_line":"                help\u003d\"Indicates if expirer expire samples. If set true,\""},{"line_number":83,"context_line":"                     \" expired samples will be deleted, but residual\""},{"line_number":84,"context_line":"                     \" resource and meter definition data will remain.\","},{"line_number":85,"context_line":"                ),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_726a5cb4","line":82,"range":{"start_line":82,"start_character":35,"end_line":82,"end_character":42},"updated":"2015-03-06 16:25:52.000000000","message":"could you please explain what does that word/phrase mean?","commit_id":"06d09776aefdbdc73bf2fc33e69bdbc280d68817"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"151a51bcef62429bfe0e67ee421627de7c440cbd","unresolved":false,"context_lines":[{"line_number":79,"context_line":"CLI_OPTS \u003d ["},{"line_number":80,"context_line":"    cfg.BoolOpt(\u0027sql-expire-samples-only\u0027,"},{"line_number":81,"context_line":"                default\u003dFalse,"},{"line_number":82,"context_line":"                help\u003d\"Indicates if expirer expire samples. If set true,\""},{"line_number":83,"context_line":"                     \" expired samples will be deleted, but residual\""},{"line_number":84,"context_line":"                     \" resource and meter definition data will remain.\","},{"line_number":85,"context_line":"                ),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_3281c4fb","line":82,"in_reply_to":"9a80dd14_726a5cb4","updated":"2015-03-06 16:35:20.000000000","message":"@igor: expirer is a reference to ceilometer-expirer which is a tool to expire samples and other metering data. It is used to manage the volume of the data set in the backend. The option - sql-expire-samples-only is used to expire samples only (which has more volume and velocity) than the other components of metering data (resources and metadata).","commit_id":"06d09776aefdbdc73bf2fc33e69bdbc280d68817"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"87d648a0b41ce0e3650e9dddd5aff1d4f472ec4c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"CLI_OPTS \u003d ["},{"line_number":80,"context_line":"    cfg.BoolOpt(\u0027sql-expire-samples-only\u0027,"},{"line_number":81,"context_line":"                default\u003dFalse,"},{"line_number":82,"context_line":"                help\u003d\"Indicates if expirer expire samples. If set true,\""},{"line_number":83,"context_line":"                     \" expired samples will be deleted, but residual\""},{"line_number":84,"context_line":"                     \" resource and meter definition data will remain.\","},{"line_number":85,"context_line":"                ),"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_e898ef1d","line":82,"updated":"2015-03-09 11:26:22.000000000","message":"s/expire samples/expires only samples/","commit_id":"5903154bd672a723c9f459bd3afeeb6111f184ec"}],"ceilometer/storage/impl_sqlalchemy.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"61917abce496581776dbf99368cc566c629493e5","unresolved":false,"context_lines":[{"line_number":352,"context_line":"        \"\"\""},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"        session \u003d self._engine_facade.get_session()"},{"line_number":355,"context_line":"        with session.begin():"},{"line_number":356,"context_line":"            end \u003d timeutils.utcnow() - datetime.timedelta(seconds\u003dttl)"},{"line_number":357,"context_line":"            sample_q \u003d (session.query(models.Sample)"},{"line_number":358,"context_line":"                        .filter(models.Sample.timestamp \u003c end))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_27209fab","line":355,"updated":"2015-02-24 21:18:40.000000000","message":"so i was thinking here: instead of passing in as param, you can check cfg.CONF explicitly considering this option is only relevant to sql backend","commit_id":"d2e82554838abbf9b383c0aff220e55456d15996"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"16dd344d271f7d3358af0f23f9bfdc75c8f55fed","unresolved":false,"context_lines":[{"line_number":375,"context_line":"                     .filter(table.id.in_(resource_subq))"},{"line_number":376,"context_line":"                     .delete(synchronize_session\u003dFalse))"},{"line_number":377,"context_line":"                resource_q.delete(synchronize_session\u003dFalse)"},{"line_number":378,"context_line":"                LOG.info(_(\"Expired metering data\"))"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    def get_resources(self, user\u003dNone, project\u003dNone, source\u003dNone,"},{"line_number":381,"context_line":"                      start_timestamp\u003dNone, start_timestamp_op\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_6176e3a5","line":378,"updated":"2015-02-25 14:12:13.000000000","message":"could be more descriptive. (_LE(\u0027\u0027Expired residual resource and meter definition data\")","commit_id":"73e7eb6cc04e7c45f3497120b2d6dc18951360dc"}]}
