Github user ctubbsii commented on a diff in the pull request:

    https://github.com/apache/accumulo/pull/279#discussion_r126745375
  
    --- Diff: 
core/src/main/java/org/apache/accumulo/core/client/TableOfflineException.java 
---
    @@ -26,7 +27,7 @@ private static String getTableName(Instance instance, 
String tableId) {
         if (tableId == null)
           return " <unknown table> ";
         try {
    -      String tableName = Tables.getTableName(instance, tableId);
    +      String tableName = Tables.getTableName(instance, new 
Table.ID(tableId));
    --- End diff --
    
    I found the code where we were doing this for `String` tableIds. It's in 
`KeyExtent`. I'm not sure if this was a case of premature optimization, or if 
the GC was an issue in the case of parsing the metadata table or something. I 
imagine there was a good reason, but I don't have insight into the history of 
that part of `KeyExtent` and there don't appear to be any comments explaining 
why it was needed.
    
    For now, I think we should keep anything we do in this regard out of the 
public API. I don't think users need to worry about this optimization. If the 
object deduplication in `KeyExtent` is still valid, this can be pushed down to 
the `Table.ID` and `Namespace.ID` classes, replacing the optimization in 
`KeyExtent`.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to