System property for printing full byte arrays
by galder@redhat.com
Hi,
While investigating https://jira.jboss.org/jira/browse/ISPN-397 I've realised of the need to have a debugging system property that allows Util.printArray to print byte arrays entirely. Any particular preference for the name of such boolean system property? i.e. -Dinfinispan.printFullArrays or -Dinfinispan.arrays.debug? I prefer the latter. This could be useful not only for Hot Rod and Memcached server modules, but also Marshalled set ups.
Cheers,
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache
14 years
JBMAR issue with nested objects
by Galder Zamarreno
Hi David,
A user in the Infinispan forum an issue in JBoss Marshalling
(http://community.jboss.org/message/534814#534814). I've condensed the
test into a JBoss Marshalling test that you can find attached. Could you
please have a look to it? I've tested this with JBMAR 1.2.0.GA.
Cheers,
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache
14 years
Configuration semantic validity
by Vladimir Blagojevic
Hey,
How are we doing semantic validity of Configuration and GlobalConfiguration objects nowadays? I thought that we are going to keep that logic in ConfigurationValidatingVisitor?
Cheers,
Vladimir
14 years, 1 month
CacheManagerNotifierImpl now registered in GlobalComponentRegistry ctor
by galder@redhat.com
Hi all,
Re: https://jira.jboss.org/jira/browse/ISPN-388
To implement this, I needed to create a listener class with a @ViewChanged and I needed to plug it in before any other caches had started. This is so that I can start calculating the rank from the very first cache started. However, until now, CacheManagerNotifierImpl component would only be registered when 1st cache was started. So, I'd miss the first view change.
In similar fashion to what I did with CacheManagerJmxRegistration, I've added the following line in the GlobalComponentRegistry:
registerComponent(new CacheManagerNotifierImpl(), CacheManagerNotifier.class);
This means that I can now add listeners to CacheManager before any cache has started, hence being able to get all view change notifications from the start. This also expands to other cache manager listener events such as CacheStarted/CacheStopped
Cheers,
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache
14 years, 1 month
Cache size in memory
by Philippe Van Dyck
Hi all,
looking at LIRS and other strategies, I would like to improve the
eviction triggering.
Actually, I would like to be able to trigger eviction when the cache
eats a specific size or percentage of memory.
I realize that it could only be used with byte arrays, or any helper
method allowing us to get the size of a cache entry.
Was this addressed before ?
WDYT ?
phil
14 years, 1 month
Update on qi4j Infinispan Store
by Philippe Van Dyck
Hi guys,
just a short update about the status of the Infinispan (S3) Store:
-Code is ugly, not production ready, but running flawlessly
-Infinispan memory cache eviction mechanism is based on a memory
threshold (i.e. you specify 100MB of memory for the cache in the store
config)
-RHQ monitoring with Infinispan plugin works (beautifully)
-Entries are gzipped on S3 (patch now included in infinispan-alpha1)
-Wicket load balancing is done with infinispan (custom pagestore)
-I use a directory structure for qi4j identities ("Entity1/key1") and
there is a webdav interface to it (I can mount qi4j's store in Finder)
-EC2 S3_PING is used in jgroups to join the cluster of qi4j stores
-Each qi4j uow is transaction backed with rollback support (I
currently use Atomikos as TM - not fully tested)
-S3 (blobstore) acces is using Infinispan synchronous and transacted mode
-EC2 images only contain the wicket web interface with a jetty https
connector / when added to amazon elastic load balancer, infinispan
connects to the cache cluster and wicket begins to server load
balanced requests - yep, just like that
Current performance, as reported by RHQ, from EC2 to S3, is around
60ms per read/write from S3 (rough average).
I have not yet done elastic load balancing load tests with loadStorm.
I don't know any NOSQL alternative offering a permanent transacted
monitored compressed Finder-mounted clustered load-balanced store ;-)
Phil
14 years, 1 month
http://community.jboss.org/wiki/GridFileSystem
by Philippe Van Dyck
Hi all,
amazing stuff, this GridFileSystem... but where can I find it ?
I mean, it look a lot like jgroup's GridFileSystem... but it is using
a ReplCache<K,V> .. quite different from infinispan..Cache<K,V>
I searched the latest snapshot and I can't find the alpha2... ?
Any help ?
phil
14 years, 1 month
More thoughts on HotRod's ForceReturnPreviousValue
by Galder Zamarreno
Hi all,
I've been thinking further about ForceReturnPreviousValue flag in
http://community.jboss.org/wiki/HotRodProtocol.
Currently, if no ForceReturnPreviousValue is passed, the responses for
put, putIfAbsent, replace, replaceIfUmodified, remove and
removeIfUmodified looks like this:
[header]
Now, if ForceReturnPreviousValue is passed, the idea is this: If
ForceReturnPreviousValue has been passed, responses will contain previous
[value length][value] for that key. If the key does not exist or previous
was null, value length would be 0. Otherwise, if no
ForceReturnPreviousValue was sent, the response would be empty.
However, as it is, this means that for a put, the response would be
either, [header] or [header][value lenght][value]. So, in effect, the
client decoder needs to know about the request itself to be able to
determine whether it needs to read the value length or not. I wonder
whether this could be imposing some restrictions on the client decoder.
So, instead, I was wondering whether this might make more sense and make
implementation of the client decoder easier.
put, putIfAbsent, replace, replaceIfUmodified, remove and
removeIfUmodified responses looks like this:
[header][value length]
*If no ForceReturnPreviousValue is sent, value length will always be 0*.
If ForceReturnPreviousValue is passed and key was not present, or previous
value was null, value length is 0. Otherwise, value length will be non
zero and value will follow.
The idea here is that these ops responses always return a value length,
regardless of whether the flag is present or not. This, I think, would
make client dcoders easier since they always know what they need to read
and can pass it back without knowing which flags were passed on the
request.
Thoughts?
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache
14 years, 1 month