server_id not truly unique

Bug #1365614 reported by Morgan Jones on 2014-09-04
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack DBaaS (Trove)
Low
Morgan Jones

Bug Description

During instance creation, a "unique" server_id is generated for each trove instance. The server_id is derived from the instance id modulo 65535, which of course is not truly unique. This has not been an issue to date, but the replication feature relies on the server_ids being unique. Eventually, a non-unique server_id will be generated within a master/slave set and replication will fail.

We need to come up with a better way of assigning server_ids.

See trove/common/template.py:_calculate_unique_id()

Denis M. (dmakogon) on 2014-09-20
Changed in trove:
status: New → Triaged
importance: Undecided → Low
Amrith Kumar (amrith) wrote :

Why is the importance of this "Low"?

Morgan, what are the consequences of not having a unique server id?

Denis M. (dmakogon) wrote :

The importance is 'Low' since this bug only affects specific replication set.
The probability of ID's collision is 1/2^16 -1
And as i can see, nobody does replication deployment with 2^16-1 slaves. This is why it's LOW.

Denis M. (dmakogon) wrote :

But i do agree that it should be fixed.

Morgan Jones (6-morgan) wrote :

Replication will not work if the server ids are not unique.

It is not necessary for someone to have 2^16 slaves to run into this problem, it could happen to anyone at any time. However, I don't disagree with this being classified LOW, though it should be fixed in Kilo.

Amrith Kumar (amrith) wrote :

Why Kilo? What about Juno?

Changed in trove:
milestone: none → juno-rc1
Changed in trove:
assignee: nobody → Morgan Jones (6-morgan)
Nikhil Manchanda (slicknik) wrote :

Spoke to Morgan regarding this, and we're good with moving it out to Kilo since it's not critical for Juno.

Changed in trove:
milestone: juno-rc1 → kilo-1
Changed in trove:
milestone: kilo-1 → next
milestone: next → kilo-2
Changed in trove:
milestone: kilo-2 → kilo-3
Changed in trove:
milestone: kilo-3 → ongoing
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers