apache/hadoop · error · RuntimeException

Object comparison not supported

Error message

Object comparison not supported

What it means

Error "Object comparison not supported" thrown in apache/hadoop.

Source

Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/file/tfile/CompareUtils.java:96

    @Override
    public int compare(Scalar o1, Scalar o2) {
      long diff = o1.magnitude() - o2.magnitude();
      if (diff < 0) return -1;
      if (diff > 0) return 1;
      return 0;
    }
  }

  public static final class MemcmpRawComparator implements
      RawComparator<Object>, Serializable {
    @Override
    public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2) {
      return WritableComparator.compareBytes(b1, s1, l1, b2, s2, l2);
    }

    @Override
    public int compare(Object o1, Object o2) {
      throw new RuntimeException("Object comparison not supported");
    }
  }
}

View on GitHub (pinned to 2add963021)

Solutions

  1. Provide a comparator for non-byte-array keys, or convert keys to byte arrays before comparison.

When it happens

Trigger: Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/file/tfile/CompareUtils.java:96 when the library encounters an invalid state.

Common situations: Occurs when comparing objects that are not supported comparable types. Only compare byte[] or types with a registered comparator.


AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22). Data as JSON: /api/errors/3aa272abd6de5e49. Report an issue: GitHub.