Uploaded image for project: 'Hadoop Distributed Data Store'
  1. Hadoop Distributed Data Store
  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

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

                Dates

                • Created:
                  Updated:
                  Resolved: