How Can I Resolve an "Error loading pairs" Error Caused By "Result window too large" issue?

This issue relates to all versions of Tamr.

Problem: Sometimes, while loading the “pairs” page, an error dialogue box such as below may show up with a generic error message:

Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]

To pinpoint why the error is occurring, check the elasticsearch_procurify.log located at <TAMR_HOME>/tamr/logs directory. If the error message indicates that the Elasticsearch failed due to “Result window is too large” error (as shown below), follow the steps below to resolve the issue.

(See below for detailed Error message)


Cause: This occurs as the new project doesn’t have the Elasticsearch index max_result_window set to 50000 like all other pre-existing projects.


Resolution: In order to resolve the issue, set the config variable TAMR_ES_MAX_RESULT_WINDOW using admin utility to 50000 and run a curl command to set the index max_result_window to 50000.

Follow these steps:

  1. Set the following configuration variable:
${TAMR_HOME}/tamr/utils/unify-admin.sh config:set TAMR_ES_MAX_RESULT_WINDOW="50000"
  1. Run the following curl command as Tamr functional user on the terminal:
curl -X PUT "localhost:9200/_all/_settings?pretty" -H 'Content-Type: application/json' -d'
{
      "index" : {
            "max_result_window" : 50000
       }
}
'

Detailed Error Message:

! Causing: org.elasticsearch.client.ResponseException: method [POST], host http://localhost:9200, URI /tamr_alias__unified_dataset_XXX/tamr_index_type/_search?typed_keys=true&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&ignore_throttled=true&search_type=query_then_fetch&batched_reduce_size=512, status line [HTTP/1.1 500 Internal Server Error] ! {"error":{"root_cause":[{"type":"query_phase_execution_exception","reason":"Result window is too large, from + size must be less than or equal to: [10000] but was [50000]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting."}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"tamr_project_168","node":"QWGNcQarR02Po5MGa2gcOg","reason":{"type":"query_phase_execution_exception","reason":"Result window is too large, from + size must be less than or equal to: [10000] but was [50000]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting."}}]},"status":500}