Opush
  1. Opush
  2. OP-158

CLONE 3.1 - T#9813 Prevent resent requests from inserting duplicated contacts

    Details

    • Type: New Feature New Feature
    • Status: Closed Closed
    • Priority: Normal Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.1.0
    • Labels:
      None
    • Story Points:
      2
    • Rank:
      6702
    • Sprint:
      OBM Sprint 2015#2

      Description

      Pre-conditions

      Use an Android device

      Reproduction steps

      1. usera creates a contact on its phone
      2. server is slow enough to have the phone issue the same request
      3. both request eventually get processed

      Current behavior

      1. The contact is inserted twice : NOK

      Expected behavior

      1. The contact is inserted once : OK

      Additional informations

        Issue Links

          Activity

          Hide
          Thomas HILAIRE added a comment -

          TO DO: I made the frontport as I was working on OP-139 but without testing. So:
          1) Fetch the things done at stash-opush-thilaire/OP-158
          2) Rebase it
          3) Make same tests as done in OP-139 to be sure that we've the same quality of service
          4) pull-request

          Show
          Thomas HILAIRE added a comment - TO DO : I made the frontport as I was working on OP-139 but without testing. So: 1) Fetch the things done at stash-opush-thilaire/ OP-158 2) Rebase it 3) Make same tests as done in OP-139 to be sure that we've the same quality of service 4) pull-request
          Hide
          Jenkins Continuous Integration Server added a comment -

          UNSTABLE: Integrated in opush-master #193
          OP-158 Add an integration test (ddolcimascolo: e139660c1e43cdd1ab412e68eedfe36b847c1620)

          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
            OP-158 Add Cassandra dao (ddolcimascolo: d0261da5bb4b382e7c618b815e603849aa618948)
          • push-dao/src/main/java/org/obm/push/store/ContactCreationDao.java
          • push-dao-cassandra/src/test/java/org/obm/push/cassandra/dao/ContactCreationDaoImplTest.java
          • push-dao-cassandra/src/main/java/org/obm/push/cassandra/dao/CassandraStructure.java
          • push-dao-testsuite/src/main/java/org/obm/push/dao/testsuite/ContactCreationDaoTest.java
          • push-dao-cassandra/src/main/java/org/obm/push/cassandra/OpushCassandraModule.java
          • push-dao-cassandra/src/main/java/org/obm/push/cassandra/dao/ContactCreationDaoImpl.java
          • push-server/src/main/resources/versions/4/contact_creation.cql
          • push-dao-testsuite/pom.xml
          • push-dao-cassandra/src/main/java/org/obm/push/cassandra/MigrationModule.java
            OP-158 Check contact creation is already done (ddolcimascolo: 0165fb22e6b85412a5aecfda398e57db72557ef7)
          • push-dao-cassandra/src/main/java/org/obm/push/cassandra/dao/CassandraStructure.java
          • obm-backend/src/test/java/org/obm/push/contacts/ContactsBackendTest.java
          • push-dao-testsuite/pom.xml
          • obm-backend/src/test/java/org/obm/push/contacts/ContactsBackendHierarchyChangesTest.java
          • obm-backend/src/main/java/org/obm/push/contacts/ContactsBackend.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
          • obm-backend/src/test/java/org/obm/push/contacts/ContactCreationIdempotenceServiceTest.java
          • obm-backend/src/main/java/org/obm/push/contacts/ContactCreationIdempotenceService.java
            OP-158 A deleted contact can be created again (ddolcimascolo: 21eabcacac87eb7bc5a836439f45d1c4c87f5fac)
          • push-dao/src/main/java/org/obm/push/store/ContactCreationDao.java
          • obm-backend/src/main/java/org/obm/push/contacts/ContactsBackend.java
          • push-dao-cassandra/src/main/java/org/obm/push/cassandra/dao/ContactCreationDaoImpl.java
          • push-dao-testsuite/src/main/java/org/obm/push/dao/testsuite/ContactCreationDaoTest.java
          • obm-backend/src/test/java/org/obm/push/contacts/ContactsBackendTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
          • push-server/src/main/resources/versions/4/contact_creation.cql
          • obm-backend/src/main/java/org/obm/push/contacts/ContactCreationIdempotenceService.java
            OP-158 Add fields taken into account (ddolcimascolo: 6e852b8fdbe92835ee7a70052df1191dac0f2b40)
          • obm-backend/src/test/java/org/obm/push/contacts/ContactCreationIdempotenceServiceTest.java
          • obm-backend/src/main/java/org/obm/push/contacts/ContactCreationIdempotenceService.java
          Show
          Jenkins Continuous Integration Server added a comment - UNSTABLE: Integrated in opush-master #193 OP-158 Add an integration test (ddolcimascolo: e139660c1e43cdd1ab412e68eedfe36b847c1620 ) integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java OP-158 Add Cassandra dao (ddolcimascolo: d0261da5bb4b382e7c618b815e603849aa618948 ) push-dao/src/main/java/org/obm/push/store/ContactCreationDao.java push-dao-cassandra/src/test/java/org/obm/push/cassandra/dao/ContactCreationDaoImplTest.java push-dao-cassandra/src/main/java/org/obm/push/cassandra/dao/CassandraStructure.java push-dao-testsuite/src/main/java/org/obm/push/dao/testsuite/ContactCreationDaoTest.java push-dao-cassandra/src/main/java/org/obm/push/cassandra/OpushCassandraModule.java push-dao-cassandra/src/main/java/org/obm/push/cassandra/dao/ContactCreationDaoImpl.java push-server/src/main/resources/versions/4/contact_creation.cql push-dao-testsuite/pom.xml push-dao-cassandra/src/main/java/org/obm/push/cassandra/MigrationModule.java OP-158 Check contact creation is already done (ddolcimascolo: 0165fb22e6b85412a5aecfda398e57db72557ef7 ) push-dao-cassandra/src/main/java/org/obm/push/cassandra/dao/CassandraStructure.java obm-backend/src/test/java/org/obm/push/contacts/ContactsBackendTest.java push-dao-testsuite/pom.xml obm-backend/src/test/java/org/obm/push/contacts/ContactsBackendHierarchyChangesTest.java obm-backend/src/main/java/org/obm/push/contacts/ContactsBackend.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java obm-backend/src/test/java/org/obm/push/contacts/ContactCreationIdempotenceServiceTest.java obm-backend/src/main/java/org/obm/push/contacts/ContactCreationIdempotenceService.java OP-158 A deleted contact can be created again (ddolcimascolo: 21eabcacac87eb7bc5a836439f45d1c4c87f5fac ) push-dao/src/main/java/org/obm/push/store/ContactCreationDao.java obm-backend/src/main/java/org/obm/push/contacts/ContactsBackend.java push-dao-cassandra/src/main/java/org/obm/push/cassandra/dao/ContactCreationDaoImpl.java push-dao-testsuite/src/main/java/org/obm/push/dao/testsuite/ContactCreationDaoTest.java obm-backend/src/test/java/org/obm/push/contacts/ContactsBackendTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java push-server/src/main/resources/versions/4/contact_creation.cql obm-backend/src/main/java/org/obm/push/contacts/ContactCreationIdempotenceService.java OP-158 Add fields taken into account (ddolcimascolo: 6e852b8fdbe92835ee7a70052df1191dac0f2b40 ) obm-backend/src/test/java/org/obm/push/contacts/ContactCreationIdempotenceServiceTest.java obm-backend/src/main/java/org/obm/push/contacts/ContactCreationIdempotenceService.java
          Hide
          Stephane COLSON added a comment -

          I QA this

          Show
          Stephane COLSON added a comment - I QA this
          Hide
          Stephane COLSON added a comment -

          OK with OBM version 3.1.3~0.rc1 and Opush 3.1.0~alpha0~git20150218.153553.6e852b8-1

          Tested with Fairphone FP1 (Android 4.2.2) + iPad (iOS 8)

          Show
          Stephane COLSON added a comment - OK with OBM version 3.1.3~0.rc1 and Opush 3.1.0~alpha0~git20150218.153553.6e852b8-1 Tested with Fairphone FP1 (Android 4.2.2) + iPad (iOS 8)

            People

            • Assignee:
              Stephane COLSON
              Reporter:
              Matthieu EXT_BAECHLER
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Agile