Skip to content

Release notes for switch from libmusl to glibc #551

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,27 @@ description: >-
Check the following list of potential breaking changes **before** upgrading to
this ArangoDB version and adjust any client applications if necessary
---
## Incompatibilities due to switch to glibc

From version 3.11.10 onward, ArangoDB uses the glibc C standard library
implementation instead of libmusl. Even though glibc is statically linked into
the ArangoDB server and client tool executables, it may load additional modules
at runtime that are installed on your system. Under rare circumstances, it is
possible that ArangoDB crashes when performing host name or address lookups.
This is only the case if all of the following conditions are true:

- You use an ArangoDB package on bare metal (not a Docker container)
- Your operating system uses glibc (like Ubuntu, Debian, RedHat, Centos, or
most other Linux distributions, but not Alpine for instance)
- The glibc version of your system is different than the one used by ArangoDB,
in particular if the system glibc is older than version 2.35
- The `libnss-*` dynamic libraries are installed
- The `/etc/nsswitch.conf` configuration file contains settings other than for
`files` and `dns` in the `hosts:` line

If you are affected, consider using Docker containers, `chroot`, or change
`nsswitch.conf`.

## Active Failover deployment mode deprecation

Running a single server with asynchronous replication to one or more passive
Expand Down Expand Up @@ -59,7 +80,7 @@ Also see:
- [View names](../../concepts/data-structure/views.md#view-names)
- Index names have the same character restrictions as collection names

## AQL user-defined functions (UDF)
## No AQL user-defined functions (UDF) in `PRUNE`

AQL user-defined functions (UDFs) cannot be used inside traversal PRUNE conditions
nor inside FILTER conditions that can be moved into the traversal execution on DB-Servers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1452,3 +1452,7 @@ been updated to more recent versions that don't have a version number.

For ArangoDB 3.11, the bundled version of rclone is 1.62.2. Check if your
rclone configuration files require changes.

From version 3.11.10 onward, ArangoDB uses the glibc C standard library
implementation with an LGPL-3.0 license instead of libmusl. Notably, it features
string functions that are better optimized for common CPUs.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,27 @@ description: >-
Check the following list of potential breaking changes **before** upgrading to
this ArangoDB version and adjust any client applications if necessary
---
## Incompatibilities due to switch to glibc

From version 3.11.10 onward, ArangoDB uses the glibc C standard library
implementation instead of libmusl. Even though glibc is statically linked into
the ArangoDB server and client tool executables, it may load additional modules
at runtime that are installed on your system. Under rare circumstances, it is
possible that ArangoDB crashes when performing host name or address lookups.
This is only the case if all of the following conditions are true:

- You use an ArangoDB package on bare metal (not a Docker container)
- Your operating system uses glibc (like Ubuntu, Debian, RedHat, Centos, or
most other Linux distributions, but not Alpine for instance)
- The glibc version of your system is different than the one used by ArangoDB,
in particular if the system glibc is older than version 2.35
- The `libnss-*` dynamic libraries are installed
- The `/etc/nsswitch.conf` configuration file contains settings other than for
`files` and `dns` in the `hosts:` line

If you are affected, consider using Docker containers, `chroot`, or change
`nsswitch.conf`.

## Active Failover deployment mode deprecation

Running a single server with asynchronous replication to one or more passive
Expand Down Expand Up @@ -59,7 +80,7 @@ Also see:
- [View names](../../concepts/data-structure/views.md#view-names)
- Index names have the same character restrictions as collection names

## AQL user-defined functions (UDF)
## No AQL user-defined functions (UDF) in `PRUNE`

AQL user-defined functions (UDFs) cannot be used inside traversal PRUNE conditions
nor inside FILTER conditions that can be moved into the traversal execution on DB-Servers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1448,3 +1448,7 @@ been updated to more recent versions that don't have a version number.

For ArangoDB 3.11, the bundled version of rclone is 1.62.2. Check if your
rclone configuration files require changes.

From version 3.11.10 onward, ArangoDB uses the glibc C standard library
implementation with an LGPL-3.0 license instead of libmusl. Notably, it features
string functions that are better optimized for common CPUs.
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,27 @@ VelocyPack remains as ArangoDB's binary storage format and you can continue to
use it in transport over the HTTP protocol, as well as use JSON over the
HTTP protocol.

## Incompatibilities due to switch to glibc

From version 3.11.10 onward, ArangoDB uses the glibc C standard library
implementation instead of libmusl. Even though glibc is statically linked into
the ArangoDB server and client tool executables, it may load additional modules
at runtime that are installed on your system. Under rare circumstances, it is
possible that ArangoDB crashes when performing host name or address lookups.
This is only the case if all of the following conditions are true:

- You use an ArangoDB package on bare metal (not a Docker container)
- Your operating system uses glibc (like Ubuntu, Debian, RedHat, Centos, or
most other Linux distributions, but not Alpine for instance)
- The glibc version of your system is different than the one used by ArangoDB,
in particular if the system glibc is older than version 2.35
- The `libnss-*` dynamic libraries are installed
- The `/etc/nsswitch.conf` configuration file contains settings other than for
`files` and `dns` in the `hosts:` line

If you are affected, consider using Docker containers, `chroot`, or change
`nsswitch.conf`.

## JavaScript Transactions deprecated

Server-side transactions written in JavaScript and executed via the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1218,3 +1218,7 @@ For ArangoDB 3.12, the bundled version of rclone is 1.65.2. Check if your
rclone configuration files require changes.

The bundled version of the OpenSSL library has been upgraded to 3.2.1.

From version 3.11.10 onward, ArangoDB uses the glibc C standard library
implementation with an LGPL-3.0 license instead of libmusl. Notably, it features
string functions that are better optimized for common CPUs.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,27 @@ description: >-
Check the following list of potential breaking changes **before** upgrading to
this ArangoDB version and adjust any client applications if necessary
---
## Incompatibilities due to switch to glibc

From version 3.11.10 onward, ArangoDB uses the glibc C standard library
implementation instead of libmusl. Even though glibc is statically linked into
the ArangoDB server and client tool executables, it may load additional modules
at runtime that are installed on your system. Under rare circumstances, it is
possible that ArangoDB crashes when performing host name or address lookups.
This is only the case if all of the following conditions are true:

- You use an ArangoDB package on bare metal (not a Docker container)
- Your operating system uses glibc (like Ubuntu, Debian, RedHat, Centos, or
most other Linux distributions, but not Alpine for instance)
- The glibc version of your system is different than the one used by ArangoDB,
in particular if the system glibc is older than version 2.35
- The `libnss-*` dynamic libraries are installed
- The `/etc/nsswitch.conf` configuration file contains settings other than for
`files` and `dns` in the `hosts:` line

If you are affected, consider using Docker containers, `chroot`, or change
`nsswitch.conf`.

## Active Failover deployment mode deprecation

Running a single server with asynchronous replication to one or more passive
Expand Down Expand Up @@ -59,7 +80,7 @@ Also see:
- [View names](../../concepts/data-structure/views.md#view-names)
- Index names have the same character restrictions as collection names

## AQL user-defined functions (UDF)
## No AQL user-defined functions (UDF) in `PRUNE`

AQL user-defined functions (UDFs) cannot be used inside traversal PRUNE conditions
nor inside FILTER conditions that can be moved into the traversal execution on DB-Servers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1448,3 +1448,7 @@ been updated to more recent versions that don't have a version number.

For ArangoDB 3.11, the bundled version of rclone is 1.62.2. Check if your
rclone configuration files require changes.

From version 3.11.10 onward, ArangoDB uses the glibc C standard library
implementation with an LGPL-3.0 license instead of libmusl. Notably, it features
string functions that are better optimized for common CPUs.
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,27 @@ VelocyPack remains as ArangoDB's binary storage format and you can continue to
use it in transport over the HTTP protocol, as well as use JSON over the
HTTP protocol.

## Incompatibilities due to switch to glibc

From version 3.11.10 onward, ArangoDB uses the glibc C standard library
implementation instead of libmusl. Even though glibc is statically linked into
the ArangoDB server and client tool executables, it may load additional modules
at runtime that are installed on your system. Under rare circumstances, it is
possible that ArangoDB crashes when performing host name or address lookups.
This is only the case if all of the following conditions are true:

- You use an ArangoDB package on bare metal (not a Docker container)
- Your operating system uses glibc (like Ubuntu, Debian, RedHat, Centos, or
most other Linux distributions, but not Alpine for instance)
- The glibc version of your system is different than the one used by ArangoDB,
in particular if the system glibc is older than version 2.35
- The `libnss-*` dynamic libraries are installed
- The `/etc/nsswitch.conf` configuration file contains settings other than for
`files` and `dns` in the `hosts:` line

If you are affected, consider using Docker containers, `chroot`, or change
`nsswitch.conf`.

## JavaScript Transactions deprecated

Server-side transactions written in JavaScript and executed via the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1218,3 +1218,7 @@ For ArangoDB 3.12, the bundled version of rclone is 1.65.2. Check if your
rclone configuration files require changes.

The bundled version of the OpenSSL library has been upgraded to 3.2.1.

From version 3.11.10 onward, ArangoDB uses the glibc C standard library
implementation with an LGPL-3.0 license instead of libmusl. Notably, it features
string functions that are better optimized for common CPUs.