Open magnars opened 8 years ago
It seems that you write a session item with blank key ""
So the xmemcached throw such exception.
Oh, interesting. That gives me something to explore. Thanks for the blazing fast answer! tor. 15. okt. 2015 kl. 09.14 skrev dennis zhuang notifications@github.com:
It seems that you write a session item with blank key ""
So the xmemcached throw such exception.
— Reply to this email directly or view it on GitHub https://github.com/killme2008/ring-session-memcached/issues/1#issuecomment-148301647 .
Having looked through all my code, session only ever contains {:account-id [long]}
or just {}
to log out. It also happens very rarely. Something strange is going on here. Would the same thing happen if it turned out to be {:account nil}
somehow?
I think the complete stacktrace would show the root cause of the exception that which function tried to write the blank key. The stacktrace above is not complete.
You may be right. Here is the complete stack trace:
java.lang.IllegalArgumentException: Key must not be blank
net.rubyeye.xmemcached.utils.ByteUtils.getBytes ByteUtils.java: 53
net.rubyeye.xmemcached.XMemcachedClient.checkStoreArguments XMemcachedClient.java: 1303
net.rubyeye.xmemcached.XMemcachedClient.set XMemcachedClient.java: 1277
net.rubyeye.xmemcached.XMemcachedClient.set XMemcachedClient.java: 1336
net.rubyeye.xmemcached.XMemcachedClient.set XMemcachedClient.java: 1323
clj-xmemcached.core/xset core.clj: 72
ring.middleware.session.memcached.MemcachedStore/write-session memcached.clj: 15
ring.middleware.session/bare-session-response session.clj: 46
clojure.lang.RestFn.invoke RestFn.java: 442
ring.middleware.session/session-response session.clj: 67
clojure.lang.RestFn.invoke RestFn.java: 442
ring.middleware.session/wrap-session/fn session.clj: 98
mytomatoes.web/wrap-exceptions/fn web.clj: 55
optimus.strategies/serve-asset-or-continue strategies.clj: 14
optimus.strategies/serve-frozen-assets/fn strategies.clj: 43
ring.middleware.content-type/wrap-content-type/fn content_type.clj: 30
ring.middleware.not-modified/wrap-not-modified/fn not_modified.clj: 44
mytomatoes.web/wrap-exceptions/fn web.clj: 55
ring.adapter.jetty/proxy-handler/fn jetty.clj: 20
ring.adapter.jetty.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle
org.eclipse.jetty.server.handler.HandlerWrapper.handle HandlerWrapper.java: 116
org.eclipse.jetty.server.Server.handle Server.java: 369
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest AbstractHttpConnection.java: 486
org.eclipse.jetty.server.AbstractHttpConnection.content AbstractHttpConnection.java: 944
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content AbstractHttpConnection.java: 1005
org.eclipse.jetty.http.HttpParser.parseNext HttpParser.java: 865
org.eclipse.jetty.http.HttpParser.parseAvailable HttpParser.java: 240
org.eclipse.jetty.server.AsyncHttpConnection.handle AsyncHttpConnection.java: 82
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle SelectChannelEndPoint.java: 668
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run SelectChannelEndPoint.java: 52
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob QueuedThreadPool.java: 608
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run QueuedThreadPool.java: 543
java.lang.Thread.run Thread.java: 745
Hello there!
First of all, respect that you open sourced this four years ago and it has not needed any changes. :-) I'm using it for one of my projects, and once in a blue moon I get this from memcached:
the relevant parts of the stack looks like this:
Do you have any idea what is going on here? Ever experienced it yourself?
Thanks :)