Uploaded image for project: 'Project Quay'
  1. Project Quay
  2. PROJQUAY-6064

There is always a small file only exists in one blob storage in geo-replication environment

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • None
    • quay-v3.8.12, quay-v3.9.1
    • quay
    • False
    • Hide

      None

      Show
      None
    • False

      Description of problem:

      Set up a geo-replication environment which has two sites,  push a image, check tow back-end blob storage.  there is always a small file only exists in one blob storage.  Don't know what this small file is, it doesn't affect the whole geo-replication environment working.  

      Version-Release number of selected component (if applicable):

      All quay version which support geo-replication function. 

      How reproducible:

      always

      Steps to Reproduce:
      1.  set up a geo-replication environment which has two sites, 
      2.  push a image to the common quay endpoint

      $ skopeo inspect --raw --tls-verify=false --creds=xxx:xxx  docker://quay.io/quay-qetest/alpine:386 |jq .
      {
        "schemaVersion": 2,
        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
        "config": {
          "mediaType": "application/vnd.docker.container.image.v1+json",
          "size": 1470,
          "digest": "sha256:a9cf34276208f96ac1b1df0261e9b57cd830dce0d69baacc06d9734b16e9b0af"
        },
        "layers": [
          {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 2801887,
            "digest": "sha256:bb638a3869eed698f88775c7a48f36f8e22e7c6bbaa98fa1d5678966b619b859"
          }
        ]
      }
      
      
      $ podman tag quay.io/quay-qetest/alpine:386  quay.trafficmanager.net/org1/repo1:386
      
      
      $ podman push --tls-verify=false quay.trafficmanager.net/org1/repo1:386
      Getting image source signatures
      Copying blob 62b847bd7966 done  
      Copying config a9cf342762 done  
      Writing manifest to image destination
      Storing signatures 

      3.  check the blob files in two back-end blob storage

      $ az storage blob list --account-name whusc1  --container-name whusc1container --output table --auth-mode key
      Name                                                                                 Blob Type    Blob Tier    Length    Content Type              Last Modified              Snapshot
      -----------------------------------------------------------------------------------  -----------  -----------  --------  ------------------------  -------------------------  ----------
      quaydata/sha256/a2/a2811e9ad57a32dbf6cb920c56e8faece8fa0796ab40b43b0822fb4346af554c  BlockBlob    Hot          2893555   application/octet-stream  2023-09-22T04:30:08+00:00
      quaydata/sha256/a9/a9cf34276208f96ac1b1df0261e9b57cd830dce0d69baacc06d9734b16e9b0af  BlockBlob    Hot          1470      application/octet-stream  2023-09-22T04:30:08+00:00
       
      
      
      $ az storage blob list --account-name whusc2  --container-name whusc2container --output table --auth-mode key
      Name                                                                                 Blob Type    Blob Tier    Length    Content Type              Last Modified              Snapshot
      -----------------------------------------------------------------------------------  -----------  -----------  --------  ------------------------  -------------------------  ----------
      quaydata/sha256/a2/a2811e9ad57a32dbf6cb920c56e8faece8fa0796ab40b43b0822fb4346af554c  BlockBlob    Hot          2893555   application/octet-stream  2023-09-22T04:30:10+00:00
      quaydata/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4  BlockBlob    Hot          32        application/octet-stream  2023-09-22T04:30:13+00:00
      quaydata/sha256/a9/a9cf34276208f96ac1b1df0261e9b57cd830dce0d69baacc06d9734b16e9b0af  BlockBlob    Hot          1470      application/octet-stream  2023-09-22T04:30:09+00:00

       

      quayregistry_quay_database=> select * from ImageStorageLocation;
       id |       name        
      ----+-------------------
        1 | s3_us_east_1
        2 | s3_eu_west_1
        3 | s3_ap_southeast_1
        4 | s3_ap_southeast_2
        5 | s3_ap_northeast_1
        6 | s3_sa_east_1
        7 | local
        8 | s3_us_west_1
        9 | reg1storage
       10 | reg2storage
      
      
      quayregistry_quay_database=> select count(*) from imagestorageplacement where location_id = 9;
       count 
      -------
           2
      (1 row)
      
      quayregistry_quay_database=> select count(*) from imagestorageplacement where location_id = 10;
       count 
      -------
           3
      (1 row)
       

      `a9cf34276208f96ac1b1df0261e9b57cd830dce0d69baacc06d9734b16e9b0af` should be the image manifest file

      `a2811e9ad57a32dbf6cb920c56e8faece8fa0796ab40b43b0822fb4346af554c` should be the image blob file.

      Above two files are the expected files. 

       

      But don't know what `a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4` is used for.  Can't open this file.  

      This file does not affect the whole geo-replication environment common work.  Not sure if it has potential impact.  

              Unassigned Unassigned
              rhwhu Weihua Hu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: