migrate_8_5.asciidoc 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. [[migrating-8.5]]
  2. == Migrating to 8.5
  3. ++++
  4. <titleabbrev>8.5</titleabbrev>
  5. ++++
  6. This section discusses the changes that you need to be aware of when migrating
  7. your application to {es} 8.5.
  8. See also <<release-highlights>> and <<es-release-notes>>.
  9. [discrete]
  10. [[breaking-changes-8.5]]
  11. === Breaking changes
  12. The following changes in {es} 8.5 might affect your applications and prevent
  13. them from operating normally. Before upgrading to 8.5, review these changes and
  14. take the described steps to mitigate the impact.
  15. [discrete]
  16. [[breaking_85_rest_api_changes]]
  17. ==== REST API changes
  18. [[breaking_85_bulk_action_stricter]]
  19. .The bulk API now rejects requests containing unrecognized actions
  20. [%collapsible]
  21. ====
  22. *Details* +
  23. Requests to the bulk API comprise a sequence of items, each of which starts with
  24. a JSON object describing the item. This object includes the type of action to
  25. perform with the item which should be one of `create`, `update`, `index`, or
  26. `delete`. Earlier versions of {es} had a bug that caused them to ignore items
  27. with an unrecognized type, skipping the next line in the request, but this
  28. lenient behaviour meant that there is no way for the client to associate the
  29. items in the response with the items in the request, and in some cases it would
  30. cause the remainder of the request to be parsed incorrectly.
  31. From version 8.5 onwards, requests to the bulk API must comprise only items
  32. with recognized types. {es} will reject requests containing any items with an
  33. unrecognized type with a `400 Bad Request` error response.
  34. We consider this change to be a bugfix but list it here as a breaking change
  35. since it may affect the behaviour of applications which rely on being able to
  36. send unrecognized actions to {es}.
  37. *Impact* +
  38. Ensure your application only sends items with type `create`, `update`, `index`
  39. or `delete` to the bulk API.
  40. ====
  41. [discrete]
  42. [[deprecated-8.5]]
  43. === Deprecations
  44. The following functionality has been deprecated in {es} 8.5
  45. and will be removed in a future version.
  46. While this won't have an immediate impact on your applications,
  47. we strongly encourage you to take the described steps to update your code
  48. after upgrading to 8.5.
  49. To find out if you are using any deprecated functionality,
  50. enable <<deprecation-logging, deprecation logging>>.
  51. [discrete]
  52. [[deprecations_85_plugins]]
  53. ==== Plugin API deprecations
  54. [[network_plugins_deprecated]]
  55. Plugins that extend the NetworkPlugin interface are deprecated.
  56. [%collapsible]
  57. ====
  58. *Details* +
  59. Plugins may override funcionality that controls how nodes connect
  60. with other nodes over TCP/IP. These plugins extend the NetworkPlugin
  61. interface. In the next major release, these plugins will fail
  62. to install.
  63. *Impact* +
  64. Discontinue using any plugins which extend NetworkPlugin. You can
  65. see if any plugins use deprecated functionality by checking
  66. the Elasticsearch deprecation log.
  67. ====
  68. [[discoveryplugin_joinvalidator_and_election_strategies_deprecated]]
  69. .Extending DiscoveryPlugin to override join validators or election strategies is deprecated
  70. [%collapsible]
  71. ====
  72. *Details* +
  73. Plugins that extend DiscoveryPlugin may override getJoinValidator and
  74. getElectionStrategies. These methods are implementation details of the
  75. clustering mechanism within Elasticsearch. They should not be overriden.
  76. In the next major release, plugins overriding getJoinValidator or
  77. getElectionStrategies will fail to install.
  78. *Impact* +
  79. Discontinue using any plugins that override getJoinValidator or
  80. getElectionStrategies in DiscoveryPlugin. You can see if any plugins
  81. use deprecated functionality by checking the Elasticsearch deprecation log.
  82. ====