docker-compose up server failed to execute workflow because of "XContentType" class is not found
Author: dingliu1Created Nov 28, 2023Updated Dec 7, 2023
Labelstype: bug
Describe the bug docker-compose up server failed to execute workflow because of "XContentType" class is not found.
Details Conductor version: v3.15.0 or the latest Persistence implementation: Cassandra, Postgres, MySQL, Dynomite etc: Postgres Queue implementation: Postgres, MySQL, Dynoqueues etc Lock: Redis or Zookeeper? Workflow definition: Task definition: Event handler definition:
To Reproduce Steps to reproduce the behavior:
- Go to conductor-3.15.0\docker or the latest version\docker
- Execute below command docker-compose -f docker-compose-postgres.yaml build docker-compose -f docker-compose-postgres.yaml up
- Create some sample workflow definition and execute "Definition" -> "New Workflow Definition" -> set sample "uri" e.g. uri": "https://datausa.io/api/data?drilldowns=Nation&measures=Population",drilldowns=Nation&measures=Population", Save the definition -> Go to "Workbench" -> choose just created workflow name -> click execute Now the conductor server logs report: "org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/elasticsearch/common/xcontent/XContentType"
- The root cause seems that: The Dockerfile packaged "conductor-server.jar\BOOT-INF\lib" I can see elasticsearch-x-content-7.17.13.jar, the "XContentType" class is re-packaged. https://stackoverflow.com/questions/72428790/xcontenttype-is-removed-from-elasticsearch-ver-7-17-3
Expected behavior docker-compose inside docker/server folder should work at any time
Screenshots If applicable, add screenshots to help explain your problem.
Additional context Add any other context about the problem here.
Source: Netflix/conductor