apache / apache/incubator-graphar

[FEATURE][Java] Cross-language compatibility test suite

Open
#944 8 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
373
Forks
93
Avg merge
7d 21h
Merged PRs (30d)
7

Description

## Describe the enhancement requested

Establish the pure-Java GraphAr compatibility/TCK umbrella before physical IO. The suite must use C++ and canonical GraphAr metadata as the semantic oracle, while keeping `graphar-info` dependency-light.

Component(s): Java

## Scope

- metadata load/save parity across GraphAr file types, graph labels, `extra_info`, primary-key nullability, and parameterized `list` logical types;
- fixture-backed C++ -> Java -> C++ and Java -> C++ -> Java metadata acceptance where the reference toolchain is available;
- focused subissues and small PRs for independently reviewable metadata gaps, beginning with #943.

## Non-goals

No Java payload reader/writer, storage backend, Hadoop/S3, Arrow public API, or query engine.

## Acceptance

The suite records exact fixture and semantic expectations, metadata survives the supported round trips, unsupported metadata fails before IO, and the complete Java devcontainer suite passes.

## Links

Architecture umbrella: #756. Reader/writer implementation umbrella: #947. C++ devcontainer failure, when it affects the external oracle: #945.

Contributor guide

Open the contributing guide

Research direction

Start with focused metadata gaps in #943 and review the Java devcontainer suite, using the C++ toolchain and canonical GraphAr metadata as the stated semantic oracle. Map the independently reviewable compatibility cases from the scope, then verify exact fixture and semantic expectations, supported metadata round trips, early rejection before IO, and a passing complete Java devcontainer suite.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, java
Domain
data-engineering, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.