code: func (p *LSCCBasedBTLPolicy) GetBTL(namesapce string, collection string) (uint64, error) {
  	var btl uint64
  	var ok bool
  	key := btlkey{namesapce, collection}
  	p.lock.Lock()
  	defer p.lock.Unlock()
  	btl, ok = p.cache[key]
  	if !ok {
  		collConfig, err := p.collInfoProvider.CollectionInfo(namesapce, collection)
  		if err != nil {
  			return 0, err
  		}
  		if collConfig == nil {
  			return 0, privdata.NoSuchCollectionError{Namespace: namesapce, Collection: collection}
  		}
  		btlConfigured := collConfig.BlockToLive
  		if btlConfigured > 0 {
  			btl = uint64(btlConfigured)
  		} else {
  			btl = defaultBTL
  		}
  		p.cache[key] = btl
  	}
  	return btl, nil
  }
docs: // GetBTL implements corresponding function in interface `BTLPolicyMgr`