mirror of
https://github.com/joyieldInc/predixy.git
synced 2025-12-24 22:46:41 +08:00
Fix ERR no server connection avaliable
This commit is contained in:
parent
393ff81e69
commit
5f9c71e2b6
@ -49,16 +49,18 @@ Server* ServerGroup::getServer(Handler* h, Request* req) const
|
|||||||
Server* serv = nullptr;
|
Server* serv = nullptr;
|
||||||
if (req->requireWrite()) {
|
if (req->requireWrite()) {
|
||||||
int cnt = mServs.size();
|
int cnt = mServs.size();
|
||||||
for (int i = 0; i < cnt; ++i) {
|
for (int i = cnt-1; i >= 0; --i) {
|
||||||
Server* s = mServs[i];
|
Server* s = mServs[i];
|
||||||
if (!s->online()) {
|
if (!s->online()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (s->role() == Server::Master) {
|
if (s->role() == Server::Master) {
|
||||||
serv = s;
|
serv = s;
|
||||||
|
if (!s->fail()){
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else if (auto dataCenter = mPool->proxy()->dataCenter()) {
|
} else if (auto dataCenter = mPool->proxy()->dataCenter()) {
|
||||||
serv = getReadServer(h, dataCenter->localDC());
|
serv = getReadServer(h, dataCenter->localDC());
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user