0.33 Upgrade Guide
An upgrade guide that addresses breaking changes in 0.33.0
Vector’s 0.33.0 release includes breaking changes:
and deprecations:
- Default config location change
- Renaming the
armv7
rpm package - Metadata field in the Vector protobuf definition
and potentially impactful changes:
We cover them below to help you upgrade quickly:
Upgrade guide
Breaking changes
Behavior of the datadog_logs
sink’s endpoint
setting
The endpoint
configuration setting is common to each of the Datadog sinks. Before this
change, when endpoint
was set, the logs sink took the provided endpoint as the complete
URL (including API path) to use for posting HTTP requests. This behavior is inconsistent
with the other Datadog sinks, which use the endpoint
as a base URL that the API path
(eg. “/api/v2/logs”), is appended to.
With this release, the datadog_logs
sink’s behavior is now consistent with the other
Datadog sinks for the endpoint
setting.
Disable OpenSSL legacy provider by default
Vector upgraded the version of OpenSSL that it statically compiles in to v3.1.x in the 0.32.0 release.
Following our deprecation policy, v0.33.0 now disables the legacy OpenSSL provider by default. It can be
enabled via an OpenSSL configuration file. The file
location defaults to /usr/local/ssl/openssl.cnf
or can be specified with the OPENSSL_CONF
environment variable.
Deprecations
Default config location change
The default config location /etc/vector/vector.toml
is now deprecated. This location will
still be used in v0.33.0
if it exists, but starting in v0.34.0
Vector will look for
/etc/vector/vector.yaml
first. We encourage users to convert their TOML configuration to YAML at
this new path.
See the associated release highlight for more details on the motivation for migrating from TOML to YAML as the default configuration language.
Renaming the armv7
rpm package
The armv7
rpm package, vector-<version>-1.armv7.rpm
, is now published as
vector-<version>-1.armv7hl.rpm
to better follow rpm guidelines. The armv7
package will be no longer be published beginning in the 0.34.0 release.
Metadata field in the Vector protobuf definition
Ignore if you aren’t encoding or consuming events using Vector’s native protobuf
encoding. This change is transparent if using the native
codec or vector
source/sink.
This release adds a new Metadata
proto Message which is appended to the end of the
Metric
message of the Vector proto. Prior to this release, the existing metadata
field contained only a single field from Vector’s EventMetadata
structure. The
newly added field (event_metadata
) represents a structure that can contain any
field added that needs to be included from EventMetadata
.
In order to preserve backwards compatibility, the existing metadata
field is available
to use as-is, but is noted as deprecated.
In a future release, this field index (19) will be fully unsupported and marked as a
reserved
field in the proto definition. Any users setting the Value metadata
field
at index 19 should change to populate the event_metadata.value
instead.
Potentially impactful changes
Async runtime default number of worker threads
We’ve changed the default number of worker threads spawned by Vector’s async runtime
from being the number of CPUs on the host machine to the value returned by
std::thread::available_parallelism()
.
This should be a better default value for containerized environments where the container
has limited quotas, but note this change may impact performance.
The number of worker threads used can be seen by enabling debug logging, and the value can
be overriden by setting the VECTOR_THREADS
environment variable.
Setting request.concurrency = "none"
Explicitly setting request.concurrency = "none"
in a sink configuration now properly configures
the sink to have a fixed concurrency limit of 1, as was stated in the documentation. Previously, the
above configuration would result in the sink using adaptive request concurrency. The default setting
remains unchanged (adaptive request concurrency).