HelloBug0 opened a new issue #3112:
URL: https://github.com/apache/apisix/issues/3112


   ### Issue description
   When I study the code of APISIX, I'm not quite clear the file 
apisix/core/lrucache.lua from line 100 to line 
134([here](https://github.com/apache/apisix/blob/966d68829add34d11695998af4e3035a0a473908/apisix/core/lrucache.lua#L100))
   + What is the use of item_release? And I searched the project about this 
value(actually it's a function,right?), I couldn't find it.
   + Based on the last question, the value of item_release is nil, why should 
we call the function `fetch_valid_cache` twice in [line 
100](https://github.com/apache/apisix/blob/966d68829add34d11695998af4e3035a0a473908/apisix/core/lrucache.lua#L100)
 and [line 
119](https://github.com/apache/apisix/blob/966d68829add34d11695998af4e3035a0a473908/apisix/core/lrucache.lua#L119)?
 
   + Why do we need lock if we are using lru_cache which is process level cache?
   ### Environment
   
   * apisix version (master):
   * OS: (Linux VM-0-7-centos 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 
17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux)
   * OpenResty version: (nginx version: openresty/1.19.3.1
   built by gcc 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC) 
   built with OpenSSL 1.1.1h  22 Sep 2020
   TLS SNI support enabled
   configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-O2 
-DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/zlib/include 
-I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl111/include' 
--add-module=../ngx_devel_kit-0.3.1 --add-module=../echo-nginx-module-0.62 
--add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 
--add-module=../set-misc-nginx-module-0.32 
--add-module=../form-input-nginx-module-0.12 
--add-module=../encrypted-session-nginx-module-0.08 
--add-module=../srcache-nginx-module-0.32 --add-module=../ngx_lua-0.10.19 
--add-module=../ngx_lua_upstream-0.07 
--add-module=../headers-more-nginx-module-0.33 
--add-module=../array-var-nginx-module-0.05 
--add-module=../memc-nginx-module-0.19 --add-module=../redis2-nginx-module-0.15 
--add-module=../redis-nginx-module-0.3.7 --add-module=../ngx_stream_lua-0.0.9 
--with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib 
-L/usr/local/openresty/zlib/lib -L/usr/local/openresty/pcre/lib -L/usr/loca
 l/openresty/openssl111/lib 
-Wl,-rpath,/usr/local/openresty/zlib/lib:/usr/local/openresty/pcre/lib:/usr/local/openresty/openssl111/lib'
 --with-cc='ccache gcc -fdiagnostics-color=always' --with-pcre-jit 
--with-stream --with-stream_ssl_module --with-stream_ssl_preread_module 
--with-http_v2_module --without-mail_pop3_module --without-mail_imap_module 
--without-mail_smtp_module --with-http_stub_status_module 
--with-http_realip_module --with-http_addition_module 
--with-http_auth_request_module --with-http_secure_link_module 
--with-http_random_index_module --with-http_gzip_static_module 
--with-http_sub_module --with-http_dav_module --with-http_flv_module 
--with-http_mp4_module --with-http_gunzip_module --with-threads --with-compat 
--with-stream --with-http_ssl_module)
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to