[
https://issues.apache.org/jira/browse/HBASE-26458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17445062#comment-17445062
]
Viraj Jasani commented on HBASE-26458:
--------------------------------------
I updated the Jira number reference in the PR:
[https://github.com/apache/hbase/pull/3852.|https://github.com/apache/hbase/pull/3852]
Added comments with detailed explanation
[here|https://github.com/apache/hbase/pull/3852#issuecomment-971417508].
Adding the latest comment from PR:
{code:java}
1. If client wants to create specific snapshot that should live forever
regardless of `hbase.master.snapshot.ttl` config value, then they should
specify TTL < -1.
2. If we don't want to enable TTL at entire cluster level, no need of any
config change because the default value of `hbase.master.snapshot.ttl` is 0,
which represents TTL Forever at server side.
{code}
I think we need these 2 points to be clearly mentioned in the HBase book. As
for the PR, we can't make this change because it requires changing proto and
changing default value of proto is not compatible change for cluster already
utilizing this feature.
> Value of hbase.master.snapshot.ttl is not used
> ----------------------------------------------
>
> Key: HBASE-26458
> URL: https://issues.apache.org/jira/browse/HBASE-26458
> Project: HBase
> Issue Type: Bug
> Components: snapshots
> Affects Versions: 1.7.1, 2.4.8
> Reporter: Joel Swiatek
> Assignee: Joel Swiatek
> Priority: Minor
> Fix For: 1.7.1, 2.4.8
>
> Attachments:
> branch-1-0001-HBASE-22458-Add-UNSET_SNAPSHOT_PROP-and-fix-TTL-defa.patch,
> branch-2-0001-HBASE-22458-Add-UNSET_SNAPSHOT_PROP-and-fix-TTL-defa.patch,
> master-0001-HBASE-22458-Add-UNSET_SNAPSHOT_PROP-and-fix-TTL-defa.patch
>
> Original Estimate: 120h
> Remaining Estimate: 120h
>
> When creating a snapshot, users can explicitly specify the TTL to be used. If
> no TTL is specified, then the SnapshotDescription is initially created with a
> TTL of -1 to indicate FOREVER.
> When the SnapshotDescription runs through SnapshotDescriptionUtils#validate,
> the TTL is checked to see if the default value of hbase.master.snapshot.ttl
> should be applied. The value from the config is only applied if the TTL == 0,
> but it should be -1.
> This has another nasty side-effect: any user who creates a snapshot and
> explicitly sets \{TTL => 0} will find that their snapshot gets its TTL from
> hbase.master.snapshot.TTL.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)