Earlier quoted context omitted.
Not the original commenter, but I've read through half a dozen post-mortems about this kind of thing. The answer is: yes. There's challenges and sometimes downtime and/or breaking changes are inevitable. For one, if your IDs are approaching the 2^31 signed integer limit, then by definition, you have nearly two billion rows , which is a very big DB table! There are only a handful of systems that can handle any kind of…
> For one, if your IDs are approaching the 2^31 signed integer limit, then by definition, you have nearly two billion rows Just wanted to nitpick this; this is not actually definitively true. A failed insert in some systems will increment the counter and deleting rows usually does not allow the deleted ID to be re-used (new inserts use the current counter). Of course, that is beside the point: the typical case of a t…
Congratulations on creating the one billionth repository on GitHub
81–90 of 146 posts
Re: Congratulations on creating the one billionth repository on GitHub
#82On a serious note, I'm a bit surprised that GitHub makes it trivial to compute the rate at which new repositories are created. Isn't that kind of information usually a corporate secret?
When your moat is a billion wide, you tend to walk around in your underwear a bit more I guess.
Re: Congratulations on creating the one billionth repository on GitHub
#83This is either staged, or incredible commentary on most github repos , having no purpose, never being realized, and even having given up dreaming .
Re: Congratulations on creating the one billionth repository on GitHub
#84Re: Congratulations on creating the one billionth repository on GitHub
#85Probably created via a script that just repeatedly checked https://api.github.com/repositories/999999999 until it showed up, and then created a new repository. Since repositories can be modified, could have even given it some buffer and created a bunch of repos, just delete the ones that don't get the right number. [append] Looking at the author's other repo created yesterday, I'm betting "yep" was supposed to be the…
Re: Congratulations on creating the one billionth repository on GitHub
#86Earlier quoted context omitted.
heh, that's happened at at least 5 companies I have worked at - go to check the database, find - currency as floats, hilarious indexes, integers gonna overflow, gigantic types with nothing in them.
I bet you haven't seen indeces on decimals though! Fun times :)
Re: Congratulations on creating the one billionth repository on GitHub
#87Re: Congratulations on creating the one billionth repository on GitHub
#88Earlier quoted context omitted.
Is there any reason for GitHub to hide this information though? How could it be used against them? (I understand many companies default to not expose any information unless forced otherwise.)
Companies usually hide this type of information so competitors have a harder time determining if they are growing/shrinking/neutral.
Re: Congratulations on creating the one billionth repository on GitHub
#89Earlier quoted context omitted.
The company where I did my stint as CTO I turned up, noticed they were using 32-bit integers as primary keys on one of their key tables that already had 1.3 billion rows and, at the rate they were adding them, would overflow on primary key values within months… so we ran a fairly urgent project to upgrade the IDs to 64-bit to avoid the total meltdown that would have ensued otherwise.
What are the challenges of such projects? How many people are usually involved? Does it incur downtimes or significant technical challenges for either the infrastructure or the codebase?
The alternative is that you can monkey-patch the database driver to parse the i64 id as an IEEE754 number anyway and deal with this problem later when you overflow the JavaScript max safe integer size (2^53), except when that happens it will manifest in some really wacky ways, rather than the db just refusing to insert a new row.
Re: Congratulations on creating the one billionth repository on GitHub
#90Earlier quoted context omitted.
> For one, if your IDs are approaching the 2^31 signed integer limit, then by definition, you have nearly two billion rows Just wanted to nitpick this; this is not actually definitively true. A failed insert in some systems will increment the counter and deleting rows usually does not allow the deleted ID to be re-used (new inserts use the current counter). Of course, that is beside the point: the typical case of a t…
It's actually fairly common to see this problem crop up in systems that are using a database table as a queue (which is a bad idea for many reasons, but people still do it) in which case the number of live rows in the table can be fairly small.