Skip to content

[FEA] Align HashJoin and DistinctHashJoin Java/JNI conventions #23938

Description

@rishic3

Is your feature request related to a problem? Please describe.

HashJoin and DistinctHashJoin expose equivalent concepts but differ in Java accessor naming and ordering, Javadocs, leak logging, superficial JNI implementation details, diagnostics, and test coverage.

Describe the solution you would like

  • Add HashJoin.getCompareNullsEqual(), retaining and deprecating getCompareNulls() for compatibility.
  • Fix the HashJoin.getNumberOfColumns() Javadoc typo.
  • Align accessor ordering and leak-log formatting, including equivalent formatting in KeyRemapping and ast/CompiledExpression.
  • Normalize superficial JNI differences such as local naming, allocation style, load-factor spelling, null checks, and formatting.
  • Normalize column-count mismatch messages in the reusable join APIs, including labels, spacing, and capitalization.
  • Add focused coverage for:
    • reusing one DistinctHashJoin across multiple inner-join probe tables;
    • column-count mismatch guards across the reusable HashJoin and DistinctHashJoin Table overloads.

Describe alternatives you have considered

Leave the differences and coverage gaps in place and address them opportunistically, at the cost of some inconsistency and weaker regression protection.

Additional context

Follow-up to #22392, particularly the review discussions about JNI symmetry, Java API symmetry, join diagnostics, inner-join reuse coverage, and column-count guard coverage.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    JavaAffects Java cuDF API.feature requestNew feature or requestimprovementImprovement / enhancement to an existing function

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions