Exporting environment variables Exporting CI Exporting COVERALLS_REPO_TOKEN Exporting DATABASE_URL Exporting DISPLAY Exporting ELASTICSEARCH_VERSION Exporting ELIXIR_VERSION Exporting MIX_ENV Exporting PAGER Exporting SEMAPHORE Exporting SEMAPHORE_AGENT_MACHINE_ENVIRONMENT_TYPE Exporting SEMAPHORE_AGENT_MACHINE_OS_IMAGE Exporting SEMAPHORE_AGENT_MACHINE_TYPE Exporting SEMAPHORE_ARTIFACT_TOKEN Exporting SEMAPHORE_CACHE_BACKEND Exporting SEMAPHORE_CACHE_PRIVATE_KEY_PATH Exporting SEMAPHORE_CACHE_URL Exporting SEMAPHORE_CACHE_USERNAME Exporting SEMAPHORE_GIT_BRANCH Exporting SEMAPHORE_GIT_COMMIT_RANGE Exporting SEMAPHORE_GIT_DIR Exporting SEMAPHORE_GIT_PROVIDER Exporting SEMAPHORE_GIT_REF Exporting SEMAPHORE_GIT_REF_TYPE Exporting SEMAPHORE_GIT_REPO_NAME Exporting SEMAPHORE_GIT_REPO_SLUG Exporting SEMAPHORE_GIT_SHA Exporting SEMAPHORE_GIT_URL Exporting SEMAPHORE_GIT_WORKING_BRANCH Exporting SEMAPHORE_JOB_ID Exporting SEMAPHORE_JOB_NAME Exporting SEMAPHORE_ORGANIZATION_URL Exporting SEMAPHORE_PIPELINE_0_ARTEFACT_ID Exporting SEMAPHORE_PIPELINE_ARTEFACT_ID Exporting SEMAPHORE_PIPELINE_ID Exporting SEMAPHORE_PIPELINE_PROMOTED_BY Exporting SEMAPHORE_PIPELINE_PROMOTION Exporting SEMAPHORE_PIPELINE_RERUN Exporting SEMAPHORE_PROJECT_ID Exporting SEMAPHORE_PROJECT_NAME Exporting SEMAPHORE_TOOLBOX_METRICS_ENABLED Exporting SEMAPHORE_WORKFLOW_HOOK_SOURCE Exporting SEMAPHORE_WORKFLOW_ID Exporting SEMAPHORE_WORKFLOW_NUMBER Exporting SEMAPHORE_WORKFLOW_RERUN Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY_API Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY_HOOK Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY_SCHEDULE Exporting SSH_PRIVATE_KEY_PATH Exporting TERM Injecting Files Injecting /home/semaphore/.ssh/semaphore_cache_key with file mode 0600 Injecting /home/semaphore/.ssh/id_rsa with file mode 0600 Setting up the Semaphore toolbox Running: dowloadPath=$(curl -s -L --retry 5 http://packages.semaphoreci.com/toolbox/linux) && echo $dowloadPath && curl -s -L --retry 5 --connect-timeout 3 $dowloadPath -o /tmp/toolbox.tar && tar -xvf /tmp/toolbox.tar && mv toolbox ~/.toolbox && bash ~/.toolbox/install-toolbox && source ~/.toolbox/toolbox && echo 'source ~/.toolbox/toolbox' >> ~/.bash_profile && if [ -f /etc/init.d/xvfb ]; then /etc/init.d/xvfb start; fi http://packages.semaphoreci.com/toolbox/releases/download/v1.19.10/linux.tar toolbox/ toolbox/sem-version toolbox/spc toolbox/sem-service toolbox/sem-context toolbox/artifact toolbox/test-results toolbox/toolbox toolbox/sem-install toolbox/install-toolbox toolbox/enetwork toolbox/install-package toolbox/retry toolbox/sem-semantic-release toolbox/system-metrics-collector toolbox/Dockerfile.dev toolbox/ssh-session-cli toolbox/libchecksum toolbox/cache toolbox/libcheckout toolbox/README.md toolbox/when toolbox/sem-dockerize toolbox/sem-service-check-params retry installed ssh-session-cli installed cache installed sem-context installed sem-service installed sem-dockerize installed sem-service-check-params installed sem-semantic-release installed install-package installed Installing the artifacts CLI artifacts installed Installing the test results CLI test-results installed Installing the SPC CLI spc installed Installing the when CLI when installed Installing the enetwork CLI when installed Starting to collect System Metrics in /tmp/system-metrics Starting virtual X frame buffer: Xvfb. Starting an ssh-agent Running: eval `ssh-agent` && echo 'eval $(ssh-agent) >/dev/null' >> ~/.bash_profile && echo 'yes' > /tmp/sempahore-user-commands-have-started Agent pid 5182 Connecting to cache Running: (ssh-keyscan -p 29920 -H 94.130.123.200 >> /home/semaphore/.ssh/known_hosts || true) && ssh-add /home/semaphore/.ssh/semaphore_cache_key # 94.130.123.200:29920 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 # 94.130.123.200:29920 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 # 94.130.123.200:29920 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 Identity added: /home/semaphore/.ssh/semaphore_cache_key (/home/semaphore/.ssh/semaphore_cache_key) sem-version elixir $ELIXIR_VERSION [14:36 01/10/2022]: Changing 'elixir' to version 1.14.0 Using 1.14.0 [14:36 01/10/2022]: Switch successful. sem-service start postgres Starting postgres...done. PostgreSQL 9.6 is running at 0.0.0.0:5432 To access it use username 'postgres' and blank password. sem-service start elasticsearch $ELASTICSEARCH_VERSION Starting elasticsearch...done. elasticsearch 7.12.0 is accessible at 0.0.0.0:9200 and 0.0.0.0:9300 checkout Performing shallow clone with depth: 50 HEAD is now at c58e048 :white_check_mark: Remove exception doctest cache restore Detected mix.lock. Fetching 'deps' directory with cache keys 'mix-deps-upgrades-9141691796ff09ed29fba464cad823ae,mix-deps-upgrades,mix-deps-master,mix-deps-main'... MISS: 'mix-deps-upgrades-9141691796ff09ed29fba464cad823ae'. MISS: 'mix-deps-upgrades'. MISS: 'mix-deps-master'. MISS: 'mix-deps-main'. Fetching '_build' directory with cache keys 'mix-build-upgrades-9141691796ff09ed29fba464cad823ae,mix-build-upgrades,mix-build-master,mix-build-main'... MISS: 'mix-build-upgrades-9141691796ff09ed29fba464cad823ae'. MISS: 'mix-build-upgrades'. MISS: 'mix-build-master'. MISS: 'mix-build-main'. mix local.hex --force * creating /home/semaphore/.kiex/mix/archives/elixir-1.14.0/hex-1.0.1 mix local.rebar --force * creating /home/semaphore/.mix/elixir/1-14/rebar3 mix deps.get Resolving Hex dependencies... Dependency resolution completed: Unchanged: certifi 2.9.0 connection 1.1.0 db_connection 2.4.2 decimal 2.0.0 earmark_parser 1.4.27 ecto 3.9.0 ecto_sql 3.9.0 ex_doc 0.28.5 excoveralls 0.14.6 hackney 1.18.1 httpoison 1.8.2 idna 6.1.1 jason 1.4.0 makeup 1.1.0 makeup_elixir 0.16.0 makeup_erlang 0.1.1 metrics 1.0.1 mimerl 1.2.0 nimble_parsec 1.2.3 parse_trans 3.3.1 poison 5.0.0 postgrex 0.16.5 sigaws_otp_24 1.0.0 ssl_verify_fun 1.1.6 telemetry 1.1.0 unicode_util_compat 0.7.0 vex 0.9.0 * Getting poison (Hex package) * Getting httpoison (Hex package) * Getting telemetry (Hex package) * Getting vex (Hex package) * Getting sigaws_otp_24 (Hex package) * Getting postgrex (Hex package) * Getting ex_doc (Hex package) * Getting ecto (Hex package) * Getting ecto_sql (Hex package) * Getting excoveralls (Hex package) * Getting hackney (Hex package) * Getting jason (Hex package) * Getting certifi (Hex package) * Getting idna (Hex package) * Getting metrics (Hex package) * Getting mimerl (Hex package) * Getting parse_trans (Hex package) * Getting ssl_verify_fun (Hex package) * Getting unicode_util_compat (Hex package) * Getting db_connection (Hex package) * Getting connection (Hex package) * Getting decimal (Hex package) * Getting earmark_parser (Hex package) * Getting makeup_elixir (Hex package) * Getting makeup_erlang (Hex package) * Getting makeup (Hex package) * Getting nimble_parsec (Hex package) bin/test ==> earmark_parser Compiling 1 file (.yrl) Compiling 2 files (.xrl) Compiling 3 files (.erl) Compiling 47 files (.ex) Generated earmark_parser app ==> connection Compiling 1 file (.ex) Generated connection app ==> decimal Compiling 4 files (.ex) Generated decimal app ==> nimble_parsec Compiling 4 files (.ex) Generated nimble_parsec app ==> sigaws_otp_24 Compiling 8 files (.ex) Generated sigaws_otp_24 app ===> Analyzing applications... ===> Compiling unicode_util_compat ===> Analyzing applications... ===> Compiling idna ===> Analyzing applications... ===> Compiling telemetry ==> poison Compiling 4 files (.ex) warning: use Bitwise is deprecated. import Bitwise instead lib/poison/parser.ex:65: Poison.Parser warning: use Bitwise is deprecated. import Bitwise instead lib/poison/encoder.ex:112: Poison.Encoder.BitString Compiling lib/poison/parser.ex (it's taking more than 10s) Generated poison app ==> jason Compiling 10 files (.ex) Generated jason app ==> db_connection Compiling 14 files (.ex) Generated db_connection app ===> Analyzing applications... ===> Compiling mimerl ==> ssl_verify_fun Compiling 7 files (.erl) Generated ssl_verify_fun app ===> Analyzing applications... ===> Compiling certifi ==> ecto Compiling 56 files (.ex) Generated ecto app ==> postgrex Compiling 64 files (.ex) Generated postgrex app ==> makeup Compiling 44 files (.ex) Generated makeup app ==> makeup_elixir Compiling 6 files (.ex) Generated makeup_elixir app ==> makeup_erlang Compiling 3 files (.ex) warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead lib/makeup/lexers/erlang_lexer.ex:250: Makeup.Lexers.ErlangLexer Generated makeup_erlang app ==> ex_doc Compiling 25 files (.ex) Generated ex_doc app ===> Analyzing applications... ===> Compiling parse_trans ==> vex Compiling 25 files (.ex) Generated vex app ==> ecto_sql Compiling 25 files (.ex) Generated ecto_sql app ===> Analyzing applications... ===> Compiling metrics ===> Analyzing applications... ===> Compiling hackney ==> excoveralls Compiling 28 files (.ex) Generated excoveralls app ==> httpoison Compiling 3 files (.ex) Generated httpoison app ==> elasticsearch Compiling 21 files (.ex) Generated elasticsearch app Generating docs... warning: documentation references function "Elasticsearch.Index.hot_swap/4" but it is undefined or private lib/mix/elasticsearch.build.ex:2: Mix.Tasks.Elasticsearch.Build warning: documentation references type "Elasticsearch.Store.t()" but it is undefined or private lib/elasticsearch/indexing/bulk.ex:79: Elasticsearch.Index.Bulk.upload/4 warning: documentation references type "Stream.t()" but it is undefined or private lib/elasticsearch/storage/store.ex:6: c:Elasticsearch.Store.stream/1 warning: documentation references function "Elasticsearch.Index.hot_swap/5" but it is undefined or private guides/upgrading/0.3.x_to_0.4.x.md warning: documentation references function "Elasticsearch.Index.hot_swap/3" but it is undefined or private guides/upgrading/0.3.x_to_0.4.x.md warning: documentation references function "Elasticsearch.Index.hot_swap/5" but it is undefined or private guides/upgrading/0.3.x_to_0.4.x.md warning: documentation references function "Elasticsearch.Index.hot_swap/3" but it is undefined or private guides/upgrading/0.3.x_to_0.4.x.md View "html" docs at "doc/index.html" warning: documentation references function "Elasticsearch.Index.hot_swap/4" but it is undefined or private lib/mix/elasticsearch.build.ex:2: Mix.Tasks.Elasticsearch.Build warning: documentation references type "Elasticsearch.Store.t()" but it is undefined or private lib/elasticsearch/indexing/bulk.ex:79: Elasticsearch.Index.Bulk.upload/4 warning: documentation references type "Stream.t()" but it is undefined or private lib/elasticsearch/storage/store.ex:6: c:Elasticsearch.Store.stream/1 warning: documentation references function "Elasticsearch.Index.hot_swap/5" but it is undefined or private guides/upgrading/0.3.x_to_0.4.x.md warning: documentation references function "Elasticsearch.Index.hot_swap/3" but it is undefined or private guides/upgrading/0.3.x_to_0.4.x.md warning: documentation references function "Elasticsearch.Index.hot_swap/5" but it is undefined or private guides/upgrading/0.3.x_to_0.4.x.md warning: documentation references function "Elasticsearch.Index.hot_swap/3" but it is undefined or private guides/upgrading/0.3.x_to_0.4.x.md View "epub" docs at "doc/elasticsearch.epub" .. 1) test .run respects --bulk options (Mix.Tasks.Elasticsearch.BuildTest) test/mix/elasticsearch.build_test.exs:201 ** (Mix.Error) Index posts could not be created. %Elasticsearch.Exception{status: 400, line: nil, col: nil, message: "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", type: "illegal_argument_exception", query: nil, raw: %{"error" => %{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "root_cause" => [%{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "type" => "illegal_argument_exception"}], "type" => "illegal_argument_exception"}, "status" => 400}}  code: capture_log([level: :debug], fn -> stacktrace: (mix 1.14.0) lib/mix.ex:513: Mix.raise/2 (elasticsearch 1.0.1) lib/mix/elasticsearch.build.ex:62: anonymous fn/4 in Mix.Tasks.Elasticsearch.Build.run/1 (elixir 1.14.0) lib/enum.ex:4307: anonymous fn/3 in Enum.reduce/3 (elixir 1.14.0) lib/enum.ex:4751: Enumerable.List.reduce/3 (elixir 1.14.0) lib/enum.ex:4307: Enum.reduce/3 (elasticsearch 1.0.1) lib/mix/elasticsearch.build.ex:61: Mix.Tasks.Elasticsearch.Build.run/1 (mix 1.14.0) lib/mix/task.ex:421: anonymous fn/3 in Mix.Task.run_task/4 (ex_unit 1.14.0) lib/ex_unit/capture_log.ex:108: ExUnit.CaptureLog.with_log/2 (ex_unit 1.14.0) lib/ex_unit/capture_log.ex:77: ExUnit.CaptureLog.capture_log/2 test/mix/elasticsearch.build_test.exs:207: (test) 2) test .run builds configured index (Mix.Tasks.Elasticsearch.BuildTest) test/mix/elasticsearch.build_test.exs:186 ** (Mix.Error) Index posts could not be created. %Elasticsearch.Exception{status: 400, line: nil, col: nil, message: "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", type: "illegal_argument_exception", query: nil, raw: %{"error" => %{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "root_cause" => [%{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "type" => "illegal_argument_exception"}], "type" => "illegal_argument_exception"}, "status" => 400}}  code: capture_log([level: :debug], fn -> stacktrace: (mix 1.14.0) lib/mix.ex:513: Mix.raise/2 (elasticsearch 1.0.1) lib/mix/elasticsearch.build.ex:62: anonymous fn/4 in Mix.Tasks.Elasticsearch.Build.run/1 (elixir 1.14.0) lib/enum.ex:4307: anonymous fn/3 in Enum.reduce/3 (elixir 1.14.0) lib/enum.ex:4751: Enumerable.List.reduce/3 (elixir 1.14.0) lib/enum.ex:4307: Enum.reduce/3 (elasticsearch 1.0.1) lib/mix/elasticsearch.build.ex:61: Mix.Tasks.Elasticsearch.Build.run/1 (mix 1.14.0) lib/mix/task.ex:421: anonymous fn/3 in Mix.Task.run_task/4 (ex_unit 1.14.0) lib/ex_unit/capture_log.ex:108: ExUnit.CaptureLog.with_log/2 (ex_unit 1.14.0) lib/ex_unit/capture_log.ex:77: ExUnit.CaptureLog.capture_log/2 test/mix/elasticsearch.build_test.exs:192: (test) 3) test .run --existing checks if index exists (Mix.Tasks.Elasticsearch.BuildTest) test/mix/elasticsearch.build_test.exs:233 ** (Mix.Error) Index posts could not be created. %Elasticsearch.Exception{status: 400, line: nil, col: nil, message: "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", type: "illegal_argument_exception", query: nil, raw: %{"error" => %{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "root_cause" => [%{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "type" => "illegal_argument_exception"}], "type" => "illegal_argument_exception"}, "status" => 400}}  code: rerun("elasticsearch.build", ["posts"] ++ @cluster_opts) stacktrace: (mix 1.14.0) lib/mix.ex:513: Mix.raise/2 (elasticsearch 1.0.1) lib/mix/elasticsearch.build.ex:62: anonymous fn/4 in Mix.Tasks.Elasticsearch.Build.run/1 (elixir 1.14.0) lib/enum.ex:4307: anonymous fn/3 in Enum.reduce/3 (elixir 1.14.0) lib/enum.ex:4751: Enumerable.List.reduce/3 (elixir 1.14.0) lib/enum.ex:4307: Enum.reduce/3 (elasticsearch 1.0.1) lib/mix/elasticsearch.build.ex:61: Mix.Tasks.Elasticsearch.Build.run/1 (mix 1.14.0) lib/mix/task.ex:421: anonymous fn/3 in Mix.Task.run_task/4 test/mix/elasticsearch.build_test.exs:234: (test) 4) test .run only keeps two index versions (Mix.Tasks.Elasticsearch.BuildTest) test/mix/elasticsearch.build_test.exs:219 ** (Mix.Error) Index posts could not be created. %Elasticsearch.Exception{status: 400, line: nil, col: nil, message: "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", type: "illegal_argument_exception", query: nil, raw: %{"error" => %{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "root_cause" => [%{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "type" => "illegal_argument_exception"}], "type" => "illegal_argument_exception"}, "status" => 400}}  code: for _ <- 1..3 do stacktrace: (mix 1.14.0) lib/mix.ex:513: Mix.raise/2 (elasticsearch 1.0.1) lib/mix/elasticsearch.build.ex:62: anonymous fn/4 in Mix.Tasks.Elasticsearch.Build.run/1 (elixir 1.14.0) lib/enum.ex:4307: anonymous fn/3 in Enum.reduce/3 (elixir 1.14.0) lib/enum.ex:4751: Enumerable.List.reduce/3 (elixir 1.14.0) lib/enum.ex:4307: Enum.reduce/3 (elasticsearch 1.0.1) lib/mix/elasticsearch.build.ex:61: Mix.Tasks.Elasticsearch.Build.run/1 (mix 1.14.0) lib/mix/task.ex:421: anonymous fn/3 in Mix.Task.run_task/4 test/mix/elasticsearch.build_test.exs:221: anonymous fn/2 in Mix.Tasks.Elasticsearch.BuildTest."test .run only keeps two index versions"/1 (elixir 1.14.0) lib/enum.ex:4299: Enum.reduce_range/5 test/mix/elasticsearch.build_test.exs:220: (test) ..... 5) test .run --existing rebuilds the index if it doesn't exist (Mix.Tasks.Elasticsearch.BuildTest) test/mix/elasticsearch.build_test.exs:244 ** (Mix.Error) Index posts could not be created. %Elasticsearch.Exception{status: 400, line: nil, col: nil, message: "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", type: "illegal_argument_exception", query: nil, raw: %{"error" => %{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "root_cause" => [%{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "type" => "illegal_argument_exception"}], "type" => "illegal_argument_exception"}, "status" => 400}}  code: capture_io(fn -> stacktrace: (mix 1.14.0) lib/mix.ex:513: Mix.raise/2 (elasticsearch 1.0.1) lib/mix/elasticsearch.build.ex:62: anonymous fn/4 in Mix.Tasks.Elasticsearch.Build.run/1 (elixir 1.14.0) lib/enum.ex:4307: anonymous fn/3 in Enum.reduce/3 (elixir 1.14.0) lib/enum.ex:4751: Enumerable.List.reduce/3 (elixir 1.14.0) lib/enum.ex:4307: Enum.reduce/3 (elasticsearch 1.0.1) lib/mix/elasticsearch.build.ex:61: Mix.Tasks.Elasticsearch.Build.run/1 (mix 1.14.0) lib/mix/task.ex:421: anonymous fn/3 in Mix.Task.run_task/4 (ex_unit 1.14.0) lib/ex_unit/capture_io.ex:272: ExUnit.CaptureIO.do_capture_gl/2 (ex_unit 1.14.0) lib/ex_unit/capture_io.ex:230: ExUnit.CaptureIO.do_with_io/3 (ex_unit 1.14.0) lib/ex_unit/capture_io.ex:106: ExUnit.CaptureIO.capture_io/1 test/mix/elasticsearch.build_test.exs:248: (test) .. 6) doctest Elasticsearch.get/3 (8) (ElasticsearchTest) test/elasticsearch_test.exs:9 Doctest failed doctest: iex> Elasticsearch.get(Cluster, "/nonexistent") {:error, %Elasticsearch.Exception{col: nil, line: nil, message: "no such index", query: nil, raw: %{"error" => %{"index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "root_cause" => [%{"index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "type" => "index_not_found_exception"}], "type" => "index_not_found_exception"}, "status" => 404}, status: 404, type: "index_not_found_exception"}} code: Elasticsearch.get(Cluster, "/nonexistent") === {:error, %Elasticsearch.Exception{col: nil, line: nil, message: "no such index", query: nil, raw: %{"error" => %{"index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "root_cause" => [%{"index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "type" => "index_not_found_exception"}], "type" => "index_not_found_exception"}, "status" => 404}, status: 404, type: "index_not_found_exception"}} left: { :error, %Elasticsearch.Exception{ __exception__: true, col: nil, line: nil, message: "no such index [nonexistent]", query: nil, raw: %{ "error" => %{ "index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index [nonexistent]", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "root_cause" => [ %{ "index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index [nonexistent]", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "type" => "index_not_found_exception" } ], "type" => "index_not_found_exception" }, "status" => 404 }, status: 404, type: "index_not_found_exception" } } right: { :error, %Elasticsearch.Exception{ __exception__: true, col: nil, line: nil, message: "no such index", query: nil, raw: %{ "error" => %{ "index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "root_cause" => [ %{ "index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "type" => "index_not_found_exception" } ], "type" => "index_not_found_exception" }, "status" => 404 }, status: 404, type: "index_not_found_exception" } } stacktrace: lib/elasticsearch.ex:229: Elasticsearch (module) 7) doctest Elasticsearch.head/3 (11) (ElasticsearchTest) test/elasticsearch_test.exs:9 Doctest failed doctest: iex> Index.create_from_file(Cluster, "posts", "test/support/settings/posts.json") ...> Elasticsearch.head(Cluster, "/posts") {:ok, ""} code: Elasticsearch.head(Cluster, "/posts") === {:ok, ""} left: { :error, %Elasticsearch.Exception{status: nil, line: nil, col: nil, message: "", type: nil, query: nil, raw: nil} } right: {:ok, ""} stacktrace: lib/elasticsearch.ex:451: Elasticsearch (module) 8) doctest Elasticsearch.delete!/3 (3) (ElasticsearchTest) test/elasticsearch_test.exs:9 ** (Elasticsearch.Exception) (index_not_found_exception) no such index [posts] stacktrace: (elasticsearch 1.0.1) lib/elasticsearch.ex:523: Elasticsearch.unwrap!/1 (for doctest at) lib/elasticsearch.ex:430: (test) 9) doctest Elasticsearch.post!/4 (16) (ElasticsearchTest) test/elasticsearch_test.exs:9 ** (Elasticsearch.Exception) (index_not_found_exception) no such index [posts] stacktrace: (elasticsearch 1.0.1) lib/elasticsearch.ex:523: Elasticsearch.unwrap!/1 (for doctest at) lib/elasticsearch.ex:369: (test) . 10) doctest Elasticsearch.delete/3 (2) (ElasticsearchTest) test/elasticsearch_test.exs:9 Doctest failed doctest: iex> Elasticsearch.delete(Cluster, "/nonexistent") {:error, %Elasticsearch.Exception{col: nil, line: nil, message: "no such index", query: nil, raw: %{"error" => %{"index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "root_cause" => [%{"index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "type" => "index_not_found_exception"}], "type" => "index_not_found_exception"}, "status" => 404}, status: 404, type: "index_not_found_exception"}} code: Elasticsearch.delete(Cluster, "/nonexistent") === {:error, %Elasticsearch.Exception{col: nil, line: nil, message: "no such index", query: nil, raw: %{"error" => %{"index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "root_cause" => [%{"index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "type" => "index_not_found_exception"}], "type" => "index_not_found_exception"}, "status" => 404}, status: 404, type: "index_not_found_exception"}} left: { :error, %Elasticsearch.Exception{ __exception__: true, col: nil, line: nil, message: "no such index [nonexistent]", query: nil, raw: %{ "error" => %{ "index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index [nonexistent]", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "root_cause" => [ %{ "index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index [nonexistent]", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "type" => "index_not_found_exception" } ], "type" => "index_not_found_exception" }, "status" => 404 }, status: 404, type: "index_not_found_exception" } } right: { :error, %Elasticsearch.Exception{ __exception__: true, col: nil, line: nil, message: "no such index", query: nil, raw: %{ "error" => %{ "index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "root_cause" => [ %{ "index" => "nonexistent", "index_uuid" => "_na_", "reason" => "no such index", "resource.id" => "nonexistent", "resource.type" => "index_or_alias", "type" => "index_not_found_exception" } ], "type" => "index_not_found_exception" }, "status" => 404 }, status: 404, type: "index_not_found_exception" } } stacktrace: lib/elasticsearch.ex:398: Elasticsearch (module) . 11) doctest Elasticsearch.delete!/3 (4) (ElasticsearchTest) test/elasticsearch_test.exs:9 Doctest failed: wrong message for Elasticsearch.Exception expected: "(index_not_found_exception) no such index" actual: "(index_not_found_exception) no such index [nonexistent]" doctest: iex> Elasticsearch.delete!(Cluster, "/nonexistent") ** (Elasticsearch.Exception) "(index_not_found_exception) no such index" stacktrace: lib/elasticsearch.ex:435: Elasticsearch (module) ...... 12) doctest Elasticsearch.head!/3 (13) (ElasticsearchTest) test/elasticsearch_test.exs:9 ** (Elasticsearch.Exception)  stacktrace: (elasticsearch 1.0.1) lib/elasticsearch.ex:523: Elasticsearch.unwrap!/1 (for doctest at) lib/elasticsearch.ex:485: (test) . 13) doctest Elasticsearch.post/4 (15) (ElasticsearchTest) test/elasticsearch_test.exs:9 match (=) failed code: {:ok, resp} = Elasticsearch.post(Cluster, "/posts/_search", query) left: {:ok, resp} right: { :error, %Elasticsearch.Exception{status: 404, line: nil, col: nil, message: "no such index [posts]", type: "index_not_found_exception", query: nil, raw: %{"error" => %{"index" => "posts", "index_uuid" => "_na_", "reason" => "no such index [posts]", "resource.id" => "posts", "resource.type" => "index_or_alias", "root_cause" => [%{"index" => "posts", "index_uuid" => "_na_", "reason" => "no such index [posts]", "resource.id" => "posts", "resource.type" => "index_or_alias", "type" => "index_not_found_exception"}], "type" => "index_not_found_exception"}, "status" => 404}} } stacktrace: (for doctest at) lib/elasticsearch.ex:348: (test) . 14) test .post_document/3 does not post ID when ID is nil (ElasticsearchTest) test/elasticsearch_test.exs:57 match (=) failed code: assert :ok = Elasticsearch.Index.create_from_file(Cluster, "posts-id", "test/support/settings/posts.json") left: :ok right: {:error, %Elasticsearch.Exception{status: 400, line: nil, col: nil, message: "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", type: "illegal_argument_exception", query: nil, raw: %{"error" => %{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "root_cause" => [%{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "type" => "illegal_argument_exception"}], "type" => "illegal_argument_exception"}, "status" => 400}}} stacktrace: test/elasticsearch_test.exs:60: (test) . 15) doctest Elasticsearch.post!/4 (17) (ElasticsearchTest) test/elasticsearch_test.exs:9 Doctest failed: wrong message for Elasticsearch.Exception expected: "(index_not_found_exception) no such index" actual: "(index_not_found_exception) no such index [nonexistent]" doctest: iex> query = %{"query" => %{"match_all" => %{}}} ...> Elasticsearch.post!(Cluster, "/nonexistent/_search", query) ** (Elasticsearch.Exception) "(index_not_found_exception) no such index" stacktrace: lib/elasticsearch.ex:375: Elasticsearch (module) 16) doctest Elasticsearch.get!/3 (10) (ElasticsearchTest) test/elasticsearch_test.exs:9 Doctest failed: wrong message for Elasticsearch.Exception expected: "(index_not_found_exception) no such index" actual: "(index_not_found_exception) no such index [nonexistent]" doctest: iex> Elasticsearch.get!(Cluster, "/nonexistent") ** (Elasticsearch.Exception) "(index_not_found_exception) no such index" stacktrace: lib/elasticsearch.ex:265: Elasticsearch (module) 17) test .put_document/3 routing meta-field is included if specified in Document (ElasticsearchTest) test/elasticsearch_test.exs:23 match (=) failed code: assert :ok = Elasticsearch.Index.create_from_file( Cluster, "posts-routing", "test/support/settings/posts.json" ) left: :ok right: {:error, %Elasticsearch.Exception{status: 400, line: nil, col: nil, message: "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", type: "illegal_argument_exception", query: nil, raw: %{"error" => %{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "root_cause" => [%{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "type" => "illegal_argument_exception"}], "type" => "illegal_argument_exception"}, "status" => 400}}} stacktrace: test/elasticsearch_test.exs:26: (test) ........ 18) doctest Elasticsearch.Index.hot_swap/2 (9) (Elasticsearch.IndexTest) test/elasticsearch/indexing/index_test.exs:9 Doctest failed doctest: iex> Index.hot_swap(Cluster, "posts") :ok code: Index.hot_swap(Cluster, "posts") === :ok left: {:error, %Elasticsearch.Exception{status: 400, line: nil, col: nil, message: "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", type: "illegal_argument_exception", query: nil, raw: %{"error" => %{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "root_cause" => [%{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "type" => "illegal_argument_exception"}], "type" => "illegal_argument_exception"}, "status" => 400}}} right: :ok stacktrace: lib/elasticsearch/indexing/index.ex:24: Elasticsearch.Index (module) 19) doctest Elasticsearch.Index.clean_starting_with/3 (2) (Elasticsearch.IndexTest) test/elasticsearch/indexing/index_test.exs:9 Doctest failed doctest: iex> Index.create_from_file(Cluster, "posts-1", "test/support/settings/posts.json") ...> Index.clean_starting_with(Cluster, "posts", 1) ...> Index.starting_with(Cluster, "posts") {:ok, ["posts-1"]} code: Index.starting_with(Cluster, "posts") === {:ok, ["posts-1"]} left: {:ok, []} right: {:ok, ["posts-1"]} stacktrace: lib/elasticsearch/indexing/index.ex:184: Elasticsearch.Index (module) . 20) doctest Elasticsearch.Index.refresh/2 (12) (Elasticsearch.IndexTest) test/elasticsearch/indexing/index_test.exs:9 Doctest failed doctest: iex> Index.create_from_file(Cluster, "posts-1", "test/support/settings/posts.json") ...> Index.refresh(Cluster, "posts-1") :ok code: Index.refresh(Cluster, "posts-1") === :ok left: {:error, %Elasticsearch.Exception{status: 404, line: nil, col: nil, message: "no such index [posts-1]", type: "index_not_found_exception", query: nil, raw: %{"error" => %{"index" => "posts-1", "index_uuid" => "_na_", "reason" => "no such index [posts-1]", "resource.id" => "posts-1", "resource.type" => "index_or_alias", "root_cause" => [%{"index" => "posts-1", "index_uuid" => "_na_", "reason" => "no such index [posts-1]", "resource.id" => "posts-1", "resource.type" => "index_or_alias", "type" => "index_not_found_exception"}], "type" => "index_not_found_exception"}, "status" => 404}}} right: :ok stacktrace: lib/elasticsearch/indexing/index.ex:141: Elasticsearch.Index (module) . 21) doctest Elasticsearch.Index.refresh!/2 (14) (Elasticsearch.IndexTest) test/elasticsearch/indexing/index_test.exs:9 Doctest failed: wrong message for Elasticsearch.Exception expected: "(index_not_found_exception) no such index" actual: "(index_not_found_exception) no such index [nonexistent]" doctest: iex> Index.refresh!(Cluster, "nonexistent") ** (Elasticsearch.Exception) "(index_not_found_exception) no such index" stacktrace: lib/elasticsearch/indexing/index.ex:161: Elasticsearch.Index (module) 22) doctest Elasticsearch.Index.refresh!/2 (13) (Elasticsearch.IndexTest) test/elasticsearch/indexing/index_test.exs:9 ** (Elasticsearch.Exception) (index_not_found_exception) no such index [posts-1] stacktrace: (elasticsearch 1.0.1) lib/elasticsearch/indexing/index.ex:171: Elasticsearch.Index.refresh!/2 (for doctest at) lib/elasticsearch/indexing/index.ex:158: (test) .... 23) doctest Elasticsearch.Index.latest_starting_with/2 (10) (Elasticsearch.IndexTest) test/elasticsearch/indexing/index_test.exs:9 Doctest failed doctest: iex> Index.create_from_file(Cluster, "posts-1", "test/support/settings/posts.json") ...> Index.create_from_file(Cluster, "posts-2", "test/support/settings/posts.json") ...> Index.latest_starting_with(Cluster, "posts") {:ok, "posts-2"} code: Index.latest_starting_with(Cluster, "posts") === {:ok, "posts-2"} left: {:error, :not_found} right: {:ok, "posts-2"} stacktrace: lib/elasticsearch/indexing/index.ex:108: Elasticsearch.Index (module) . 24) doctest Elasticsearch.Index.alias/3 (1) (Elasticsearch.IndexTest) test/elasticsearch/indexing/index_test.exs:9 Doctest failed doctest: iex> Index.create_from_file(Cluster, "posts-1", "test/support/settings/posts.json") ...> Index.alias(Cluster, "posts-1", "posts") :ok code: Index.alias(Cluster, "posts-1", "posts") === :ok left: {:error, %Elasticsearch.Exception{status: 404, line: nil, col: nil, message: "no such index [posts-1]", type: "index_not_found_exception", query: nil, raw: %{"error" => %{"index" => "posts-1", "index_uuid" => "_na_", "reason" => "no such index [posts-1]", "resource.id" => "posts-1", "resource.type" => "index_or_alias", "root_cause" => [%{"index" => "posts-1", "index_uuid" => "_na_", "reason" => "no such index [posts-1]", "resource.id" => "posts-1", "resource.type" => "index_or_alias", "type" => "index_not_found_exception"}], "type" => "index_not_found_exception"}, "status" => 404}}} right: :ok stacktrace: lib/elasticsearch/indexing/index.ex:80: Elasticsearch.Index (module) 25) doctest Elasticsearch.Index.starting_with/2 (15) (Elasticsearch.IndexTest) test/elasticsearch/indexing/index_test.exs:9 Doctest failed doctest: iex> Index.create_from_file(Cluster, "posts-1", "test/support/settings/posts.json") ...> Index.starting_with(Cluster, "posts") {:ok, ["posts-1"]} code: Index.starting_with(Cluster, "posts") === {:ok, ["posts-1"]} left: {:ok, []} right: {:ok, ["posts-1"]} stacktrace: lib/elasticsearch/indexing/index.ex:52: Elasticsearch.Index (module) 26) doctest Elasticsearch.Index.create_from_file/3 (5) (Elasticsearch.IndexTest) test/elasticsearch/indexing/index_test.exs:9 Doctest failed doctest: iex> Index.create_from_file(Cluster, "posts-1", "test/support/settings/posts.json") :ok code: Index.create_from_file(Cluster, "posts-1", "test/support/settings/posts.json") === :ok left: {:error, %Elasticsearch.Exception{status: 400, line: nil, col: nil, message: "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", type: "illegal_argument_exception", query: nil, raw: %{"error" => %{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "root_cause" => [%{"reason" => "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true.", "type" => "illegal_argument_exception"}], "type" => "illegal_argument_exception"}, "status" => 400}}} right: :ok stacktrace: lib/elasticsearch/indexing/index.ex:242: Elasticsearch.Index (module) .................. 27) test .request/5 handles timeouts (Elasticsearch.API.HTTPTest) test/elasticsearch/api/http_test.exs:33 match (=) failed code: assert {:error, %HTTPoison.Error{reason: :timeout}} = HTTP.request( %{}, :get, "http://#{System.get_env("ELASTICSEARCH_HOST", "localhost")}:9200/_cat/health", "", recv_timeout: 0 ) left: {:error, %HTTPoison.Error{reason: :timeout}} right: { :ok, %HTTPoison.Response{ body: "1664635133 14:38:53 docker-cluster green 1 1 0 0 0 0 0 0 - 100.0%\n", headers: [{"content-type", "text/plain; charset=UTF-8"}, {"content-length", "66"}], request: %HTTPoison.Request{method: :get, url: "http://localhost:9200/_cat/health", headers: [{"Content-Type", "application/json"}], body: "", params: %{}, options: [recv_timeout: 0]}, request_url: "http://localhost:9200/_cat/health", status_code: 200 } } stacktrace: test/elasticsearch/api/http_test.exs:34: (test) . Finished in 3.1 seconds (0.00s async, 3.1s sync) 41 doctests, 40 tests, 27 failures Randomized with seed 20089 Successfully uploaded the report to 'https://coveralls.io'. Elixir tests failed! Exporting environment variables Exporting SEMAPHORE_JOB_RESULT