Opush
  1. Opush
  2. OP-139

T#9813 Protect OBM about contact duplication

    Details

    • Type: New Feature New Feature
    • Status: Closed Closed
    • Priority: Normal Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0.6
    • Labels:
      None
    • Story Points:
      6
    • Rank:
      23
    • Sprint:
      OBM Sprint 2015#1

      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

      This changeset aims to protect the backend about contact duplication.
      That protection is implemented using the hash of every contact created by a device.
      When a contact hash is already known by Opush, it'll not send the creation command to its backend.

      This fix has been done to handle the never fixed "ClientId" bug of Android, see https://code.google.com/p/android/issues/detail?id=61100

        Issue Links

          Activity

          David Dolcimascolo made changes -
          Field Original Value New Value
          Sprint OBM Sprint 2015#1 [ 25 ]
          David Dolcimascolo made changes -
          Rank Ranked higher
          David Dolcimascolo made changes -
          Story Points 6
          Thomas HILAIRE made changes -
          Assignee Matthieu BAECHLER [ mbaechler@linagora.com ] Thomas HILAIRE [ thilaire@linagora.com ]
          Thomas HILAIRE made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Thomas HILAIRE made changes -
          Status In Progress [ 3 ] In Review [ 10001 ]
          Thomas HILAIRE made changes -
          Fix Version/s 3.0.6 [ 12611 ]
          Fix Version/s 3.1.0 [ 12504 ]
          Thomas HILAIRE made changes -
          Link This issue is cloned by OP-158 [ OP-158 ]
          Thomas HILAIRE made changes -
          Status In Review [ 10001 ] Ready To Merge [ 10002 ]
          Resolution Fixed [ 1 ]
          Thomas HILAIRE made changes -
          Status Ready To Merge [ 10002 ] Resolved [ 5 ]
          Stephane COLSON made changes -
          Assignee Thomas HILAIRE [ thilaire@linagora.com ] Stephane COLSON [ scolson@linagora.com ]
          Stephane COLSON made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Thomas HILAIRE made changes -
          Assignee Stephane COLSON [ scolson@linagora.com ] Thomas HILAIRE [ thilaire@linagora.com ]
          Thomas HILAIRE made changes -
          Status Reopened [ 4 ] In Progress [ 3 ]
          Thomas HILAIRE made changes -
          Status In Progress [ 3 ] In Review [ 10001 ]
          Thomas HILAIRE made changes -
          Status In Review [ 10001 ] Ready To Merge [ 10002 ]
          Resolution Fixed [ 1 ]
          David Dolcimascolo made changes -
          Status Ready To Merge [ 10002 ] Resolved [ 5 ]
          Stephane COLSON made changes -
          Assignee Thomas HILAIRE [ thilaire@linagora.com ] Stephane COLSON [ scolson@linagora.com ]
          Stephane COLSON made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Thomas HILAIRE made changes -
          Assignee Stephane COLSON [ scolson@linagora.com ] Thomas HILAIRE [ thilaire@linagora.com ]
          Thomas HILAIRE made changes -
          Status Reopened [ 4 ] In Progress [ 3 ]
          Thomas HILAIRE made changes -
          Status In Progress [ 3 ] In Review [ 10001 ]
          Thomas HILAIRE made changes -
          Status In Review [ 10001 ] Ready To Merge [ 10002 ]
          Resolution Fixed [ 1 ]
          Stephane COLSON made changes -
          Status Ready To Merge [ 10002 ] Resolved [ 5 ]
          Stephane COLSON made changes -
          Assignee Thomas HILAIRE [ thilaire@linagora.com ] Stephane COLSON [ scolson@linagora.com ]
          Stephane COLSON made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Thomas HILAIRE made changes -
          Description h4. Pre-conditions
          Use an Android device

          h4. Reproduction steps
          # _usera_ creates a contact on its phone
          # server is slow enough to have the phone issue the same request
          # both request eventually get processed

          h4. Current behavior
          # The contact is inserted twice : {color:red}NOK{color}

          h4. Expected behavior
          # The contact is inserted once : {color:green}OK{color}

          h4. Additional informations
          h4. Pre-conditions
          Use an Android device

          h4. Reproduction steps
          # _usera_ creates a contact on its phone
          # server is slow enough to have the phone issue the same request
          # both request eventually get processed

          h4. Current behavior
          # The contact is inserted twice : {color:red}NOK{color}

          h4. Expected behavior
          # The contact is inserted once : {color:green}OK{color}

          h4. Additional informations
          This changeset aims to protect the backend about contact duplication.
          That protection is implemented using the hash of every contact created by a device.
          When a contact hash is already known by Opush, it'll not send the creation command to its backend.

          This fix has been done to handle the _never fixed_ "ClientId" bug of Android, see https://code.google.com/p/android/issues/detail?id=61100
          Thomas HILAIRE made changes -
          Summary T#9813 Prevent resent requests from inserting duplicated contacts T#9813 Protect OBM about contact duplication

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Agile