Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-3824

OM read requests should make SCM#refreshPipeline outside the BUCKET_LOCK

    XMLWordPrintableJSON

Details

    Description

      Refresh pipeline info does a call to SCM and it can be moved outside the BUCKET_LOCK, this would help to improve the performance of read/write mix workloads.

      KeyManagerImpl.java

          metadataManager.getLock().acquireReadLock(BUCKET_LOCK, volumeName,
              bucketName);
          try {
      .....
      .....
              // No need to check if a key is deleted or not here, this is handled
              // when adding entries to cacheKeyMap from DB.
              if (args.getRefreshPipeline()) {
                refreshPipeline(entry.getValue().getKeyInfo());
              }
      .....
      .....
          } finally {
            metadataManager.getLock().releaseReadLock(BUCKET_LOCK, volumeName,
                bucketName);
          }
      
      

       

      Code Reference:  KeyManagerImpl.java#L2071

      Attachments

        Issue Links

          Activity

            People

              rakeshr Rakesh Radhakrishnan
              rakeshr Rakesh Radhakrishnan
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: