Problem with erlmc

19 views
Skip to first unread message

tome...@gmail.com

unread,
Mar 27, 2014, 11:26:45 AM3/27/14
to chica...@googlegroups.com
Hi! I have a problem with reloading my application while using memcached.
During ./init.sh reload boss_load:reload_all/0 is invoked,
which just purges all modules and loads them back.
First reload doesn't do any harm, but second reload kills most of the processes running old code.

Unfortunately, erlmc is not OTP compliant and it is not supervised.
Internally, it uses ETS table, which after second reload is gone.

15:39:31.294 [error] gen_server <0.119.0> terminated with reason: bad argument in call to ets:select(erlmc_continuum, [{{'$1','_','_'},[{'>','$1',249027110089995543861851459230841118197}],['$1']}], 1) in erlmc:find_next_largest/1 line 401
15:39:31.295 [error] CRASH REPORT Process <0.119.0> with 0 neighbours exited with reason: bad argument in call to ets:select(erlmc_continuum, [{{'$1','_','_'},[{'>','$1',249027110089995543861851459230841118197}],['$1']}], 1) in erlmc:find_next_largest/1 line 401 in gen_server:terminate/6 line 744
15:39:31.295 [error] Supervisor {<0.118.0>,poolboy_sup} had child boss_cache_controller started with {boss_cache_controller,start_link,undefined} at <0.119.0> exit with reason bad argument in call to ets:select(erlmc_continuum, [{{'$1','_','_'},[{'>','$1',249027110089995543861851459230841118197}],['$1']}], 1) in erlmc:find_next_largest/1 line 401 in context child_terminated

Do you know any stable, OTP compliant memcached client? I am more than happy to dig into boss_db
and add supervision for it.
Reply all
Reply to author
Forward
0 new messages