Problem
An automation workflow to update glossary term owners is failing to process all terms. Out of 1863 glossary terms, only 311 are getting updated. The automation fails with an Elasticsearch error during pagination.
Root Cause
The issue occurs in SearchUtils.searchAfter method where split(",") is used to parse the search_after cursor. When glossary terms contain commas in their fully qualified names, the split logic breaks pagination.
Error Details
metadata.ingestion.ometa.client.APIError: Search failed due to Request failed: [search_phase_execution_exception] all shards failed | Root cause: [illegal_argument_exception: search_after has 2 value(s) but sort has 1.]
The error shows that search_after has 2 values but sort has only 1, indicating the comma in the term name is being incorrectly parsed as a delimiter.
Expected Behavior
Automation should process all glossary terms regardless of special characters (commas, parentheses, etc.) in their names.
Actual Behavior
Automation stops processing when encountering glossary terms with commas in their fully qualified names, resulting in incomplete updates.
Affected Component
SearchUtils.searchAfter method
- Glossary term search pagination logic
Steps to Reproduce
- Create glossary terms with commas in their names
- Run an automation workflow filtering on those glossary terms
- Observe pagination failure during search_after operation
Problem
An automation workflow to update glossary term owners is failing to process all terms. Out of 1863 glossary terms, only 311 are getting updated. The automation fails with an Elasticsearch error during pagination.
Root Cause
The issue occurs in
SearchUtils.searchAftermethod wheresplit(",")is used to parse the search_after cursor. When glossary terms contain commas in their fully qualified names, the split logic breaks pagination.Error Details
The error shows that search_after has 2 values but sort has only 1, indicating the comma in the term name is being incorrectly parsed as a delimiter.
Expected Behavior
Automation should process all glossary terms regardless of special characters (commas, parentheses, etc.) in their names.
Actual Behavior
Automation stops processing when encountering glossary terms with commas in their fully qualified names, resulting in incomplete updates.
Affected Component
SearchUtils.searchAftermethodSteps to Reproduce