1
0
Fork 0

Enable leader redirection

Not quite complete.
master
Philip O'Toole 9 years ago
parent 3c02cbdc53
commit 78f652fcc2

@ -1,5 +1,6 @@
## 3.0.0 (unreleased)
- [PR #109](https://github.com/rqlite/rqlite/pull/109): Nodes broadcast meta to cluster via Raft
- [PR #109](https://github.com/rqlite/rqlite/pull/109): Leader redirection
- [PR #104](https://github.com/rqlite/rqlite/pull/104): Handle the `-join` option sensibly when already member of cluster.
## 2.2.2 (April 24th 2016)

@ -72,7 +72,6 @@ var noVerify bool
var expvar bool
var dsn string
var inMem bool
var disRedirect bool
var showVersion bool
var cpuprofile string
@ -89,7 +88,6 @@ func init() {
flag.BoolVar(&expvar, "expvar", true, "Serve expvar data on HTTP server")
flag.StringVar(&dsn, "dsn", "", `SQLite DSN parameters. E.g. "cache=shared&mode=memory"`)
flag.BoolVar(&inMem, "mem", false, "Use an in-memory database")
flag.BoolVar(&disRedirect, "noredir", true, "Disable leader-redirect")
flag.BoolVar(&showVersion, "version", false, "Show version information and exit")
flag.StringVar(&cpuprofile, "cpuprofile", "", "Write CPU profile to file")
flag.Usage = func() {
@ -216,7 +214,6 @@ func main() {
s.CertFile = x509Cert
s.KeyFile = x509Key
s.DisableRedirect = disRedirect
s.Expvar = expvar
s.BuildInfo = map[string]interface{}{
"commit": commit,

@ -119,8 +119,7 @@ type Service struct {
credentialStore CredentialStore
Expvar bool
DisableRedirect bool // Disable leader-redirection.
Expvar bool
BuildInfo map[string]interface{}
@ -379,7 +378,7 @@ func (s *Service) handleExecute(w http.ResponseWriter, r *http.Request) {
results, err := s.store.Execute(queries, timings, isTx)
if err != nil {
if err == store.ErrNotLeader && !s.DisableRedirect {
if err == store.ErrNotLeader {
http.Redirect(w, r, s.store.Peer(s.store.Leader()), http.StatusTemporaryRedirect)
return
}
@ -448,7 +447,7 @@ func (s *Service) handleQuery(w http.ResponseWriter, r *http.Request) {
results, err := s.store.Query(queries, timings, isTx, lvl)
if err != nil {
if err == store.ErrNotLeader && !s.DisableRedirect {
if err == store.ErrNotLeader {
http.Redirect(w, r, s.store.Peer(s.store.Leader()), http.StatusTemporaryRedirect)
return
}

Loading…
Cancel
Save