|
|
|
|
|
by saalweachter
2641 days ago
|
|
I interpret "repurposed a flag" to be re-using a bit in a bitfield in a binary RPC. This is a little inevitable when working with (internal) binary protocols. You have some bits that used to be used as one thing, haven't been used for that thing in awhile, and it can be very tempting to just repurpose those old bits for new tricks. In that case I'd call the sin deprecating and reusing in a single step. If you have to change the meaning of bits in a binary protocol, you should deprecate the old meaning, wait several release cycles, and then repurpose it after you're very, very confident that there are no remaining clients or servers in lurking around production with the old meaning, and that you won't need to roll back production to the old state ever again. Roll-out failures like this happen all the time; you have to roll-out new changes almost assuming they will happen. |
|