tree a363c44b340d504bacab2482ce2fff1f9d093be7
parent 62b88d9b2a4f2f1cd81c4951fac7dc10c9c3165d
author Luca Milanesio <luca.milanesio@gmail.com> 1666367626 +0100
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 1666367626 +0000

Update git submodules

* Update plugins/replication from branch 'master'
  to 8f465cd3f1f3039a937bd3d863c192e33d8347a2
  - Merge branch 'stable-3.5'
    
    * stable-3.5:
      Demote Files.list() errors when distributor is enabled
      Demote rename errors when distributor is enabled
      Do not retry replication when local repository not found
    
    Release-Notes: skip
    Change-Id: Icd2d4729e7c912e723587c2efa311a4e999fd329
    
  - Merge branch 'stable-3.4' into 'stable-3.5'
    
    * stable-3.4:
      Do not retry replication when local repository not found
      Ensure states are updated for canceled replication tasks
    
    Change-Id: Ic0e523c7c92222b49916aed7067836d4e6d2f6e7
    
  - Demote Files.list() errors when distributor is enabled
    
    Since Files.list() errors for the 'waiting' and 'running' dirs is common
    and normal when running with a multi-primary setup, demote them to
    "atFine()" level when the distributor is enabled. This avoids making the
    logs extrememly noisy during normal multi-primary operation.
    
    Change-Id: Iefc96fb79754dad9201afbc194d85194ef257198
    
  - Demote rename errors when distributor is enabled
    
    Since rename errors for Tasks is common and normal when running with a
    multi-primary setup, demote them to "atFine()" level when the
    distributor is enabled. This avoids making the logs extrememly noisy
    during normal multi-primary operation.
    
    Change-Id: I0c90aff769b12f5a1a7506a92f11358c34457cb1
    
  - Merge branch 'stable-3.3' into stable-3.4
    
    * origin/stable-3.3:
      Do not retry replication when local repository not found
    
    Change-Id: I6a8d0650ca24a4aac86fdafc819b028cf8864332
    
  - Do not retry replication when local repository not found
    
    When many repositories get created and deleted in a quick succession it
    may happen that a repository gets deleted before its replication task
    starts. Such replication task will keep retrying, possibly indefinitely,
    but has no chance to succeed.
    
    Another scenario where this issue can occur is when a repository gets
    created but a replica is not reachable for some time. If the repository
    gets deleted before the replica gets reachable again, the replication
    task will keep retrying but the local repository will not exist.
    
    When handling the RepositoryNotFoundException in PushOne, set the
    retrying flag to false. This ensures that this replication task is
    not retried and gets finished.
    
    Bug: Issue 15804
    Change-Id: Ia55c5ec1c961f4c2aec9ecee8056f22b436e9fda
    