Skip to content

Revert #476: remove the array-of-strings tuple sketch for 5.3.0 - #537

Merged
leerho merged 1 commit into
masterfrom
revert-aos-sketch
Oct 3, 2026
Merged

leerho merged 1 commit into
masterfrom
revert-aos-sketch

Conversation

@leerho

@leerho leerho commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

Reverts #476, as agreed with @proost on #533.

The C++ array-of-strings (AoS) tuple sketch hashes keys as UTF-8, while Java's AoS sketch hashes them as UTF-16LE, so the two produce different hashes for the same keys and their sketches can't be combined correctly (#533). The C++ AoS sketch has never been released, so removing it now affects no users and keeps 5.3.0 from shipping an incompatible format.

The encoding policy is being discussed on dev@: https://lists.apache.org/thread/5vlbnodmw8h5s0oc1988f4pdhkjnv8qw. The sketch will be rewritten once that's agreed.

  • Removes the 7 files and CMake entries feat: AoS tuple sketch #476 added for the AoS sketch (1,142 lines). Nothing else in the repo depends on the AoS code.
  • Keeps feat: AoS tuple sketch #476's generic array<T> improvements in array_tuple_sketch.hpp: the <algorithm> include, element construction and destruction for non-trivial types, resetting the size of a moved-from array, and the size check in operator==. They aren't AoS-specific, and the array-of-doubles sketch uses the same class.
  • All 17 test suites pass under AddressSanitizer.

🤖 Generated with Claude Code

@leerho
leerho requested review from proost and a balanced review from Copilot October 3, 2026 19:03
@coveralls

This comment was marked as off-topic.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The generic array revert introduces missing-header, moved-from-state, and unsafe equality regressions.

Review effort: Balanced
Findings: 1 High severity

Open (1)
What changed in this PR

Removes the unreleased array-of-strings tuple sketch to avoid shipping a format incompatible with Java.

Changes:

  • Deletes the AoS implementation and tests.
  • Removes AoS build and installation entries.
  • Reverts related generic array changes.
File Description
tuple/​CMakeLists.txt Stops installing AoS headers.
tuple/​include/​array_of_strings_sketch.hpp Removes the public AoS API.
tuple/​include/​array_of_strings_sketch_impl.hpp Removes the AoS implementation.
tuple/​include/​array_tuple_sketch.hpp Reverts generic array changes.
tuple/​test/​CMakeLists.txt Removes AoS test targets.
tuple/​test/​array_of_strings_sketch_test.cpp Removes unit tests.
tuple/​test/​aos_sketch_serialize_for_java.cpp Removes Java serialization fixtures.
tuple/​test/​aos_sketch_deserialize_from_java_test.cpp Removes Java compatibility tests.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tuple/include/array_tuple_sketch.hpp Outdated
This reverts commit 1a23698, reversing
changes made to f546262, except for
tuple/include/array_tuple_sketch.hpp.

The array-of-strings tuple sketch hashes keys as UTF-8, while Java hashes
them as UTF-16LE, so its sketches cannot be combined with Java's (#533).
It has not been released yet, so it is removed for 5.3.0 and will be
rewritten once the encoding is agreed on dev@.

The generic array<T> changes from #476 in array_tuple_sketch.hpp are kept:
the <algorithm> include, element construction and destruction for
non-trivial types, resetting the size of a moved-from array, and the size
check in operator==. They are not specific to array-of-strings, and the
array-of-doubles sketch uses the same class.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The incompatible unreleased feature and all repository references to it are removed consistently.

Review effort: Balanced
Findings: 1 High severity

Open (1)

@leerho
leerho merged commit 0a78454 into master Oct 3, 2026
33 checks passed
@leerho
leerho deleted the revert-aos-sketch branch October 3, 2026 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants