Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Redis: RedisScript (LuaScript) execution error - CultureInfo problem #162

Copy link
Copy link

Description

@bsr-ky
Issue body actions

There is a CultureInfo problem when executing RedisScript (LuaScript). For CulturerInfo "tr-TR", a parameter named "@lockid" cannot be found in script text when disposing lock.

Reason:
The cause of issue is culture dependent regex named as ParameterExtractor at StackExchange.Redis. The issue (StackExchange/StackExchange.Redis#2350) is fixed at version 2.6.96 (https://stackexchange.github.io/StackExchange.Redis/ReleaseNotes).

Solution:
Version of StackExchange.Redis should be upgraded from 2.2.4 to 2.6.96.

Error Stack Trace:

System.ArgumentException: ps (Parameter 'Expected [lock] to be a field or gettable property on [<>f__AnonymousType02[[StackExchange.Redis.RedisKey, StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46],[StackExchange.Redis.RedisValue, StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46]]]') at StackExchange.Redis.LuaScript.ExtractParameters(Object ps, Nullable1 keyPrefix, RedisKey[]& keys, RedisValue[]& args) in //src/StackExchange.Redis/LuaScript.cs:line 117
at StackExchange.Redis.LuaScript.Evaluate(IDatabase db, Object ps, Nullable1 withKeyPrefix, CommandFlags flags) in /_/src/StackExchange.Redis/LuaScript.cs:line 148 at StackExchange.Redis.RedisDatabase.ScriptEvaluate(LuaScript script, Object parameters, CommandFlags flags) in /_/src/StackExchange.Redis/RedisDatabase.cs:line 1223 at Medallion.Threading.Redis.Primitives.RedisScript1.Execute(IDatabase database, TArgument argument, Boolean fireAndForget) in /
/DistributedLock.Redis/Primitives/RedisScript.cs:line 25
at Medallion.Threading.Redis.Primitives.RedisMutexPrimitive.Release(IDatabase database, Boolean fireAndForget) in //DistributedLock.Redis/Primitives/RedisMutexPrimitive.cs:line 35
at Medallion.Threading.Redis.RedLock.RedLockRelease.ReleaseAsync() in /
/DistributedLock.Redis/RedLock/RedLockRelease.cs:line 68
--- End of inner exception stack trace ---
at Medallion.Threading.Redis.RedLock.RedLockRelease.ReleaseAsync() in //DistributedLock.Redis/RedLock/RedLockRelease.cs:line 78
at Medallion.Threading.Redis.RedLock.RedLockHandle.DisposeAsync() in /
/DistributedLock.Redis/RedLock/RedLockHandle.cs:line 52
at Medallion.Threading.Internal.SyncViaAsync.<>c__3`1.<b__3_0>d.MoveNext() in /_/DistributedLock.Core/Internal/SyncViaAsync.cs:line 35

Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency filePull requests that update a dependency fileredis

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.