code: func (alloc *Allocator) Rebase(tableID, newBase int64, allocIDs bool) error {
  	// CAS
  	for {
  		oldBase := atomic.LoadInt64(&alloc.base)
  		if newBase <= oldBase {
  			break
  		}
  		if atomic.CompareAndSwapInt64(&alloc.base, oldBase, newBase) {
  			break
  		}
  	}
  
  	return nil
  }
docs: // Rebase not allow newBase smaller than alloc.base, and will skip the smaller newBase.