Uploaded image for project: 'Commons JCS'
  1. Commons JCS
  2. JCS-188

Lateral TCP put() and putInGroup() internally causes remove from other laterals

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Cannot Reproduce
    • jcs-1.3
    • jcs-3.1
    • TCP Lateral Cache
    • None

    Description

      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

       

       

       

      Attachments

        Activity

          People

            tv Thomas Vandahl
            rameshsr Ramesh S
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: