You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "keith-turner (via GitHub)" <gi...@apache.org> on 2023/04/17 20:38:06 UTC

[GitHub] [accumulo] keith-turner opened a new issue, #3301: Setting the last location may do unnecessary metadata read.

keith-turner opened a new issue, #3301:
URL: https://github.com/apache/accumulo/issues/3301

   **Describe the bug**
   
   While working on #3284 I noticed that [ManagerMetadataUtil.updateLastForAssignmentMode()](https://github.com/apache/accumulo/blob/15c9f55280f4ce28a80b800f1e05128f33c85db3/server/base/src/main/java/org/apache/accumulo/server/util/ManagerMetadataUtil.java#L261-L270) is doing a metadata reads during tablet location updates.  Not sure, but may be able to avoid this read by passing information from earlier metadata reads.
   
   One place updateLastForAssignmentMode() is called is in [MetaDataStateStore](https://github.com/apache/accumulo/blob/15c9f55280f4ce28a80b800f1e05128f33c85db3/server/base/src/main/java/org/apache/accumulo/server/manager/state/MetaDataStateStore.java#L110) where the available TabletLocationState may have the last location obtained in [MetaDataTableScanner](https://github.com/apache/accumulo/blob/main/server/base/src/main/java/org/apache/accumulo/server/manager/state/MetaDataTableScanner.java#L198) when scanning the metadata table.  So if that information about the last location could be passed from the scan, then the information could be obtained  more efficiently.  Getting the information from a scan of the metadata table avoids the RPC per tablet to get the information.
   
   Another place updateLastForAssignmentMode() is called is when TabletStateStore.setLocation() is called in [AssignmentHandler](https://github.com/apache/accumulo/blob/15c9f55280f4ce28a80b800f1e05128f33c85db3/server/tserver/src/main/java/org/apache/accumulo/tserver/AssignmentHandler.java#L185).  Earlier in the AssignmentHandler code it reads the tablets metadata and could pass that to TabletStateStore.setLocation() which could pass it to updateLastForAssignmentMode().
   
   **Expected behavior**
   
   Last location is obtained via leveraging existing metadata reads, if possible, rather than doing a new one.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [accumulo] cshannon closed issue #3301: Setting the last location may do unnecessary metadata read.

Posted by "cshannon (via GitHub)" <gi...@apache.org>.
cshannon closed issue #3301: Setting the last location may do unnecessary metadata read.
URL: https://github.com/apache/accumulo/issues/3301


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [accumulo] cshannon commented on issue #3301: Setting the last location may do unnecessary metadata read.

Posted by "cshannon (via GitHub)" <gi...@apache.org>.
cshannon commented on issue #3301:
URL: https://github.com/apache/accumulo/issues/3301#issuecomment-1518408423

   I've started looking at this today and will work on a PR.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org