Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lua script attempted to access a non local key in a cluster node #23

Open
imrancharania81 opened this issue Jun 13, 2016 · 1 comment
Open

Comments

@imrancharania81
Copy link

Hi,

I am having issues getting keys from a cluster node. The below is the exception i am getting.

Any ideas ???

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> NHibernate.Caches.Redis.RedisCacheException: Failed to get item from cache. See inner exception. ---> StackExchange.Redis.RedisServerException: ERR Error running script (call to f_cc7714ec6575efa50255574fa61586c11611ab0e): @user_script:2: @user_script: 2: Lua script attempted to access a non local key in a cluster node
at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message, ResultProcessor1 processor, ServerEndPoint server) in C:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\ConnectionMultiplexer.cs:line 2052 at StackExchange.Redis.RedisBase.ExecuteSync[T](Message message, ResultProcessor1 processor, ServerEndPoint server) in C:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\RedisBase.cs:line 81
at StackExchange.Redis.RedisDatabase.ScriptEvaluate(String script, RedisKey[] keys, RedisValue[] values, CommandFlags flags) in C:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\RedisDatabase.cs:line 891
at StackExchange.Redis.RedisDatabase.ScriptEvaluate(LuaScript script, Object parameters, CommandFlags flags) in C:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\RedisDatabase.cs:line 902
at NHibernate.Caches.Redis.RedisCache.Get(Object key)
--- End of inner exception stack trace ---
at NHibernate.Caches.Redis.RedisCache.Get(Object key)
at NHibernate.Cache.ReadOnlyCache.Get(CacheKey key, Int64 timestamp)
at NHibernate.Event.Default.DefaultLoadEventListener.LoadFromSecondLevelCache(LoadEvent event, IEntityPersister persister, LoadType options)
at NHibernate.Event.Default.DefaultLoadEventListener.DoLoad(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
at NHibernate.Event.Default.DefaultLoadEventListener.Load(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.ImmediateLoad(String entityName, Object id)
at NHibernate.Proxy.AbstractLazyInitializer.Initialize()
at NHibernate.Proxy.DefaultLazyInitializer.Intercept(InvocationInfo info)
at ApplicationInstanceProxy.get_Hierarchy()
at Tio.Web.Express.InstanceSetup.SetDataTokensForInstance(String instanceName, ApplicationInstance instance) in D:\dev\Web\Tio.Web.Express\Tio.Web.Express\App_Start\InstanceSetup.cs:line 96
at Tio.Web.Express.InstanceSetup.Initialize() in D:\dev\Web\Tio.Web.Express\Tio.Web.Express\App_Start\InstanceSetup.cs:line 75
at Tio.Web.Express.InstanceSetup.Configure() in D:\dev\Web\Tio.Web.Express\Tio.Web.Express\App_Start\InstanceSetup.cs:line 33
at Tio.Web.Express.MvcApplication.Application_BeginRequest() in D:\dev\Web\Tio.Web.Express\Tio.Web.Express\Global.asax.cs:line 70
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at System.Web.Util.ArglessEventHandlerProxy.Callback(Object sender, EventArgs e)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

@TheCloudlessSky
Copy link
Owner

@imrancharania81 Hmm, I think it might be related to this StackExchange.Redis issue, so we might need to change how we evaluate the scripts. Can you confirm this? I don't use Redis in a clustered environment. Can you provide a sample of your setup?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants