You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Thomas Vandahl (Jira)" <ji...@apache.org> on 2021/03/30 20:02:00 UTC

[jira] [Resolved] (JCS-188) Lateral TCP put() and putInGroup() internally causes remove from other laterals

     [ https://issues.apache.org/jira/browse/JCS-188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Vandahl resolved JCS-188.
--------------------------------
    Fix Version/s: jcs-3.1
         Assignee: Thomas Vandahl
       Resolution: Cannot Reproduce

IssueRemoveOnPut is supposed to be false by default.
Based on the code, your configuration should not update anything at all.
Please try again with the current version and AllowPut=true

> Lateral TCP put() and putInGroup() internally causes remove from other laterals
> -------------------------------------------------------------------------------
>
>                 Key: JCS-188
>                 URL: https://issues.apache.org/jira/browse/JCS-188
>             Project: Commons JCS
>          Issue Type: Bug
>          Components: TCP Lateral Cache
>    Affects Versions: jcs-1.3
>            Reporter: Ramesh S
>            Assignee: Thomas Vandahl
>            Priority: Critical
>             Fix For: jcs-3.1
>
>
> We have two servers IP1 and IP2 with laterals configured. Both IP1 and IP2 are up and running. 
> 1) An application page puts entries into the local cache of IP1 when the page is visited from IP1.
> 2) Same page is visited from IP2, which also puts entries into the cache of IP2, which internally calls remove(), causing the cached entries of IP1 to get removed.  
> 3) Now the user again visits the same page from IP1, which reloads the cache as it was removed by the above event. As part of this put/putInGroup, remove() is called, which in turn sends an event to IP2 to remove its cache and IP2's cache gets removed now.
> This seems to be a ping-pong issue. Why should the cache keep getting removed during a put/putInGroup operation of another lateral? I would like to send a remove event to other laterals only during an explicit remove and not during put/putInGroup. How to address this issue? 
>  
> This is the configuration we are using.
>  
> In IP1,
> jcs.auxiliary.LTCP=org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory
> jcs.auxiliary.LTCP.attributes=org.apache.jcs.auxiliary.lateral.socket.tcp.TCPLateralCacheAttributes
> jcs.auxiliary.LTCP.attributes.TcpServers=IP2:1111
> jcs.auxiliary.LTCP.attributes.TcpListenerPort=1111
> jcs.auxiliary.LTCP.attributes.AllowGet=false
> jcs.auxiliary.LTCP.attributes.AllowPut=false
> jcs.auxiliary.LTCP.attributes.UdpDiscoveryEnabled=false
>  
> In IP2,
> jcs.auxiliary.LTCP=org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory
> jcs.auxiliary.LTCP.attributes=org.apache.jcs.auxiliary.lateral.socket.tcp.TCPLateralCacheAttributes
> jcs.auxiliary.LTCP.attributes.TcpServers=IP1:1111
> jcs.auxiliary.LTCP.attributes.TcpListenerPort=1111
> jcs.auxiliary.LTCP.attributes.AllowGet=false
> jcs.auxiliary.LTCP.attributes.AllowPut=false
> jcs.auxiliary.LTCP.attributes.UdpDiscoveryEnabled=false
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)