mirror of
https://github.com/redis/redis.git
synced 2026-02-23 01:41:24 -05:00
* Make it clear that current_client is the root client that was called by external connection * add executing_client which is the client that runs the current command (can be a module or a script) * Remove script_caller that was used for commands that have CLIENT_SCRIPT to get the client that called the script. in most cases, that's the current_client, and in others (when being called from a module), it could be an intermediate client when we actually want the original one used by the external connection. bugfixes: * RM_Call with C flag should log ACL errors with the requested user rather than the one used by the original client, this also solves a crash when RM_Call is used with C flag from a detached thread safe context. * addACLLogEntry would have logged info about the script_caller, but in case the script was issued by a module command we actually want the current_client. the exception is when RM_Call is called from a timer event, in which case we don't have a current_client. behavior changes: * client side tracking for scripts now tracks the keys that are read by the script instead of the keys that are declared by the caller for EVAL other changes: * Log both current_client and executing_client in the crash log. * remove prepareLuaClient and resetLuaClient, being dead code that was forgotten. * remove scriptTimeSnapshot and snapshot_time and instead add cmd_time_snapshot that serves all commands and is reset only when execution nesting starts. * remove code to propagate CLIENT_FORCE_REPL from the executed command to the script caller since scripts aren't propagated anyway these days and anyway this flag wouldn't have had an effect since CLIENT_PREVENT_PROP is added by scriptResetRun. * fix a module GIL violation issue in afterSleep that was introduced in #10300 (unreleased) |
||
|---|---|---|
| .. | ||
| aclcheck.tcl | ||
| auth.tcl | ||
| basics.tcl | ||
| blockedclient.tcl | ||
| blockonbackground.tcl | ||
| blockonkeys.tcl | ||
| cluster.tcl | ||
| cmdintrospection.tcl | ||
| commandfilter.tcl | ||
| datatype.tcl | ||
| datatype2.tcl | ||
| defrag.tcl | ||
| eventloop.tcl | ||
| fork.tcl | ||
| getchannels.tcl | ||
| getkeys.tcl | ||
| hash.tcl | ||
| hooks.tcl | ||
| infotest.tcl | ||
| infra.tcl | ||
| keyspace_events.tcl | ||
| keyspecs.tcl | ||
| list.tcl | ||
| mallocsize.tcl | ||
| misc.tcl | ||
| moduleconfigs.tcl | ||
| postnotifications.tcl | ||
| propagate.tcl | ||
| publish.tcl | ||
| reply.tcl | ||
| scan.tcl | ||
| stream.tcl | ||
| subcommands.tcl | ||
| test_lazyfree.tcl | ||
| testrdb.tcl | ||
| timer.tcl | ||
| usercall.tcl | ||
| zset.tcl | ||