The Reddit platform lives from its user comments. It is all the more embarrassing that their large number of all things is now causing a serious problem. Technically, the developers had not intended such intensive use.
To put things into perspective in advance: Similar mistakes happen again and again when programmers underestimate the growth potential of their products, don’t assume very long periods of time or something similar. So Reddit is by no means the first to be familiar with such a difficulty. And it’s not about moving too fast or large amounts of data.
Rather, Reddit is struggling with the unique identifier of the comments. To ensure that all content is properly structured in the background, each contribution is given a unique index number. And this value must be stored as a previously defined data type. “Actually, Int32 should be enough content for everyone,” joked one of the responsible programmers with a view to the software architecture.
64 bits to happiness
Int32 includes numbers that can be described in binary with 32 bits. In the decimal system, the values are from -2,147,483,648 to 2,147,483,647. That seems like a large enough amount when you start developing an online platform. Reddit, however, has long since penetrated the area of over 2 billion comments and reaching the end of the index has already caused problems with image uploads. If the index is completely full, the counter automatically jumps to -2,147,483,648 due to an overflow.
The developers at Reddit are already working on a solution to the problem, which probably consists simply of changing the type. Here it would basically be enough if you switch to the variant without negative numbers, then numbers that are twice as high would be available directly. Or you can go directly to 64-bit numbers, which you will definitely have peace of mind for years.
Incidentally, Unix operating systems also face a similar problem: These, too, map the internal time calculation with a 32-bit number. The count started here on January 1, 1970, at 00:00:00 (UTC), from then on only the seconds are counted up in the system clock. This integer will fill up on January 19, 2038, at 03:14:08 (UTC). By then they also want to have switched to a 64-bit type, which would mean that there would no longer be a problem over the next almost 300 billion years.