Closed
Bug 637523
Opened 14 years ago
Closed 11 years ago
syncserver should never connect to a db marked as down in the adm1 db
Categories
(Cloud Services Graveyard :: Server: Sync, defect, P2)
Tracking
(Not tracked)
VERIFIED
WONTFIX
People
(Reporter: petef, Assigned: rfkelly)
References
Details
(Whiteboard: [qa-])
If a node is marked as downed in the available_nodes table, we should not try to connect to it's corresponding database instance.
It appears we are making a connection ons server start to establish the connection pooling -- I was able to work around this by removing the impacted nodes from storage.hosts, but ops would prefer one place to tweak whether or not a node is up or down.
Also: we define the "default" storage.sqluri to point @ the first DB, but what if this DB is actually down/having trouble? What should we point this default sqluri to? Can it just be nothing?
Reporter | ||
Comment 1•14 years ago
|
||
FYI, the same "default" question applies to auth.sqluri.
Updated•13 years ago
|
Whiteboard: [qa-]
Comment 2•13 years ago
|
||
We'll need to figure out a way to write availability into memcache, then make sure pooling doesn't pick that one up.
Assignee: nobody → rkelly
Assignee | ||
Comment 3•13 years ago
|
||
(In reply to Pete Fritchman [:petef] from comment #0)
> It appears we are making a connection ons server start to establish the
> connection pooling
AFAICT the SQLAlchemy pool class does not connect until you actually try to use the database, and our code should not be doing anything to the database at startup time. We should check whether this connect-on-startup behaviour is still happening with the latest SQLAlchemy.
(In reply to Toby Elliott [:telliott] from comment #2)
> We'll need to figure out a way to write availability into memcache, then
> make sure pooling doesn't pick that one up.
The syncstorage server has code that checks in memcache for a key "down:<HOST>", and if it exists then a 503-Retry-After is immediately returned without processing the request. Is this memcache key currently populated by the node downing/upping process?
(In reply to Ryan Kelly [:rfkelly] from comment #3)
> The syncstorage server has code that checks in memcache for a key
> "down:<HOST>", and if it exists then a 503-Retry-After is immediately
> returned without processing the request. Is this memcache key currently
> populated by the node downing/upping process?
No. I think that was part of a long-delayed admin tools update from Toby a year or two ago.
(In reply to Pete Fritchman [:petef] from comment #0)
> Also: we define the "default" storage.sqluri to point @ the first DB, but
> what if this DB is actually down/having trouble? What should we point this
> default sqluri to? Can it just be nothing?
The default sqluri is not valid in a sharding setup and should be ignored or disallowed when we're using shards.
Assignee | ||
Comment 6•13 years ago
|
||
(In reply to Richard Soderberg [:atoll] from comment #5)
> (In reply to Pete Fritchman [:petef] from comment #0)
> > Also: we define the "default" storage.sqluri to point @ the first DB, but
> > what if this DB is actually down/having trouble? What should we point this
> > default sqluri to? Can it just be nothing?
>
> The default sqluri is not valid in a sharding setup and should be ignored or
> disallowed when we're using shards.
Indeed. One (ugly) way around it for now would be to set it to some parsable-but-invalid URI. I filed Bug 785315 with this suggestion.
Updated•11 years ago
|
Priority: -- → P2
Assignee | ||
Comment 7•11 years ago
|
||
This is not relevant to sync1.5 and we've no plans to change anything for sync1.1, so I think we can safely close this out.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
Updated•2 years ago
|
Product: Cloud Services → Cloud Services Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•