difin commented on code in PR #5527:
URL: https://github.com/apache/hive/pull/5527#discussion_r1835266877


##########
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java:
##########
@@ -1652,4 +1654,20 @@ public static boolean 
hasAllFieldsSettable(ObjectInspector oi,
   private ObjectInspectorUtils() {
     // prevent instantiation
   }
+
+  /**
+   * Returns slot value used for ordering the fields to make it deterministic
+   * @param field : field of a given class
+   * @return
+   */
+  private static int getSlotValue(Field field) {
+    try {
+      Field slotField = Field.class.getDeclaredField("slot");
+      slotField.setAccessible(true);
+      return slotField.getInt(field);
+    } catch (NoSuchFieldException | IllegalAccessException | 
IllegalArgumentException e) {
+      LOG.info("Field not found: {}", e);

Review Comment:
   Yes, just I think it would be better to make the exception message something 
like "Error getting a slot number
   If an exception happens here, why do we log it on info level and return 0?
   In Comparator zero means equality. 
   Maybe it's better to log it on error level and throw a Hive-specific runtime 
exception?



-- 
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: gitbox-unsubscr...@hive.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org
For additional commands, e-mail: gitbox-h...@hive.apache.org

Reply via email to