Caching Weblogic一致性缓存中的超时异常

Caching Weblogic一致性缓存中的超时异常,caching,weblogic,oracle-coherence,Caching,Weblogic,Oracle Coherence,我们正在使用WebLogic Server 10.3.4,其中包括一个由3台托管服务器组成的集群和一个一致性缓存。最近,当应用程序尝试更新(添加或编辑)缓存时,我们遇到一些超时异常。这个频率大约是每小时几次,而且只发生在一些请求上,而不是所有请求上,因为大部分时间应用程序仍然可以更新缓存 我们在一致性xml文件中使用单位计算器设置了上限和策略。我们试图监控内存使用情况,因为我们担心可能是GC,但不太可能。每个托管服务器上的堆大小都设置为2GB,当缓存远未完全填满时会出现异常。此外,我们已经完成了

我们正在使用WebLogic Server 10.3.4,其中包括一个由3台托管服务器组成的集群和一个一致性缓存。最近,当应用程序尝试更新(添加或编辑)缓存时,我们遇到一些超时异常。这个频率大约是每小时几次,而且只发生在一些请求上,而不是所有请求上,因为大部分时间应用程序仍然可以更新缓存

我们在一致性xml文件中使用单位计算器设置了上限和策略。我们试图监控内存使用情况,因为我们担心可能是GC,但不太可能。每个托管服务器上的堆大小都设置为2GB,当缓存远未完全填满时会出现异常。此外,我们已经完成了将记录插入到完全缓存的测试,它仍然可以正常工作

所以我想问一下,为了理解为什么会有这样一个例外,我们应该调查哪些信息

 <Caught exception com.tangosol.net.RequestTimeoutException: Request timed out after 15016 millis, forwarding details to client.
com.tangosol.net.RequestTimeoutException: Request timed out after 15016 millis
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.checkRequestTimeout(Grid.CDB:8)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.poll(Grid.CDB:53)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.poll(Grid.CDB:11)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ReplicatedCache.requestIssue(ReplicatedCache.CDB:8)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ReplicatedCache.updateResource(ReplicatedCache.CDB:38)
    at com.tangosol.coherence.component.util.CacheHandler.put(CacheHandler.CDB:11)
    at com.tangosol.coherence.component.util.CacheHandler.put(CacheHandler.CDB:1)
    at com.tangosol.coherence.component.util.SafeNamedCache.put(SafeNamedCache.CDB:1)

  • 这是一个请求超时。请求超时用于避免调用线程块超过“n”秒。如果请求超时不是所需的行为,则可以从配置中删除该请求超时

  • 通常,GC长时间暂停会导致偶尔超时。听起来您的应用程序可能偶尔会有较长的GC暂停。在JVM上使用“verbose GC”选项来记录GC时间


  • 谢谢你的建议。根据您的第一个建议,如果删除超时配置时存在长GC,会发生什么情况?在这种情况下,程序将做什么?它将阻塞,等待结果。
     <replicated-scheme>
                  <scheme-name>@coherence.membership.number.cache.scheme@</scheme-name>
                  <request-timeout>15000ms</request-timeout>
                  <backing-map-scheme>
                    <local-scheme>
                      <scheme-name>local-with-eviction-for-membership-num</scheme-name>
                      <eviction-policy>LRU</eviction-policy>
                      <high-units>32000</high-units>
                      <low-units>10</low-units>           
                      <unit-calculator>FIXED</unit-calculator>
                      <expiry-delay>@coherence.membership.number.cache.expiryminutes@m</expiry-delay>
                    </local-scheme>
                  </backing-map-scheme>
              </replicated-scheme>
            <replicated-scheme>