This is an automated email from the ASF dual-hosted git repository.

mmiller pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/main by this push:
     new 285bfb7924 Removing LocalityCheck utility (#2808)
285bfb7924 is described below

commit 285bfb792422c968df33a95a6a81b4739851607b
Author: Christopher L. Shannon <christopher.l.shan...@gmail.com>
AuthorDate: Thu Aug 25 08:13:14 2022 -0400

    Removing LocalityCheck utility (#2808)
    
    * Utility is no longer useful so it can be removed.
    * This closes #2807
---
 .../apache/accumulo/server/util/LocalityCheck.java | 129 ---------------------
 1 file changed, 129 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/LocalityCheck.java 
b/server/base/src/main/java/org/apache/accumulo/server/util/LocalityCheck.java
deleted file mode 100644
index 77a4d67cba..0000000000
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/LocalityCheck.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.accumulo.server.util;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.accumulo.core.client.Accumulo;
-import org.apache.accumulo.core.client.AccumuloClient;
-import org.apache.accumulo.core.client.Scanner;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.metadata.MetadataTable;
-import org.apache.accumulo.core.metadata.ValidationUtil;
-import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection;
-import 
org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.CurrentLocationColumnFamily;
-import 
org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.trace.TraceUtil;
-import org.apache.accumulo.core.util.HostAndPort;
-import org.apache.accumulo.server.cli.ServerUtilOpts;
-import org.apache.accumulo.server.fs.VolumeManager;
-import org.apache.hadoop.fs.BlockLocation;
-import org.apache.hadoop.fs.FileStatus;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-
-import io.opentelemetry.api.trace.Span;
-import io.opentelemetry.context.Scope;
-
-public class LocalityCheck {
-
-  public int run(String[] args) throws Exception {
-    ServerUtilOpts opts = new ServerUtilOpts();
-    opts.parseArgs(LocalityCheck.class.getName(), args);
-
-    Span span = TraceUtil.startSpan(LocalityCheck.class, "run");
-    try (Scope scope = span.makeCurrent()) {
-
-      VolumeManager fs = opts.getServerContext().getVolumeManager();
-      try (AccumuloClient accumuloClient =
-          Accumulo.newClient().from(opts.getClientProps()).build()) {
-        Scanner scanner = accumuloClient.createScanner(MetadataTable.NAME, 
Authorizations.EMPTY);
-        scanner.fetchColumnFamily(CurrentLocationColumnFamily.NAME);
-        scanner.fetchColumnFamily(DataFileColumnFamily.NAME);
-        scanner.setRange(TabletsSection.getRange());
-
-        Map<String,Long> totalBlocks = new HashMap<>();
-        Map<String,Long> localBlocks = new HashMap<>();
-        ArrayList<String> files = new ArrayList<>();
-
-        for (Entry<Key,Value> entry : scanner) {
-          Key key = entry.getKey();
-          if (key.compareColumnFamily(CurrentLocationColumnFamily.NAME) == 0) {
-            String location = entry.getValue().toString();
-            String[] parts = location.split(":");
-            String host = parts[0];
-            addBlocks(fs, host, files, totalBlocks, localBlocks);
-            files.clear();
-          } else if (key.compareColumnFamily(DataFileColumnFamily.NAME) == 0) {
-            
files.add(ValidationUtil.validate(key.getColumnQualifierData().toString()));
-          }
-        }
-        System.out.println(" Server         %local  total blocks");
-        for (Entry<String,Long> entry : totalBlocks.entrySet()) {
-          final String host = entry.getKey();
-          final Long blocksForHost = entry.getValue();
-          System.out.printf("%15s %5.1f %8d%n", host, localBlocks.get(host) * 
100.0 / blocksForHost,
-              blocksForHost);
-        }
-      }
-      return 0;
-    } finally {
-      span.end();
-    }
-  }
-
-  private void addBlocks(VolumeManager fs, String host, ArrayList<String> 
files,
-      Map<String,Long> totalBlocks, Map<String,Long> localBlocks) throws 
Exception {
-    long allBlocks = 0;
-    long matchingBlocks = 0;
-    if (!totalBlocks.containsKey(host)) {
-      totalBlocks.put(host, 0L);
-      localBlocks.put(host, 0L);
-    }
-    for (String file : files) {
-      Path filePath = new Path(file);
-      FileSystem ns = fs.getFileSystemByPath(filePath);
-      FileStatus fileStatus = ns.getFileStatus(filePath);
-      BlockLocation[] fileBlockLocations =
-          ns.getFileBlockLocations(fileStatus, 0, fileStatus.getLen());
-      for (BlockLocation blockLocation : fileBlockLocations) {
-        allBlocks++;
-        for (String location : blockLocation.getHosts()) {
-          HostAndPort hap = HostAndPort.fromParts(location, 0);
-          if (hap.getHost().equals(host)) {
-            matchingBlocks++;
-            break;
-          }
-        }
-      }
-    }
-    totalBlocks.put(host, allBlocks + totalBlocks.get(host));
-    localBlocks.put(host, matchingBlocks + localBlocks.get(host));
-  }
-
-  public static void main(String[] args) throws Exception {
-    LocalityCheck check = new LocalityCheck();
-    System.exit(check.run(args));
-  }
-}

Reply via email to