commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Marc Spaggiari <jean-m...@spaggiari.org>
Subject Re: JCS Lateral Cache
Date Mon, 25 Feb 2013 03:18:16 GMT
Hi Thomas,

Thanks for your hints/advices.

I will open a JIRA about the excessive logging.

Regarding DC + LTCP vs LTCP, is that an issue? Becaue if I stop all the
nodes, I don't want them to have to re-query everything.

I will try to modify the AllowGet attribut.

Also, I will add some mecanisme in my application to be able to manually
put some data in the cache, and query the cache too. So that way I will be
able to test and validate that it's well transfered between all the node.

One last think which is worring me is that:

2013-02-24 22:11:57,117 [CacheEventQueue.QProcessor-robotCache] ERROR
org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPSender - Detected
problem with connection: java.net.SocketException: Relais brisé (pipe)
2013-02-24 22:11:57,123 [CacheEventQueue.QProcessor-robotCache] ERROR
org.apache.jcs.auxiliary.lateral.LateralCache - Disabling lateral cache due
to error Failed to put [value] to robotCache
java.net.SocketException: Relais brisé (pipe)
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
        at
java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1857)
        at
java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1766)
        at
java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1273)
        at
java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1227)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1411)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at
java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1557)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
        at
org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPSender.send(LateralTCPSender.java:222)
        at
org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPService.update(LateralTCPService.java:127)
        at
org.apache.jcs.auxiliary.lateral.LateralCache.update(LateralCache.java:100)
        at
org.apache.jcs.engine.CacheAdaptor.handlePut(CacheAdaptor.java:91)
        at
org.apache.jcs.engine.CacheEventQueue$PutEvent.doRun(CacheEventQueue.java:688)
        at
org.apache.jcs.engine.CacheEventQueue$AbstractCacheEvent.run(CacheEventQueue.java:607)
        at
org.apache.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:575)

If I stop a node, then I restart it, other servers will see that and will
display the message above. Are they really disabling totally the lateral
cache because of that? If yes, then it's an issue for my needs.

So I will do more testing and keep you posted.

Thanks,

JM

2013/2/8 Thomas Vandahl <tv@apache.org>

> On 08.02.13 14:06, Jean-Marc Spaggiari wrote:
> > Thanks for jumping in.
>
> JCS became my playground by accident, after all. :-)
>
> >                       props.put("jcs.region.robotCache", "DC, LTCP");
>
> I'm not sure if it makes sense to have two auxiliaries for the region.
> I'd try to get the lateral thing working first.
>
> >
> props.put("jcs.auxiliary.LTCP.attributes.AllowGet", "true");
>
> Try to set this to false. The idea is that if some member of the lateral
> cache puts an item, it will be distributed to all the others. So there
> is actually no need to allow gets throughout the group.
>
> > 2013-02-08 07:41:27,243 [CacheEventQueue.QProcessor-robotCache] ERROR
> > org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPSender -
> ...
>
>
> There is not much we can do about this in 1.3 Would you please open a
> JIRA issue talking about "excessive logging" and I'll try to consider
> this for 2.0. You may try to configure this specific class logger to be
> silent.
>
> > As you can see, the map sizes are very different on the 2 servers when
> > I will have expected hem to be pretty identicals... and it's the same
> > on all the servers. all have different map size.
>
> Your stats look a bit strange to me. However I wouldn't care too much
> for them. Remember that the cache is not guaranteed to be consistent.
> JCS is a cache, not a key-value-store.
>
> > So I'm wondering if the lateral cache is really used. I will say yes
> > because I'm getting the exceptions when one server is going down, but
> > I'm not seeing the benefits yet.
>
> Well, benefits should be there, even if its difficult to see them from
> the statistics. You would be able to see this on an application level,
> that is, if an item available in one cache actually saves the expensive
> get operation from the original source in another. This would need some
> debugging, I'm afraid.
>
> HTH
> Bye, Thomas.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message