You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the user selects a report profile that tries to check a time range (especially before absolute as example) that is not within the searched time range, Zammad will inform the user and not try to run a Elasticsearch query.
Actual behavior:
If the user configures a report profile to check for tickets before a datetime of your current lookup range in reporting, Zammad will throw the Error 500 returned by elasticsearch.
The reason:
If you're looking up a report for 2021 (timerange "from":"2020-12-31T23:00:00Z","to":"2021-12-31T22:59:59Z") but have a condition to check for created_at somewhere in 2020, Elasticsearch will retrun an illegal argument exception:
E, [2021-06-16T07:45:30.943635 #8595-110302320] ERROR -- : Unable to process GET request to elasticsearch URL 'http://127.0.0.1:9200/zammad_production_ticket/_doc/_search'. Check the response and payload for detailed information:
Response:
#<UserAgent::Result:0x00007fc18894b8c0 @success=false, @body="{\"error\":{\"root_cause\":[{\"type\":\"illegal_argument_exception\",\"reason\":\"[1606777200000] must be <= [1599584399999]\"}],\"type\":\"search_phase_execution_exception\",\"reason\":\"all shards failed\",\"phase\":\"query\",\"grouped\":true,\"failed_shards\":[{\"shard\":0,\"index\":\"zammad_production_ticket\",\"node\":\"NOc97AXITKW1AHceYi4aQQ\",\"reason\":{\"type\":\"illegal_argument_exception\",\"reason\":\"[1606777200000] must be <= [1599584399999]\"}}],\"caused_by\":{\"type\":\"illegal_argument_exception\",\"reason\":\"[1606777200000] must be <= [1599584399999]\",\"caused_by\":{\"type\":\"illegal_argument_exception\",\"reason\":\"[1606777200000] must be <= [1599584399999]\"}}},\"status\":400}", @data=nil, @code="400", @content_type=nil, @error="Client Error: #<Net::HTTPBadRequest 400 Bad Request readbody=true>!">
Payload:
{"query":{"bool":{"must":[{"terms":{"state_id":["1","2"]}},{"terms":{"group_id":["9","12","4","1","7"]}},{"range":{"created_at":{"lt":"2020-09-08T17:00:00.000Z"}}},{"range":{"created_at":{"from":"2020-12-31T23:00:00Z","to":"2021-12-31T22:59:59Z"}}}],"must_not":[{"term":{"state.name.keyword":"merged"}}]}},"size":0,"aggs":{"time_buckets":{"date_histogram":{"field":"created_at","interval":"month","time_zone":"Europe/Berlin"}}},"sort":[{"updated_at":{"order":"desc"}},"_score"]}
Payload size: 0M (RuntimeError)
/opt/zammad/lib/search_index_backend.rb:440:in `selectors'
/opt/zammad/lib/report/ticket_generic_time.rb:48:in `aggs'
/opt/zammad/app/controllers/reports_controller.rb:34:in `block in generate'
/opt/zammad/app/controllers/reports_controller.rb:25:in `each'
/opt/zammad/app/controllers/reports_controller.rb:25:in `generate'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/abstract_controller/base.rb:194:in `process_action'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_controller/metal/rendering.rb:30:in `process_action'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/callbacks.rb:109:in `block in run_callbacks'
/opt/zammad/app/controllers/application_controller/has_secure_content_security_policy_for_downloads.rb:18:in `block (4 levels) in <module:HasSecureContentSecurityPolicyForDownloads>'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/notifications.rb:180:in `subscribed'
/opt/zammad/app/controllers/application_controller/has_secure_content_security_policy_for_downloads.rb:17:in `block (3 levels) in <module:HasSecureContentSecurityPolicyForDownloads>'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/notifications.rb:180:in `subscribed'
/opt/zammad/app/controllers/application_controller/has_secure_content_security_policy_for_downloads.rb:16:in `block (2 levels) in <module:HasSecureContentSecurityPolicyForDownloads>'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/callbacks.rb:118:in `instance_exec'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/opt/zammad/app/controllers/application_controller/handles_transitions.rb:14:in `handle_transaction'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/callbacks.rb:136:in `run_callbacks'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/abstract_controller/callbacks.rb:41:in `process_action'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_controller/metal/rescue.rb:22:in `process_action'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/notifications.rb:168:in `block in instrument'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/notifications.rb:168:in `instrument'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
/usr/local/rvm/gems/ruby-2.6.6/gems/activerecord-5.2.4.6/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/abstract_controller/base.rb:134:in `process'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionview-5.2.4.6/lib/action_view/rendering.rb:32:in `process'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_controller/metal.rb:191:in `dispatch'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_controller/metal.rb:252:in `dispatch'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/routing/route_set.rb:34:in `serve'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/journey/router.rb:52:in `block in serve'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/journey/router.rb:35:in `each'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/journey/router.rb:35:in `serve'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/routing/route_set.rb:840:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:420:in `call_app!'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-saml-1.10.1/lib/omniauth/strategies/saml.rb:89:in `other_phase'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:190:in `call!'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/omniauth-1.9.1/lib/omniauth/builder.rb:45:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/rack-2.2.3/lib/rack/tempfile_reaper.rb:15:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/rack-2.2.3/lib/rack/etag.rb:27:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/rack-2.2.3/lib/rack/conditional_get.rb:40:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/rack-2.2.3/lib/rack/head.rb:12:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:266:in `context'
/usr/local/rvm/gems/ruby-2.6.6/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:260:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/middleware/cookies.rb:670:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/callbacks.rb:98:in `run_callbacks'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/railties-5.2.4.6/lib/rails/rack/logger.rb:38:in `call_app'
/usr/local/rvm/gems/ruby-2.6.6/gems/railties-5.2.4.6/lib/rails/rack/logger.rb:26:in `block in call'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/tagged_logging.rb:71:in `block in tagged'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/tagged_logging.rb:28:in `tagged'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/tagged_logging.rb:71:in `tagged'
/usr/local/rvm/gems/ruby-2.6.6/gems/railties-5.2.4.6/lib/rails/rack/logger.rb:26:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/middleware/request_id.rb:27:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/rack-2.2.3/lib/rack/method_override.rb:24:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/rack-2.2.3/lib/rack/runtime.rb:22:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/activesupport-5.2.4.6/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/middleware/executor.rb:14:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/actionpack-5.2.4.6/lib/action_dispatch/middleware/static.rb:127:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/rack-2.2.3/lib/rack/sendfile.rb:110:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/railties-5.2.4.6/lib/rails/engine.rb:524:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/railties-5.2.4.6/lib/rails/railtie.rb:190:in `public_send'
/usr/local/rvm/gems/ruby-2.6.6/gems/railties-5.2.4.6/lib/rails/railtie.rb:190:in `method_missing'
/usr/local/rvm/gems/ruby-2.6.6/gems/puma-4.3.8/lib/puma/configuration.rb:228:in `call'
/usr/local/rvm/gems/ruby-2.6.6/gems/puma-4.3.8/lib/puma/server.rb:718:in `handle_request'
/usr/local/rvm/gems/ruby-2.6.6/gems/puma-4.3.8/lib/puma/server.rb:472:in `process_client'
/usr/local/rvm/gems/ruby-2.6.6/gems/puma-4.3.8/lib/puma/server.rb:328:in `block in run'
/usr/local/rvm/gems/ruby-2.6.6/gems/puma-4.3.8/lib/puma/thread_pool.rb:134:in `block in spawn_thread'
/usr/local/rvm/gems/ruby-2.6.6/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
I, [2021-06-16T07:45:30.946818 #8595-110302320] INFO -- : Completed 500 Internal Server Error in 19ms (Views: 0.2ms | ActiveRecord: 3.0ms)
Steps to reproduce the behavior:
create a report profile with this condition: "ticket.created_at"=>{"operator"=>"before (absolute)", "value"=>"2020-09-08T17:00:00.000Z"}
get reporting from 2021 (year)
Note: This may affect other time based attributes as well which I did not test.
Yes I'm sure this is a bug and no feature request or a general question.
The text was updated successfully, but these errors were encountered:
Infos:
Expected behavior:
If the user selects a report profile that tries to check a time range (especially before absolute as example) that is not within the searched time range, Zammad will inform the user and not try to run a Elasticsearch query.
Actual behavior:
If the user configures a report profile to check for tickets before a datetime of your current lookup range in reporting, Zammad will throw the Error 500 returned by elasticsearch.
The reason:
If you're looking up a report for 2021 (timerange
"from":"2020-12-31T23:00:00Z","to":"2021-12-31T22:59:59Z"
) but have a condition to check forcreated_at
somewhere in 2020, Elasticsearch will retrun an illegal argument exception:Steps to reproduce the behavior:
"ticket.created_at"=>{"operator"=>"before (absolute)", "value"=>"2020-09-08T17:00:00.000Z"}
Note: This may affect other time based attributes as well which I did not test.
Yes I'm sure this is a bug and no feature request or a general question.
The text was updated successfully, but these errors were encountered: