Skip to content

Conversation

@atris
Copy link
Contributor

@atris atris commented Jul 23, 2025

Implements ingest and search pipeline processors to co-locate related
documents based on hierarchical paths (e.g., folder structures). Documents
with same path prefix are routed to same shard, enabling efficient
search within hierarchies.

  • HierarchicalRoutingProcessor: Routes documents during indexing
  • HierarchicalRoutingSearchProcessor: Routes queries to relevant shards
  • Consistent MurmurHash3-based routing between ingest and search
  • Configurable anchor depth, path separators, and field mapping

@atris atris requested a review from a team as a code owner July 23, 2025 19:13
@atris
Copy link
Contributor Author

atris commented Jul 23, 2025

RFC and Design Co Author @abhishekpsingh

@atris
Copy link
Contributor Author

atris commented Jul 23, 2025

Fixes #18816

@github-actions
Copy link
Contributor

❌ Gradle check result for 72e9306: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Copy link
Contributor

@msfroh msfroh left a comment

Choose a reason for hiding this comment

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

Looks good overall. I left a couple of nitpicky comments.

It looks like one of your tests is failing, and both modules have a test that asserts on what processors are present, so the newly-added processors break that.

@atris
Copy link
Contributor Author

atris commented Jul 23, 2025

Looks good overall. I left a couple of nitpicky comments.

It looks like one of your tests is failing, and both modules have a test that asserts on what processors are present, so the newly-added processors break that.

Thanks, fixed both.

@atris
Copy link
Contributor Author

atris commented Jul 23, 2025

@msfroh Thanks for reviewing. Updated per comments, please see

@github-actions
Copy link
Contributor

❌ Gradle check result for 9dfe9cc: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@github-actions
Copy link
Contributor

❌ Gradle check result for 85368ab: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@atris
Copy link
Contributor Author

atris commented Jul 24, 2025

@msfroh Updated, please see

@github-actions
Copy link
Contributor

❌ Gradle check result for 8194377: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@github-actions
Copy link
Contributor

❌ Gradle check result for 80db053: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

  Implements ingest and search pipeline processors to co-locate related
  documents based on hierarchical paths (e.g., folder structures). Documents
  with same path prefix are routed to same shard, enabling efficient
  search within hierarchies.

  - HierarchicalRoutingProcessor: Routes documents during indexing
  - HierarchicalRoutingSearchProcessor: Routes queries to relevant shards
  - Consistent MurmurHash3-based routing between ingest and search
  - Configurable anchor depth, path separators, and field mapping

Signed-off-by: Atri Sharma <[email protected]>

Fix test asserts

Signed-off-by: Atri Sharma <[email protected]>

Fix failing tests and update per comments

Signed-off-by: Atri Sharma <[email protected]>

Yet more test fixes

Signed-off-by: Atri Sharma <[email protected]>

Fix more comments

Signed-off-by: Atri Sharma <[email protected]>

Mark flaky test for now

Signed-off-by: Atri Sharma <[email protected]>

Add more javadocs

Signed-off-by: Atri Sharma <[email protected]>
@github-actions
Copy link
Contributor

✅ Gradle check result for 8862c08: SUCCESS

@codecov
Copy link

codecov bot commented Jul 24, 2025

Codecov Report

Attention: Patch coverage is 83.42857% with 29 lines in your changes missing coverage. Please review.

Project coverage is 72.76%. Comparing base (04bf3cb) to head (12c4e99).
Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
...ine/common/HierarchicalRoutingSearchProcessor.java 81.90% 3 Missing and 16 partials ⚠️
...ch/ingest/common/HierarchicalRoutingProcessor.java 85.50% 5 Missing and 5 partials ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main   #18826      +/-   ##
============================================
+ Coverage     72.75%   72.76%   +0.01%     
- Complexity    68512    68637     +125     
============================================
  Files          5570     5572       +2     
  Lines        314989   315164     +175     
  Branches      45696    45742      +46     
============================================
+ Hits         229165   229340     +175     
+ Misses        67240    67233       -7     
- Partials      18584    18591       +7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Signed-off-by: Atri Sharma <[email protected]>
@github-actions
Copy link
Contributor

❌ Gradle check result for 12c4e99: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@github-actions
Copy link
Contributor

❌ Gradle check result for 12c4e99: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@atris
Copy link
Contributor Author

atris commented Jul 25, 2025

Flaky tests #14509

@github-actions
Copy link
Contributor

✅ Gradle check result for 12c4e99: SUCCESS

@msfroh msfroh merged commit cdbb76e into opensearch-project:main Jul 25, 2025
35 of 40 checks passed
tandonks pushed a commit to tandonks/OpenSearch that referenced this pull request Aug 5, 2025
…rch-project#18826)

  Implements ingest and search pipeline processors to co-locate related
  documents based on hierarchical paths (e.g., folder structures). Documents
  with same path prefix are routed to same shard, enabling efficient
  search within hierarchies.

  - HierarchicalRoutingProcessor: Routes documents during indexing
  - HierarchicalRoutingSearchProcessor: Routes queries to relevant shards
  - Consistent MurmurHash3-based routing between ingest and search
  - Configurable anchor depth, path separators, and field mapping

---------

Signed-off-by: Atri Sharma <[email protected]>
vinaykpud pushed a commit to vinaykpud/OpenSearch that referenced this pull request Sep 26, 2025
…rch-project#18826)

  Implements ingest and search pipeline processors to co-locate related
  documents based on hierarchical paths (e.g., folder structures). Documents
  with same path prefix are routed to same shard, enabling efficient
  search within hierarchies.

  - HierarchicalRoutingProcessor: Routes documents during indexing
  - HierarchicalRoutingSearchProcessor: Routes queries to relevant shards
  - Consistent MurmurHash3-based routing between ingest and search
  - Configurable anchor depth, path separators, and field mapping

---------

Signed-off-by: Atri Sharma <[email protected]>
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.

2 participants