Open luos opened 3 years ago
This was developed mostly as a PoC that different K/V approaches would be feasible. You may be the only known user going with this module into production ;)
Thankfully it did not make it that far. Actually, we were looking for a solution to https://github.com/rabbitmq/rabbitmq-server/pull/2792 but now that the timeout seems to be increased hopefully it will behave better - though I like the auth backends a bit better as timeouts can still happen. :)
Do you know if anyone uses the ets_segmented
one?
Marking the other modules as well with This module is for demonstration only and should not be used in production.
as the dict
one would makes sense in this case. What do you think?
@luos most people never override the default. We can mark all alternative ones as such.
Hi,
We were trying to use
rabbit_auth_cache_ets_segmented_stateless
but it crashes when agc
is called. It also leaks table refs in therabbit_auth_cache_ets_segmented_stateless_segment_table
table if we fix the crash. Tested with 3.9.19 branch but the code did not change.It crashes on this line: https://github.com/rabbitmq/rabbitmq-server/blob/ad9b4aafb552aabd1f09b053b8e97c18936a9fdd/deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented_stateless.erl#L77
The reason is that the segment table ref is never removed from
?SEGMENT_TABLE
table, therefore first it removes the table, and on the nextgc
call it crashes.The used config was the following: