migrate_8_5.asciidoc 3.7 KB

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