Prior to version 2.6.4, all our database records contained IDs which were limited to 2 billion rows.
In version 2.6.4, we have replaced, for one table, all the IDs with bigger numbers ("long" instead of "integer"). In future versions, we will replace the IDs for other tables. We take it in several steps, because we want to ensure the change of type doesn't make some data inaccessible.
Known problems
After the installation of 2.6.4, there won't be any problem anymore for the number of records, in the table AO_32F7CE_AOINTEGRATION_QUEUE (other tables will follow).
However, if you do reach the ID 2,000,000,000, the sequence that generates the ID in the database will have reached its maximum. It is not a problem anymore, since it is possible to update the sequence. However, you mst do it manually, as an administrator.
Expected error
Users may come to you with an error such as "The requirements couldn't be reindexed for Requirement Yogi. (...) addToQueue()":
Or you may see, in the logs, an error such as:
2021-05-11 12:54:36.043 CEST [71956] ERROR: nextval: reached maximum value of sequence "AO_32F7CE_AOINTEGRATION_QUEUE_ID_seq" (2147483647) 2021-05-11 12:54:36.043 CEST [71956] STATEMENT: SELECT NEXTVAL('"AO_32F7CE_AOINTEGRATION_QUEUE_ID_seq"') 2021-05-11 12:54:36.044 CEST [71956] ERROR: current transaction is aborted, commands ignored until end of transaction block 2021-05-11 12:54:36.044 CEST [71956] STATEMENT: select 1
Then records are not saved anymore. You must update the sequence IDs.
How to fix in Postgres
The sequence named "AO_32F7CE_AOINTEGRATION_QUEUE_ID_seq" (quotes included) must be updated to generate bigger numbers:
ALTER SEQUENCE "AO_32F7CE_AOINTEGRATION_QUEUE_ID_seq" AS bigint; ALTER SEQUENCE "AO_32F7CE_AOINTEGRATION_QUEUE_ID_seq" MAXVALUE 9223372036854775807;