Hi team,

I found that in boss_cache:start/1

start/1 of boss_cache_adapter is called

start(Options) ->
>     AdapterName = proplists:get_value(adapter, Options, memcached_bin),
>     Adapter     = list_to_atom(lists:concat(["boss_cache_adapter_", 
> AdapterName])),
>     Adapter:start(Options),
>     boss_cache_sup:start_link(Options).


then boss_cache_sup supervisor is started for using poolboy. Each worker is 
boss_cache_controller. boss_cache_controller is gen_server. My ets_cache is 
also a gen_server that provide (synchronous) get and (asynchronous) set, 
delete. After understood, I can fix my ets_cache.

But there is abuse of using poolboy here. While erlmc (memcached_bin 
adapter), redo (redis adapter) are gen_server, too. They also provide 
synchronous get, asynchronous set, delete, why we use more gen_server 
(boss_cache_controller) in the middle between boss_cache and (memcached, 
redis, ets) adapter ?

I suggest that boss_cache calls (get, set, delete) APIs of (memcached, 
redis, ets) adapter directly, no need boss_cache_sup (i.e. no need poolboy).
If there's something wrong or stupid, please correct me!

And I though poolboy abuse issue causes CB not obey canceled 
requests<https://groups.google.com/forum/#!topic/chicagoboss/8YPsa4DOiKU>
.

Regards,
Cuong Th.

-- 
You received this message because you are subscribed to the Google Groups 
"ChicagoBoss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at http://groups.google.com/group/chicagoboss.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/chicagoboss/95d36239-ab54-48cb-9649-0cbb7d49a802%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to