Pinpointing the Python Code Paths with High Disk I/O (using OpenResty XRay)
OpenResty 1.19.9.1 RC1 is out
jiahao , 04 Jun 2021 (created 17 May 2021)We have just kicked out a new release candidate, OpenResty 1.19.9.1 RC1, for the community to test out.
Source package
https://openresty.org/download/openresty-1.19.9.1rc1.tar.gz
PGP for this source tarball:
https://openresty.org/download/openresty-1.19.9.1rc1.tar.gz.asc
Windows binary packages
Win64 version:
https://openresty.org/download/openresty-1.19.9.1rc1-win64.zip
PGP for the Win64 zip file:
https://openresty.org/download/openresty-1.19.9.1rc1-win64.zip.asc
Win32 version:
https://openresty.org/download/openresty-1.19.9.1rc1-win32.zip
PGP for the Win32 zip file:
https://openresty.org/download/openresty-1.19.9.1rc1-win32.zip.asc
Acknowledgments
Special thanks go to all our developers and contributors! Also thanks Junlong Li, and Jiahao Wang for their help in preparing this release.
Version highlights
The highlights of this release candidate are:
- Based on a very recent mainline NGINX core 1.19.9.
- Many fixes imported from Mike Pall's upstream LuaJIT repository.
- Introduce a new macro
LUAJIT_TEST_FIXED_ORDER
for fixed-order traversal of lua tables. - When lua failed in requesting memory, instead of graceful shutdown,
abort()
is called. - Now the
get_ctx_table
supports using the ctx table from caller, and that will reduce the cost of creating a new ctx table. - Fixed the bug that the metatable was not cleared when clearing the content of lua table when using lua-tablepool.
- For a better performance when using lua-tablepool, discard the objects when the pool size is larger than the max_pool_size.
- Implemented
ngx.process
API for stream subsystem.
Full Changelog
Complete change logs since the last (formal) release, 1.19.3.2:
- upgraded the nginx core to 1.19.9.
- see the changes here: https://nginx.org/en/CHANGES
- upgraded ngx_lua to 0.10.20rc1.
- bugfix: changed from graceful shutdown to abort when
lua_resume
returnLUA_ERRMEM
. Thanks lijunlong for the patch. - bugfix: correct the way to handle invalid quote in
ngx.escape_uri
/ngx.req.get_{uri,post}_args
. Thanks Suika for the patch. - bugfix: fix possible null pointer dereference found by Coverity. Thanks Ilya Shipitsin for the patch.
- bugfix: fixed memory leak in debug log. Thanks Hawker for the patch.
- bugfix: we closed listener's fd which was closed. Thanks spacewander for the patch.
- bugfix: changed from graceful shutdown to abort when
- upgraded ngx_stream_lua to 0.0.10rc2.
- bugfix: changed from graceful shutdown to abort when
lua_resume
returnLUA_ERRMEM
. Thanks lijunlong for the patch. - bugfix: wrong source address for the replying packet when received udp packet via req.socket on secondary address. Thanks lijunlong for the patch.
- bugfix: fix possible null pointer dereference found by Coverity. Thanks Ilya Shipitsin for the patch.
- bugfix: fixed memory leak in debug log. Thanks Hawker for the patch.
- bugfix: ignore the
raw
argument when acquiring UDP request socket. Thanks Datong Sun for the patch.
- bugfix: changed from graceful shutdown to abort when
- upgraded lua-resty-core to v0.1.22rc1
- feature: expose the
get_ctx_table
API to get the ctx table, and support using ctx table from caller when the ctx table does not exists. Thanks doujiang24 for the patch. - feature: implemented ngx.process API for stream subsystem. Thanks WANG HUI for the patch.
- bugfix: should compare to nil to check if a cdata is NULL. Thanks lijunlong for the patch.
- change: it is harmful to set ngx.ctx to a non-table value. Thanks spacewander for the patch.
- feature: expose the
- upgraded lua-tablepool to v0.02
- bugfix: should also clear the metatable when clearing key values of a table. Thanks doujiang24 for the patch.
- change: discard the object simply when the pool size is large than
max_pool_size
, so that we can get better performance. Thanks doujiang24 for the patch.
- upgraded lua-resty-memcached to v0.16rc1
- change: use preferred settimeouts instead of settimout. Thanks Elvin Efendi for the patch.
- upgraded lua-resty-dns to v0.22rc1
- feature: add
no_random
option. Thanks Thijs Schreijer for the patch.
- feature: add
- upgraded lua-resty-mysql to v0.24rc1
- bugfix: 64-bit integer values in the MySQL packets (like last
insert_id
) could not be properly parsed due to LuaJIT's BitOp functions return results in the range of signed 32 bit numbers. Thanks doujiang24 for the patch.
- bugfix: 64-bit integer values in the MySQL packets (like last
- upgraded opm to v0.0.6rc1
- feature: web: support displaying and searching package docs. Thanks xlibor for the patch.
- change: print usage if no command specified. Thanks tison for the patch.
- feature: web: improvements for the website UI. Thanks xlibor for the patch.
- upgraded resty-cli to v0.28rc1
- bugfix: share dict name can be upper letter & numbers. Thanks Zhenzhen Zhao for the patch.
- bugfix: resty: win32: we should search for
*.ljbc
files first too.
- upgraded lua-resty-lrucache to v0.11rc1
- bugfix: set
num_items
to zero whenflushall
. Thanks hnlq715 for the patch.
- bugfix: set
- upgraded lua-resty-string to v0.14rc1
- change: added parameter check for
aes.lua
. Thanks lijunlong for the patch. - feature: added aes gcm encryption/decryption algorithm. Thanks lijunlong for the patch.
- bugfix: segmentation fault while decoding because the wrong output size buffer. Thanks Miroslav Nový for the patch.
- change: added parameter check for
- upgraded lua-resty-signal 0.03rc1
- change: the signum method return correct value on different system now, not only for linux. Thanks xiaobiaozhao for the patch.
- upgraded LuaJIT to 2.1-20210510.
- change: Introduce a new macro
LUAJIT_TEST_FIXED_ORDER
for testing so that lua table would have predictable key iteration order. - bugfix: Fix trace exit register dump for some archs.
- bugfix: FFI: Fix recording of union initialization.
- bugfix: x64: Fix
__call
metamethod return dispatch. - bugfix: Fix binary number literal parsing.
- feature: enable debuginfo in our luajit build by default.
- change: Introduce a new macro
Feedback
Feedback on this new release candidate is most welcome. Feel free to create new GitHub issues or contact us via one of our mailing lists.