HTTP 400 error when trying to rebuild search index

Hi, I have installed Zammad using an Ansible role I’ve written (see the elastic search tasks in this role and also the elastic search role) and it all seems to work apart from the last rebuilding of the search index step.

Infos:

  • Used Zammad version: stable
  • Used Zammad installation source: source
  • Operating system: Debian Buster

Expected behavior:

  • Search index rebuilt

Actual behavior:

drop indexes...done
delete pipeline (pipeline)... done
create indexes...done
create pipeline (pipeline)... rake aborted!
Unable to process put request to elasticsearch URL 'http://localhost:9200/_ingest/pipeline/zammad258231011319'. Check the response and payload for detailed information:

Response:
#<UserAgent::Result:0x000055f8e682db08 @success=false, @body="{\"error\":{\"root_cause\":[{\"type\":\"parse_exception\",\"reason\":\"No processor type exists with name [attachment]\",\"processor_type\":\"foreach\",\"suppressed\":[{\"type\":\"parse_exception\",\"reason\":\"No processor type exists with name [attachment]\",\"processor_type\":\"foreach\"}]}],\"type\":\"parse_exception\",\"reason\":\"No processor type exists with name [attachment]\",\"processor_type\":\"foreach\",\"suppressed\":[{\"type\":\"parse_exception\",\"reason\":\"No processor type exists with name [attachment]\",\"processor_type\":\"foreach\"}]},\"status\":400}", @data=nil, @code="400", @content_type=nil, @error="Client Error: #<Net::HTTPBadRequest 400 Bad Request readbody=true>!">                                                                                                             

Payload:
{"description":"Extract zammad-attachment information from arrays","processors":[{"foreach":{"field":"article","processor":{"foreach":{"field":"_ingest._value.attachment","processor":{"attachment":{"target_field":"_ingest._value","field":"_ingest._value._content","ignore_failure":true,"ignore_missing":true}},"ignore_failure":true,"ignore_missing":true}},"ignore_failure":true,"ignore_missing":true}},{"foreach":{"field":"attachment","processor":{"attachment":{"target_field":"_ingest._value","field":"_ingest._value._content","ignore_failure":true,"ignore_missing":true}},"ignore_failure":true,"ignore_missing":true}}]}

Payload size: 0M
/opt/zammad/lib/search_index_backend.rb:927:in `make_request_and_validate'
/opt/zammad/lib/search_index_backend.rb:84:in `block (2 levels) in processors'
/opt/zammad/lib/search_index_backend.rb:68:in `each'
/opt/zammad/lib/search_index_backend.rb:68:in `block in processors'
/opt/zammad/lib/search_index_backend.rb:65:in `each'
/opt/zammad/lib/search_index_backend.rb:65:in `processors'
/opt/zammad/lib/tasks/search_index_es.rake:95:in `block (2 levels) in <main>'
/opt/zammad/lib/tasks/search_index_es.rake:67:in `block (2 levels) in <main>'
/opt/zammad/lib/tasks/search_index_es.rake:177:in `block (2 levels) in <main>'
Tasks: TOP => searchindex:rebuild
(See full trace by running task with --trace)

The results with --trace:

** Invoke searchindex:rebuild (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke searchindex:configured (first_time)
** Invoke environment 
** Execute searchindex:configured
** Invoke searchindex:version_supported (first_time)
** Invoke environment 
** Execute searchindex:version_supported
** Execute searchindex:rebuild
** Execute searchindex:drop
drop indexes...done
** Execute searchindex:drop_pipeline
delete pipeline (pipeline)... done
** Execute searchindex:create
create indexes...done
** Execute searchindex:create_pipeline
create pipeline (pipeline)... rake aborted!
Unable to process put request to elasticsearch URL 'http://localhost:9200/_ingest/pipeline/zammad258231011319'. Check the response and payload for detailed information: 

Response:
#<UserAgent::Result:0x0000557cc36c9978 @success=false, @body="{\"error\":{\"root_cause\":[{\"type\":\"parse_exception\",\"reason\":\"No processor type exists with name [attachment]\",\"processor_type\":\"foreach\",\"suppressed\":[{\"type\":\"parse_exception\",\"reason\":\"No processor type exists with name [attachment]\",\"processor_type\":\"foreach\"}]}],\"type\":\"parse_exception\",\"reason\":\"No processor type exists with name [attachment]\",\"processor_type\":\"foreach\",\"suppressed\":[{\"type\":\"parse_exception\",\"reason\":\"No processor type exists with name [attachment]\",\"processor_type\":\"foreach\"}]},\"status\":400}", @data=nil, @code="400", @content_type=nil, @error="Client Error: #<Net::HTTPBadRequest 400 Bad Request readbody=true>!">

Payload:
{"description":"Extract zammad-attachment information from arrays","processors":[{"foreach":{"field":"article","processor":{"foreach":{"field":"_ingest._value.attachment","processor":{"attachment":{"target_field":"_ingest._value","field":"_ingest._value._content","ignore_failure":true,"ignore_missing":true}},"ignore_failure":true,"ignore_missing":true}},"ignore_failure":true,"ignore_missing":true}},{"foreach":{"field":"attachment","processor":{"attachment":{"target_field":"_ingest._value","field":"_ingest._value._content","ignore_failure":true,"ignore_missing":true}},"ignore_failure":true,"ignore_missing":true}}]}

Payload size: 0M
/opt/zammad/lib/search_index_backend.rb:927:in `make_request_and_validate'
/opt/zammad/lib/search_index_backend.rb:84:in `block (2 levels) in processors'
/opt/zammad/lib/search_index_backend.rb:68:in `each'
/opt/zammad/lib/search_index_backend.rb:68:in `block in processors'
/opt/zammad/lib/search_index_backend.rb:65:in `each'
/opt/zammad/lib/search_index_backend.rb:65:in `processors'
/opt/zammad/lib/tasks/search_index_es.rake:95:in `block (2 levels) in <main>'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `block in execute'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `each'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `execute'
/opt/zammad/lib/tasks/search_index_es.rake:67:in `block (2 levels) in <main>'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `block in execute'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `each'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `execute'
/opt/zammad/lib/tasks/search_index_es.rake:177:in `block (2 levels) in <main>'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `block in execute'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `each'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `execute'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:194:in `invoke_with_call_chain'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/task.rb:183:in `invoke'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/application.rb:160:in `invoke_task'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/application.rb:116:in `each'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/application.rb:116:in `block in top_level'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/application.rb:125:in `run_with_threads'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/application.rb:110:in `top_level'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/application.rb:83:in `block in run'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/application.rb:186:in `standard_exception_handling'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/lib/rake/application.rb:80:in `run'
/opt/zammad/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rake-12.3.3/exe/rake:27:in `<top (required)>'
/opt/zammad/.rbenv/versions/2.6.6/bin/rake:23:in `load'
/opt/zammad/.rbenv/versions/2.6.6/bin/rake:23:in `<main>'
Tasks: TOP => searchindex:rebuild

Steps to reproduce the behavior:

su - zammad
export RAILS_ENV=production
rake searchindex:rebuild

I fear I might be missing something obvious here?

I was missing something, a restart appears to have been all that was needed.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.