Opush
  1. Opush
  2. OP-137

Customize RetryPolicy to avoid Cassandra timeouts

    Details

    • Type: Improvement Improvement
    • Status: Closed Closed
    • Priority: Normal Normal
    • Resolution: Fixed
    • Affects Version/s: 3.0.3
    • Fix Version/s: 3.1.0
    • Labels:
      None
    • Environment:

      opush

    • Rank:
      6572

      Description

      I got this exception in opush.log

       10:07:25.551 [ERROR] {o.o.p.h.SyncHandler$$EnhancerByGuice$$572f1bd9} [t20026/cSync/r3125///] Cassandra timeout during write query at consistency QUORUM (1 replica were requ$
      com.datastax.driver.core.exceptions.WriteTimeoutException: Cassandra timeout during write query at consistency QUORUM (1 replica were required but only 0 acknowledged the write)
              at com.datastax.driver.core.exceptions.WriteTimeoutException.copy(WriteTimeoutException.java:54) ~[cassandra-driver-core-2.1.2.jar:na]
              at com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:259) ~[cassandra-driver-core-2.1.2.jar:na]
              at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:175) ~[cassandra-driver-core-2.1.2.jar:na]
              at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:52) ~[cassandra-driver-core-2.1.2.jar:na]
              at org.obm.push.cassandra.dao.SyncedCollectionDaoCassandraImpl.put(SyncedCollectionDaoCassandraImpl.java:82) ~[push-dao-cassandra-3.0.3.jar:na]
              at org.obm.breakdownduration.BreakdownDurationInterceptor.invoke(BreakdownDurationInterceptor.java:58) ~[breakdown-duration-3.0.1-alpha3.jar:na]
              at org.obm.push.protocol.data.SyncAnalyser.getCollection(SyncAnalyser.java:120) ~[push-core-3.0.3.jar:na]
              at org.obm.push.protocol.data.SyncAnalyser.analyseSync(SyncAnalyser.java:92) ~[push-core-3.0.3.jar:na]
              at org.obm.push.handler.SyncHandler.analyzeRequest(SyncHandler.java:220) ~[push-core-3.0.3.jar:na]
              at org.obm.push.handler.SyncHandler.process(SyncHandler.java:163) ~[push-core-3.0.3.jar:na]
              at org.obm.push.handler.WbxmlRequestHandler.process(WbxmlRequestHandler.java:128) ~[push-core-3.0.3.jar:na]
              at org.obm.push.technicallog.TechnicalLoggingInterceptor.invoke(TechnicalLoggingInterceptor.java:70) ~[technical-log-3.0.3.jar:na]
              at org.obm.push.ActiveSyncServlet.processActiveSyncMethod(ActiveSyncServlet.java:253) ~[push-core-3.0.3.jar:na]
              at org.obm.push.ActiveSyncServlet.doPost(ActiveSyncServlet.java:176) ~[push-core-3.0.3.jar:na]
              at org.obm.push.technicallog.TechnicalLoggingInterceptor.invoke(TechnicalLoggingInterceptor.java:70) ~[technical-log-3.0.3.jar:na]
              at org.obm.annotations.transactional.TransactionalInterceptor.managerTransaction(TransactionalInterceptor.java:87) ~[annotations-3.0.1-alpha3.jar:na]
              at org.obm.annotations.transactional.TransactionalInterceptor.invoke(TransactionalInterceptor.java:73) ~[annotations-3.0.1-alpha3.jar:na]
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [javax.servlet-api-3.1.0.jar:3.1.0]
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api-3.1.0.jar:3.1.0]
              at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) [guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) [guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) [guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) [guice-servlet-3.0.jar:na]
              at org.obm.breakdownduration.BreakdownDurationFilter.doFilter(BreakdownDurationFilter.java:71) [breakdown-duration-3.0.1-alpha3.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
              at org.obm.servlet.filter.qos.QoSFilter.handleRequest(QoSFilter.java:113) [qos-filter-3.0.1-alpha3.jar:na]
              at org.obm.servlet.filter.qos.QoSFilter.doFilter(QoSFilter.java:94) [qos-filter-3.0.1-alpha3.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
              at org.obm.push.ActiveSyncRequestFilter.doFilter(ActiveSyncRequestFilter.java:78) [push-core-3.0.3.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
              a
      

      How can i increase a little bit the write timeout ?

        Issue Links

          Activity

            People

            • Assignee:
              Antoine DUPRAT
              Reporter:
              Carnus Jérémy
            • Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: