Comments (3)
Would it make sense to detect this in the calling thread and if the object is
too large not even bother the IO
thread? Since the encoding is done by the caller this should be straight
forward.
An open question is what to do if the object is too large. A few options I can
think of:
o throw an exception immediately
o throw an exception in Future.get wrapped in a ExecutionException
o have Future.get return false
In my code I usually do not wait for a store operation, thus only the first
option would allow me to detect this
case. Throwing an exception in a production environment does not seem like a
good idea, however, so
perhaps it makes sense to have one of the latter options be the default, but
allow the first option to be
enabled via a flag?
The disadvantage of returning false is that no reason for the failure can be
given, while an exception allows
this to be communicated. Since ExecutionException is checked it might make
sense to use it in this case (the
client has to handle it anyway).
Original comment by [email protected]
on 2 Oct 2008 at 5:48
from spymemcached.
Original comment by [email protected]
on 2 Oct 2008 at 7:03
- Added labels: Milestone-Release2.2
- Removed labels: Milestone-Release2.1
from spymemcached.
I ended up with #1. An IllegalArgumentException will be thrown on any
set/add/replace/cas/whatever at the time of encoding. You can increase the
size in
the client (I needed this functionality to maintain coverage in the tests
anyway).
Original comment by [email protected]
on 3 Oct 2008 at 3:40
- Changed state: Fixed
from spymemcached.
Related Issues (20)
- NPE happening in TCPMemcachedNodeImpl.fillWriteBuffer under heavy load
- Memory Leak in LinkedBlockingQueue in AsciiMemcachedNodeImpl/TCPMemcachedNodeImpl
- JVM crashed always with Memcached IO over
- NPE
- Allow to configure MAX_CLONE_COUNT parameter
- CASMutator.cas should throw typed exception
- read/write queues are not being cleared incase of faulty server:port, proposed a fix
- How to get more two values using get(key) API ?
- Broken link on "Project Home"
- Memcache sets taking unusually long time HOT 1
- Unable to read Binary data (C Struct) from Memcache HOT 7
- MemcacheClient with SerializingTranscoder isn't thread safe
- Very big performance issue with large numbers of asyncGets
- java.lang.AssertionError: Unknown line type: STORED HOT 1
- can spymemcached cause race condition?
- Missing CAS API (With exp. time and without Transcoder) HOT 1
- Booleans contained in Clojure maps deserialized as new instances of java.lang.Boolean - breaks "if" HOT 1
- Client never connects with small timeout (auth problem)
- getBulk() doesn't use FailureMode HOT 3
- Set request fails after restarting the server HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spymemcached.