local MemoryService = game:GetService("MemoryStoreService")
local MS1 = MemoryService:GetSortedMap('MS1')
local MS2 = MemoryService:GetSortedMap('MS2')
for I = 1, 7 do
Success, Error = pcall(function()
MS1:SetAsync(I, string.rep('*', 10000), 60*60)
end)
if not Success then
warn('Error SetAsync MS1\n' .. Error)
break
end
end
for I = 1, 7 do
Success, Error = pcall(function()
MS2:SetAsync(I, string.rep('*', 10000), 60*60)
end)
if not Success then
warn('Error SetAsync MS2\n' .. Error)
break
end
end
Expected Behavior
The space quota overflow of the first MemoryStore shouldn’t affect the quota of the second one.
Actual Behavior
The first MemoryStore MS1 has its space overflowed on purpose, inserting 6 keys of 10000 bytes each and when the seventh key is going to be inserted, it generates the error Code: 5 warning about the overflow of space quota.
Error SetAsync MS1
Code: 5, Error: Memory usage of 70014 bytes would exceed the quota of 65536 bytes (00-3e16959b457ae41a0a4d67e9d5d0d29e-d4125ac990952fbd-00)
The second loop will do the same as the first. However, in the firstSetAsync for MS2 (only 10000 bytes), the space quota overflow error is generated:
Error SetAsync MS2
Code: 5, Error: Memory usage of 70014 bytes would exceed the quota of 65536 bytes (00-2c2ebb66bf9450f6b51330d377d2306a-2c9f619ec8ed27f9-00)
Issue Area: Engine Issue Type: Other Impact: High Frequency: Constantly
Is this not intentional behavior? The Memory Stores article on the docs states that “The memory quota limits the total amount of memory that an experience can consume.” It explicitly states the limits apply to the experience, not individual queues/maps.
“A” MemoryStore (singular) and not “All” MemoryStore (plural).
I lost many hours of work to discover this limitation and had to throw all my work away for it.
If this limitation is intentional, fix the documentation.
If not, fix the engine.
Roblox has already gave an api documentation on this. Roblox intentionally did this so the official statement will be what it says in the documentation.
I agree this doesn’t really make sense they shouldn’t be colliding big impact on my end as i want to have matchmaking , that’s cross server but also have live tournaments with bunch of info and that’s a big impact
Hey @rogeriodec_games, confirming this is intended, you are hitting the memory limit for an experience as a whole (at the time of writing: 64KB + 1KB ⨉ [number of users] as per the documentation)
The documentation was apparently adjusted somewhere in the past months to remove the confusing “a memory store” leading sentence you were mentioning.
If you encounter any issues that prevent you from using memory stores in your experiences, feel free to file a feature request on those issues. (e.g. if you can’t do something because of the current limit values)