issues: 347501024
This data as json
id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at | closed_at | author_association | active_lock_reason | draft | pull_request | body | reactions | performed_via_github_app | state_reason | repo | type |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
347501024 | MDU6SXNzdWUzNDc1MDEwMjQ= | 918 | Improve ObjectGUID allocation | 10608427 | closed | 0 | 10608427 | 3 | 2018-08-03T18:51:26Z | 2019-03-08T02:18:12Z | 2019-03-08T02:18:11Z | MEMBER | Here are some notes from Reefcull, thanks to Morosity. Reefcull uses the same system currently implemented in ACE where ID's are generated in n+1 fashion, starting from 0x80000000 with no reclaiming. Reefcull has been up for 8 months now, and used approximately 2.1 billion ID's. Reefcull has an average active online count of around 400. Reefcull consumes at peak about 125/s, and low times 50/s. Reefcull is about to run out of ID's. There are several possible solutions: 1. Use a specific small range for short lived (ephemeral) objects like arrows. - Can an arrow be picked up off the ground? - This still suffers from the eventual n+1 end of range issue 2. Recycle id's for ephemeral objects - Maybe on initial load, the server gathers a list of available id's from the database and enters these into a picker pool. If the pool gets used up, new id's will be generated adding to the n+1. - When an ephemeral item is destroyed, add it's id back into the pool. | {"url": "https://api.github.com/repos/ACEmulator/ACE/issues/918/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | completed | 79078680 | issue |