code: func (r *raftLog) GetLog(idx uint64, log *raft.Log) error {
  	r.RLock()
  	tx, err := r.conn.Begin(false)
  	if err != nil {
  		r.RUnlock()
  		return err
  	}
  	var key [8]byte
  	binary.BigEndian.PutUint64(key[:], idx)
  	bucket := tx.Bucket(logsBucket)
  	val := bucket.Get(key[:])
  	if val == nil {
  		err = raft.ErrLogNotFound
  	} else {
  		err = r.decodeRaftLog(val, log)
  	}
  	tx.Rollback()
  	r.RUnlock()
  	return err
  }
docs: // GetLog implements the LogStore interface