Vespa 8 Release Notes

This is work in progress, Vespa 8 is not planned yet.

This document documents the changes between Vespa major versions 7 and 8. As documented in Vespa versions, major versions are used to mark breaking compatibility, not to release significant new functionality (which instead happens on minor versions). However even on major versions, compatibility is broken only in two specific ways:

  • Changes to defaults: Applications may need to set some option explicitly to preserve earlier behavior
  • Removal of deprecated functionality: Applications which use functionality that has earlier been deprecated need to change to keep working
Most deprecated functionality causes warning during compilation (Java API deprecations) or deployment (application package deprecations). With web service APIs, there is no way to emit deprecation warnings, these are marked as deprecated in the documentation.

Given this, application owners need to do 3 tasks to be compatible with Vespa 8:

  • Review whether changes to defaults requires additional settings in the application
  • Make sure there are no deprecation warnings on compilation and deployment on Vespa 7
  • Review the list of removed web service API's and API parameters and make sure these are not used by clients of the application
As Vespa 8 does not introduce new functionality, it is as safe and mature as the versions of Vespa 7 preceding it. Upon release of Vespa 8, no further releases will be made of Vespa 7 for any reason.

The following sections lists the changes on moving from Vespa 7 to Vespa 8 which must be reviewed by applications.

Changed defaults

The following defaults have changed:

ChangeConfiguration required to avoid change on Vespa 8

Removed Java APIs

Classes and methods that were marked as deprecated in Vespa 7 are removed. If deprecation warnings are emitted for Vespa API's when building the application, these must be fixed before migrating to Vespa 8.

Removed settings from schemas

The following settings are removed from schema:

attribute: huge None. Setting huge on an attribute doesn't have any effect, the code is rewritten to support it by default
compression None. Document compression is not needed, as compression is always enabled. Support for setting this is deprecated and might be removed in Vespa 8

Removed constructs from services.xml

The following elements and attributes are removed from services.xml:

<filedistribution> None, configuring up/download rates is not supported
<nodes> JVM attributes jvmargs, allocated-memory, jvm-options, jvm-gc-options renamed and moved to JVM subelement
<dispatch> In content, the dispatch element, and its sub-elements, is removed - this due to removal of vespa-dispatch-bin. details

vespa-dispatch-bin process is removed

The dispatch feature is moved into the Vespa Container and the vespa-dispatch-bin process is removed. As this is not a public interface, the default was switched to not using vespa-dispatch-bin in Vespa-7.109.10. The process was removed in subsequent Vespa releases:

Dispatch Content cluster dynamically allocated in 19100 - 19899 range $VESPA_HOME/sbin/vespa-dispatch-bin Dispatcher, communicates between container and content nodes. Can be multi-level in a hierarchy
Rolling upgrade note: A rolling upgrade over Vespa-7.109.10 should work with no extra steps.