Pinpointing the Python Code Paths with High Disk I/O (using OpenResty XRay)
ChangeLog 1.0.8
Yichun Zhang , 03 Nov 2011 (created 10 Oct 2011)Stable Release 1.0.8.26 - 3 November 2011
- now we require
gmake
(Gnu make
) for*BSD
systems even if LuaJIT is not enabled. thanks @lhmwzy. - upgraded the official hotfix patch #4 for the standard Lua 5.1.4 interpreter.
Components bundled in this release:
- LuaJIT-2.0.0-beta8
- array-var-nginx-module-0.03rc1
- auth-request-nginx-module-0.2
- drizzle-nginx-module-0.1.2rc2
- echo-nginx-module-0.37rc7
- encrypted-session-nginx-module-0.01
- form-input-nginx-module-0.07rc5
- headers-more-nginx-module-0.16rc3
- iconv-nginx-module-0.10rc5
- lua-5.1.4
- lua-cjson-1.0.3
- lua-rds-parser-0.03
- lua-redis-parser-0.09rc5
- memc-nginx-module-0.13rc1
- nginx-1.0.8
- ngx_devel_kit-0.2.17
- ngx_lua-0.3.1rc23
- ngx_postgres-0.9rc1
- rds-csv-nginx-module-0.04
- rds-json-nginx-module-0.12rc6
- redis2-nginx-module-0.08rc1
- set-misc-nginx-module-0.22rc3
- srcache-nginx-module-0.13rc2
- upstream-keepalive-nginx-module-0.3
- xss-nginx-module-0.03rc3
Mainline Version 1.0.8.25 - 27 October 2011
- upgraded Lua Nginx Module to 0.3.1rc23.
- bugfix:
ndk.set_var.DIRECTIVE
had a memory issue and might pass empty argument values to the directive being called. thanks dannynoonan.
- bugfix:
Mainline Version 1.0.8.23 - 27 October 2011
- upgraded Lua Nginx Module to 0.3.1rc22.
- feature: implemented new methods
add
,replace
,incr
, anddelete
forngx.shared.DICT
. - bugfix: made the
set
method ofngx.shared.DICT
return 3 values:success
,err
, andforcible
. - bugfix: fixed spots of
-Werror=unused-but-set-variable
warning issued by gcc 4.6.0.
- feature: implemented new methods
Mainline Version 1.0.8.21 - 26 October 2011
- upgraded Lua Nginx Module to 0.3.1rc21.
- feature: added new directive
lua_shared_dict
: http://wiki.nginx.org/HttpLuaModule#lua_shared_dict - feature: added Lua API for the shm-based dictionary: http://wiki.nginx.org/HttpLuaModule#ngx.shared.DICT
- feature: added new directive
- upgraded Echo Nginx Module to 0.37rc7.
- bugfix: fixed a memory issue in both
echo_sleep
andecho_blocking_sleep
: we should not passngx_str_t
strings toatof()
which expects C strings.
- bugfix: fixed a memory issue in both
Mainline Version 1.0.8.19 - 24 October 2011
- upgraded Lua Nginx Module to 0.3.1rc20.
- bugfix: no longer free request body buffers that are not allocated by ourselves.
- bugfix: now we allow setting
ngx.var.VARIABLE
tonil
.
Mainline Version 1.0.8.17 - 22 October 2011
- upgraded Lua Nginx Module to 0.3.1rc19.
- feature: now we apply the patch to the nginx core so as to allow main request body modifications: https://github.com/openresty/ngx_openresty/blob/master/patches/nginx-1.0.8-allow_request_body_updating.patch
- feature: added new Lua API
ngx.req.set_body_file()
: http://wiki.nginx.org/HttpLuaModule#ngx.req.set_body_file - feature: added new Lua API
ngx.req.set_body_data()
: http://wiki.nginx.org/HttpLuaModule#ngx.req.set_body_data - bugfix:
lua_need_request_body
should not skip requests with methods other thanPOST
andPUT
. thanks Nginx User.
Mainline Version 1.0.8.15 - 19 October 2011
- upgraded Lua Nginx Module to 0.3.1rc17.
- feature: added new Lua functions
ngx.req.read_body()
,ngx.req.discard_body()
,ngx.req.get_body_data()
, andngx.req.get_body_file()
. see the docs here: http://wiki.nginx.org/HttpLuaModule#ngx.req.read_body - bugfix: fixed hanging issues when using
ngx.exec()
withinrewrite_by_lua
andaccess_by_lua
. thanks Nginx User for reporting it.
- feature: added new Lua functions
Mainline Version 1.0.8.13 - 16 October 2011
- upgraded Lua Nginx Module to 0.3.1rc16.
- fixed compilation failures when
--with-debug
is turned off. - now we prohibit use of
true
jump argument inngx.req.set_uri()
in contexts other thanrewrite_by_lua
andrewrite_by_lua_file
. a lua exception will be thrown if the context is incorrect.
- fixed compilation failures when
Mainline Version 1.0.8.11 - 16 October 2011
- upgraded Lua Nginx Module to 0.3.1rc14.
- now we change the
ngx.req.set_uri()
API a bit by changing the optional argumentbreak_cycle
tojump
. so now it will not trigger location jump by default (because thejump
argument is false by default) and in casejump
is given true, the function will re-search locations and jump to the new location and never return.
- now we change the
Mainline Version 1.0.8.9 - 16 October 2011
- upgraded Lua Nginx Module to 0.3.1rc13.
- now we implemented
ngx.req.set_uri()
andngx.req.set_uri_args()
to emulatengx_rewrite
'srewrite
directive (withoutredirect
orpermanent
modifiers). thanks Vladimir Protasov (utros) and Nginx User. - now we skip rewrite phase Lua handlers altogether if
ngx_rewrite
'srewrite
directive issue a location re-lookup by changing URIs (but not including rewrite ... break). thanks Nginx User. - added constant
ngx.HTTP_METHOD_NOT_IMPLEMENTED
(501). thanks Nginx User.
- now we implemented
Mainline Version 1.0.8.7 - 15 October 2011
- upgraded Srcache Nginx Module to 0.13rc2.
- bugfix: we now only cache 200, 301, and 302 responses by default.
- feature: implemented new directive
srcache_store_statuses
to allow the user to specify the response status code list that is to be stored into the cache.
Mainline Version 1.0.8.5 - 13 October 2011
- upgraded Lua Nginx Module to 0.3.1rc11.
- bugfix: now we explicitly clear all the modules' contexts before dump to named location with
ngx.exec
.
- bugfix: now we explicitly clear all the modules' contexts before dump to named location with
- upgraded Echo Nginx Module to 0.37rc6.
- bugfix: now we explicitly clear all the modules' contexts before dump to named location with
echo_exec
. - bugfix: bugfix:
echo_exec
may hang when running afterecho_sleep
(or other I/O interruption calls): we should have calledngx_http_finalize_request
onNGX_DONE
to decrementr->main->count
anyway.
- bugfix: now we explicitly clear all the modules' contexts before dump to named location with
- applied the patch to the Nginx core that always clears all modules'
contexts in
ngx_http_named_location
.
Mainline Version 1.0.8.3 - 13 October 2011
- upgraded Lua Nginx Module to 0.3.1rc10.
- bugfix: calling
ngx.exec()
to jump to a named location did not clear the context object of Lua Nginx Module properly and might cause evil problems. thanks Nginx User.
- bugfix: calling
- upgraded Iconv Nginx Module to 0.10rc5.
- bugfix: fixed
-Wset-but-not-used
warnings issued by gcc 4.6.0. thanks 支家乐 (Calio).
- bugfix: fixed
Mainline Version 1.0.8.1 - 10 October 2011
- upgraded Echo Nginx Module to 0.37rc5.
- bugfix: now we properly set the
Content-Length
request header for subrequests.
- bugfix: now we properly set the
- upgraded Lua Nginx Module to 0.3.1rc9.
- feature: now for HTTP 1.0 requests, we disable the automatic full buffering mode if the user sets the
Content-Length
response header before sending out the headers. this allows streaming output for HTTP 1.0 requests if the content length can be calculated beforehand. thanks 李子义. - bugfix: now we properly support setting the
Cache-Control
response header via thengx.header.HEADER
interface. - bugfix: no longer set header hash to 1. use the
ngx_hash_key_lc
instead.
- feature: now for HTTP 1.0 requests, we disable the automatic full buffering mode if the user sets the
- upgraded Headers More Nginx Module to 0.16rc3.
- bugfix: we should set header hash using
ngx_hash_key_lc
, not simply to 1. - bugfix: fixed setting
Cache-Control
response headers. we should properly prepare ther->cache_control
array as well.
- bugfix: we should set header hash using
- upgraded Srcache Nginx Module to 0.13rc1.
- implemented response status line and general response header caching and added new directives
srcache_store_hide_header
andsrcache_store_pass_header
to control which headers to cache and which not. - added new directive
srcache_response_cache_control
to control whether honor response headersCache-Control
andExpires
, defaulton
. - we disable
srcache_store
automatically by default whenCache-Control: max-age=0
andExpires: <date no more recently than now>
are seen. - implemented builtin nginx variable
$srcache_expire
for automatic expiration time calculation based on response headersCache-Control
(max-age
) andExpires
; also added new directivessrcache_max_expire
andsrcache_default_expire
. - implemented the
srcache_store_no_cache
directive; now by default, we do not store responses with the headerCache-Control: no-cache
into the cache. - implemented
the srcache_store_no_store directive
(defaultoff
). Now by default, responses with the headerCache-Control: no-store
will not be stored into the cache. - implemented the
srcache_store_private
directive to control whether to store responses with the headerCache-Control: private
. - implemented the
srcache_request_cache_control
directive to allow request headersCache-Control: no-cache
orPragma: no-cache
to force bypassing cache lookup. it also honors the request headerCache-Control: no-store
. this directive is turned off by default. - now we check response header
Content-Encoding
by default and a non-empty header value willskip srcache_store
; also introduced a new directive namedsrcache_ignore_content_encoding
to ignore this response header. - implemented the
srcache_methods
directive to specify request methods that are cacheable, by default, onlyGET
andHEAD
are cacheable. - bugfix: we no longer set header hash to 1; we use
ngx_hash_key_lc
instead. - bugfix: when we skip
srcache_fetch
by means ofsrcache_fetch_skip
, we should not automatically skipsrcache_store
. - bugfix: now we ignore the
Content-Length
header (if any) of the main request for the subrequests. - bugfix: there might be a segfault when failing to allocate memory in
ngx_http_srcache_add_copy_chain
. thanks Shaun savage.
- implemented response status line and general response header caching and added new directives
- upgraded Rds Json Nginx Module to 0.12rc6.
- bugfix: fixed compatibility with nginx 1.1.4+.
- upgraded Rds Csv Nginx Module to 0.04.
- bugfix: fixed compatibility issues with nginx 1.1.4+.
- optimization: now we only register our filters when
rds_csv
is actually used innginx.conf
.
- upgraded Redis2 Nginx Module to 0.08rc1.
- bugfix: fixed compatibility with nginx 1.1.4+.
- upgraded Drizzle Nginx Module to 0.1.2rc2.
- bugfix: fixed compatibility with nginx 1.1.4+
- upgraded Memc Nginx Module to 0.13rc1.
- bugfix: fixed compatibility with nginx 1.1.4+.
- upgraded Set Misc Nginx Module to v0.22rc3.
- minor code cleanup.
- applied the patch for the variable-header-ignore-no-hash issue. see http://forum.nginx.org/read.php?29,216062 for details.
- based on OpenResty 1.0.6.22 and upgraded the Nginx core to 1.0.8.
See ChangeLog1000006 for change log for ngx_openresty 1.0.6.x.