1
0
Fork 0

Merge pull request #860 from rqlite/query-strong-check

Perform leader check first for STRONG query
master
Philip O'Toole 3 years ago committed by GitHub
commit 34fe285568
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -627,6 +627,10 @@ func (s *Store) execute(ex *command.ExecuteRequest) ([]*command.ExecuteResult, e
// Query executes queries that return rows, and do not modify the database.
func (s *Store) Query(qr *command.QueryRequest) ([]*command.QueryRows, error) {
if qr.Level == command.QueryRequest_QUERY_REQUEST_LEVEL_STRONG {
if s.raft.State() != raft.Leader {
return nil, ErrNotLeader
}
b, compressed, err := s.reqMarshaller.Marshal(qr)
if err != nil {
return nil, err
@ -672,8 +676,7 @@ func (s *Store) Query(qr *command.QueryRequest) ([]*command.QueryRows, error) {
return nil, ErrStaleRead
}
rows, err := s.db.Query(qr.Request, qr.Timings)
return rows, err
return s.db.Query(qr.Request, qr.Timings)
}
// Backup writes a snapshot of the underlying database to dst

Loading…
Cancel
Save