killme2008 / killme2008/ring-session-memcached
Key must not be blank
- Dominant language
- Clojure
- Stars
- 3
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
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:
```
java.lang.IllegalArgumentException: Key must not be blank
```
the relevant parts of the stack looks like this:
```
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
ring.middleware.session/session-response session.clj: 67
ring.middleware.session/wrap-session/fn session.clj: 98
```
Do you have any idea what is going on here? Ever experienced it yourself?
Thanks :)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the session write path through core.clj, memcached.clj, and the stack frames in XMemcachedClient and ByteUtils. Investigate when the session key reaches the memcached client as blank and whether the intermittent case can be reproduced. Done means the cause is identified and a targeted fix or regression test prevents blank keys.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure, java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100