virajjasani commented on a change in pull request #3852: URL: https://github.com/apache/hbase/pull/3852#discussion_r753019998
########## File path: src/main/asciidoc/_chapters/ops_mgt.adoc ########## @@ -3150,23 +3150,24 @@ TTL some notion of optional TTL (and optional default TTL) for snapshots could b hbase> snapshot 'mytable', 'snapshot1234', {TTL => 86400} ---- -The above command creates snapshot `snapshot1234` with TTL of 86400 sec(24 hours) +The above command creates snapshot `snapshot1234` with TTL of 86400 sec (24 hours) and hence, the snapshot is supposed to be cleaned up after 24 hours .Default Snapshot TTL: - -- FOREVER by default -- User specified Default TTL with config `hbase.master.snapshot.ttl` - - -While creating a Snapshot, if TTL in seconds is not specified, by default the snapshot -would not be deleted automatically. i.e. it would be retained forever until it is -manually deleted. However, the user can update this default TTL behavior by -providing default TTL in sec for key: `hbase.master.snapshot.ttl`. -Value 0 for this config indicates TTL: FOREVER - +- User specified default TTL with config `hbase.master.snapshot.ttl` +- FOREVER if `hbase.master.snapshot.ttl` is not set + +While creating a snapshot, if TTL in seconds is not explicitly specified, the above logic will be +followed to determine the TTL. If no configs are changed, the default behavior is that all snapshots +will be retained forever (until manual deletion). If a different default TTL behavior is desired, +`hbase.master.snapshot.ttl` can be set to a default TTL in seconds. Any snapshot created without +an explicit TTL will take this new value. + +NOTE: If `hbase.master.snapshot.ttl` is set, a snapshot with an explicit {TTL => 0} or +{TTL => -1} will also take this value. In this case, a TTL < -1 (such as {TTL => -2} should be used +to indicate FOREVER. Review comment: Thanks @joswiatek. Looks good. After this line, shall we sum up with these points? ``` To sum-up, 1. Snapshot with TTL value < -1 will stay forever regardless of any server side config changes (until deleted manually by user). 2. Snapshot with TTL value > 0 will be deleted soon after TTL expires. 3. Snapshot created without specifying TTL will always have TTL value represented by config `hbase.master.snapshot.ttl`. Default value of this config is 0, which represents: keep the snapshot forever (until deleted manually by user). 4. From client side, TTL value 0 or -1 should not be provided because they will be treated same as snapshot without TTL (same as above point 3) and hence will use TTL as per value represented by config `hbase.master.snapshot.ttl`. ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@hbase.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org