keith-turner commented on PR #4574:
URL: https://github.com/apache/accumulo/pull/4574#issuecomment-2118897010

   > @keith-turner - What do you think about moving part of these changes to 
main?
   
   Looked into the usage in each branch.  The following is for main.
   
   ```
   $ find . -name "*.java" | xargs grep getKeyValues 
   
./server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java:
      bw.addMutation(createCloneMutation(srcTableId, tableId, 
ti.next().getKeyValues()));
   
./server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java:
        for (Entry<Key,Value> entry : cloneTablet.getKeyValues().entrySet()) {
   
./server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java:
          bw.addMutation(createCloneMutation(srcTableId, tableId, 
st.getKeyValues()));
   
./core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java:
    assertEquals(rowMap, tm.getKeyValues());
   
./core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java:
    // Verify the various collections are immutable and non-null (except for 
getKeyValues) if
   
./core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java:
    assertThrows(IllegalStateException.class, tm::getKeyValues);
   
./core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java:
    assertEquals(1, tm2.getKeyValues().size());
   
./core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java:
        () -> tm2.getKeyValues().put(new Key(), new Value()));
   
./core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMetadata.java:
  public SortedMap<Key,Value> getKeyValues() {
   ```
   
   and the following if for elasticity ommitting a few false positives related 
to RootTableMetadata which has function w/. the same name
   
   ```
   $ find . -name "*.java" | xargs grep getKeyValues
   
./server/manager/src/main/java/org/apache/accumulo/manager/tableOps/merge/DeleteTablets.java:
          tabletMeta.getKeyValues().keySet().forEach(key -> {
   
./server/manager/src/main/java/org/apache/accumulo/manager/tableOps/merge/DeleteTablets.java:
        tabletMutator.deleteAll(tabletMeta.getKeyValues().keySet());
   
./server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader11to12.java:
      rtm.getKeyValues().filter(e -> 
UPGRADE_FAMILIES.contains(e.getKey().getColumnFamily()))
   
./server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java:
        bw.addMutation(createCloneMutation(srcTableId, tableId, 
ti.next().getKeyValues()));
   
./server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java:
          for (Entry<Key,Value> entry : cloneTablet.getKeyValues().entrySet()) {
   
./server/base/src/main/java/org/apache/accumulo/server/util/MetadataTableUtil.java:
            bw.addMutation(createCloneMutation(srcTableId, tableId, 
st.getKeyValues()));
   
./server/base/src/test/java/org/apache/accumulo/server/SetEncodingIteratorTest.java:
    SortedMap<Key,Value> sortedMapNoFiles = new 
TreeMap<>(tmNoFiles.getKeyValues());
   
./server/base/src/test/java/org/apache/accumulo/server/SetEncodingIteratorTest.java:
    SortedMap<Key,Value> sortedMapOneFile = new 
TreeMap<>(tmOneFile.getKeyValues());
   
./server/base/src/test/java/org/apache/accumulo/server/SetEncodingIteratorTest.java:
    SortedMap<Key,Value> sortedMap = new 
TreeMap<>(tmMultipleFiles.getKeyValues());
   
./server/base/src/test/java/org/apache/accumulo/server/SetEncodingIteratorTest.java:
    SortedMap<Key,Value> sortedMap2 = new 
TreeMap<>(tmMultipleFiles2.getKeyValues());
   
./server/base/src/test/java/org/apache/accumulo/server/manager/state/TabletManagementTest.java:
    assertEquals(entries, tmi.getTabletMetadata().getKeyValues());
   
./server/base/src/test/java/org/apache/accumulo/server/manager/state/TabletManagementTest.java:
    assertEquals(entries, tmi.getTabletMetadata().getKeyValues());
   
./server/base/src/test/java/org/apache/accumulo/server/manager/state/TabletManagementTest.java:
    assertEquals(entries, tmi.getTabletMetadata().getKeyValues());
   ./test/src/main/java/org/apache/accumulo/test/functional/SplitIT.java:      
var original = new TreeMap<>(tabletMetadata.getKeyValues());
   ./test/src/main/java/org/apache/accumulo/test/functional/SplitIT.java:      
var kvCopy = new TreeMap<>(tabletMetadata2.getKeyValues());
   
./core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java:
    assertEquals(rowMap, tm.getKeyValues());
   
./core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java:
    // Verify the various collections are immutable and non-null (except for 
getKeyValues) if
   
./core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java:
    assertThrows(IllegalStateException.class, tm::getKeyValues);
   
./core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java:
    assertEquals(1, tm2.getKeyValues().size());
   
./core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java:
        () -> tm2.getKeyValues().put(new Key(), new Value()));
   
./core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMetadata.java:
  public SortedMap<Key,Value> getKeyValues() {
   
   ```
   
   Seems like the only overlap outside of test is the clone table code, the 
merge code does not use it in main.  The function is used much less in main.  
Since its used much less in main, would be easy to make the change in main.  
When merging forward would need to make a lot of the changes in this PR in the 
merge commit so it would compile. I am fine w/ making the change in main, I am 
puzzling over what the path of least work is though and if there is some git 
magic I can leverage.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to