droudnitsky commented on PR #7397:
URL: https://github.com/apache/hbase/pull/7397#issuecomment-3419782314

   Code snippet to identify all filters which take ByteArrayComparable, 
majority (5/8) filters are an extension of CompareFilter , but there are 3 
outlier ColumnValue filters which do not extend CompareFilter  -
   ```
       String pkg = "org.apache.hadoop.hbase.filter"; // <-- the package to scan
       List<Class<?>> hits = new ArrayList<>();
   
       try (ScanResult scan = new ClassGraph()
         .acceptPackages(pkg)
         .enableClassInfo()
         .scan()) {
   
         for (ClassInfo ci : scan.getAllClasses()) {
           Class<?> cls = ci.loadClass();
           for (Constructor<?> ctor : cls.getDeclaredConstructors()) {
             for (Class<?> pt : ctor.getParameterTypes()) {
               if 
(pt.getName().equals("org.apache.hadoop.hbase.filter.ByteArrayComparable")   // 
FQCN safer
                 || pt.getSimpleName().equals("ByteArrayComparable")) {  // 
simple name
                 hits.add(cls);
                 break;
               }
             }
           }
         }
       }
       System.out.println("matches: " + hits.size());
   
   org.apache.hadoop.hbase.filter.ColumnValueFilter
   org.apache.hadoop.hbase.filter.CompareFilter
   org.apache.hadoop.hbase.filter.DependentColumnFilter
   org.apache.hadoop.hbase.filter.FamilyFilter
   org.apache.hadoop.hbase.filter.QualifierFilter
   org.apache.hadoop.hbase.filter.RowFilter
   org.apache.hadoop.hbase.filter.SingleColumnValueExcludeFilter
   org.apache.hadoop.hbase.filter.SingleColumnValueFilter
   ```


-- 
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