bbeaudreault commented on code in PR #5488:
URL: https://github.com/apache/hbase/pull/5488#discussion_r1384840873


##########
hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java:
##########
@@ -304,6 +305,24 @@ public static boolean isClassLoaderLoaded() {
     return classLoaderLoaded;
   }
 
+  private static final String PARSE_FROM = "parseFrom";
+
+  // We don't bother using the dynamic CLASS_LOADER above, because currently 
we can't support
+  // optimizing dynamically loaded classes. We can do it once we build for 
java9+, see the todo
+  // in ReflectedFunctionCache
+  private static final ReflectedFunctionCache<byte[], Filter> FILTERS = 
ReflectedFunctionCache
+    .create(ProtobufUtil.class.getClassLoader(), Filter.class, byte[].class, 
PARSE_FROM);
+  private static final ReflectedFunctionCache<byte[], ByteArrayComparable> 
COMPARATORS =
+    ReflectedFunctionCache.create(ProtobufUtil.class.getClassLoader(), 
ByteArrayComparable.class,
+      byte[].class, PARSE_FROM);
+
+  private static volatile boolean ALLOW_FAST_REFLECTION_FALLTHROUGH = true;

Review Comment:
   I don't think so. It's explicitly better on all supported versions of Java, 
with no downside. It seems like one of those unnecessary configs that hangs 
around forever. Also it'd be complicated to pipe a config in there since it's 
multiple levels of static only methods (for example recursive toFilter calls in 
FilterList.parsefrom)



-- 
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: issues-unsubscr...@hbase.apache.org

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

Reply via email to