Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-26394

Cache in RSRpcServices.executeProcedures does not take effect

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.0.0-alpha-1, 2.4.8
    • 2.5.0, 3.0.0-alpha-2, 2.4.8
    • None
    • None
    • Reviewed

    Description

      In RSRpcServices.executeProcedures , we use tdCache to avoid reading from the TableDescritor every time(usually it will read from the file system), just as following line 3923 :

      3914 public ExecuteProceduresResponse executeProcedures(RpcController controller,
      3915     ExecuteProceduresRequest request) throws ServiceException {
      3916   try {
      3917     checkOpen();
      3918     throwOnWrongStartCode(request);
      3919      regionServer.getRegionServerCoprocessorHost().preExecuteProcedures();
      3920      if (request.getOpenRegionCount() > 0) {
      3921        // Avoid reading from the TableDescritor every time(usually it will read from the file
      3922        // system)
      3923        Map<TableName, TableDescriptor> tdCache = new HashMap<>();
      3924        request.getOpenRegionList().forEach(req -> executeOpenRegionProcedures(req, tdCache));
      3925      }
         ......
      

      but for RSRpcServices.executeOpenRegionProcedures in above line 3924, there is no place to fill the tdCache, so the tdCache does not take effect in fact.

      Attachments

        Issue Links

          Activity

            People

              comnetwork chenglei
              comnetwork chenglei
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: