[ 
https://issues.apache.org/jira/browse/HBASE-26394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

chenglei updated HBASE-26394:
-----------------------------
    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 :
{code:java}
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      }
   ......
{code}

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.

  was:In 


> Cache in RSRpcServices.executeProcedures does not take effect
> -------------------------------------------------------------
>
>                 Key: HBASE-26394
>                 URL: https://issues.apache.org/jira/browse/HBASE-26394
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 3.0.0-alpha-1, 2.4.8
>            Reporter: chenglei
>            Priority: Major
>
> 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 :
> {code:java}
> 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      }
>    ......
> {code}
> 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to