From 344e72a8fb5978ed5b0b06f5c5a814d4cbe20b89 Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Mon, 8 Apr 2024 16:44:59 +0200 Subject: [PATCH 1/3] Remove compile instructions Refer to Contributing guidelines (CONTRIBUTING.md) in the main repo for compiling yourself. Add Netlify redirects as well. --- .../3.12/operations/installation/_index.md | 4 +- .../installation/compiling/_index.md | 15 - .../compiling/compile-on-debian.md | 272 ------------------ .../compiling/recompiling-jemalloc.md | 54 ---- .../compiling/running-custom-build.md | 54 ---- .../3.13/operations/installation/_index.md | 4 +- .../installation/compiling/_index.md | 26 -- .../compiling/compile-on-debian.md | 272 ------------------ .../compiling/compile-on-windows.md | 190 ------------ .../compiling/recompiling-jemalloc.md | 54 ---- .../compiling/running-custom-build.md | 54 ---- site/static/_redirects | 5 + 12 files changed, 9 insertions(+), 995 deletions(-) delete mode 100644 site/content/3.12/operations/installation/compiling/_index.md delete mode 100644 site/content/3.12/operations/installation/compiling/compile-on-debian.md delete mode 100644 site/content/3.12/operations/installation/compiling/recompiling-jemalloc.md delete mode 100644 site/content/3.12/operations/installation/compiling/running-custom-build.md delete mode 100644 site/content/3.13/operations/installation/compiling/_index.md delete mode 100644 site/content/3.13/operations/installation/compiling/compile-on-debian.md delete mode 100644 site/content/3.13/operations/installation/compiling/compile-on-windows.md delete mode 100644 site/content/3.13/operations/installation/compiling/recompiling-jemalloc.md delete mode 100644 site/content/3.13/operations/installation/compiling/running-custom-build.md diff --git a/site/content/3.12/operations/installation/_index.md b/site/content/3.12/operations/installation/_index.md index 22081e42c8..3d225b8ada 100644 --- a/site/content/3.12/operations/installation/_index.md +++ b/site/content/3.12/operations/installation/_index.md @@ -19,8 +19,8 @@ to run ArangoDB in containers on Linux, macOS, and Windows. For more information see the [Docker](docker.md) section. {{< /tip >}} -If you prefer to compile ArangoDB from source, please refer to the [Compiling](compiling/_index.md) -section. +If you prefer to compile ArangoDB from source, please refer to the +[Contributing guidelines](https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md). For detailed information on how to deploy ArangoDB, once it has been installed, please refer to the [Deploy](../../deploy/_index.md) chapter. diff --git a/site/content/3.12/operations/installation/compiling/_index.md b/site/content/3.12/operations/installation/compiling/_index.md deleted file mode 100644 index 234b5f3fd5..0000000000 --- a/site/content/3.12/operations/installation/compiling/_index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Compiling ArangoDB from Source -menuTitle: Compiling -weight: 25 -description: '' ---- -ArangoDB can be compiled from [source](https://github.com/arangodb/arangodb) -on Linux systems with certain versions of the GNU C/C++ compiler or clang/clang++. -See the [`VERSIONS` file](https://github.com/arangodb/arangodb/blob/devel/VERSIONS) -in the root directory of the repository for the officially supported versions of -the C++ standard, the compilers, and so on. - -By default, cloning the GitHub repository will checkout the _devel_ branch. -This branch contains the development version of the ArangoDB. Use this branch -if you want to make changes to the ArangoDB source. diff --git a/site/content/3.12/operations/installation/compiling/compile-on-debian.md b/site/content/3.12/operations/installation/compiling/compile-on-debian.md deleted file mode 100644 index 8d927e43f5..0000000000 --- a/site/content/3.12/operations/installation/compiling/compile-on-debian.md +++ /dev/null @@ -1,272 +0,0 @@ ---- -title: Compiling on Debian -menuTitle: Compile on Debian -weight: 5 -description: >- - You want to compile and run the devel branch, for example to test a bug fix ---- -This guide describes how to compile and run the devel branch under a Debian -based system. It was tested using a fresh Debian Testing machine on Amazon EC2. -For completeness, the steps pertaining to AWS are also included here. - -{{< info >}} -ArangoDB v3.7 requires at least g++ 9.2 as compiler. Older versions, especially -g++ 7, do not work anymore. -{{< /info >}} - -## Launch the VM - -*Optional* - -Login to your AWS account and launch an instance of Debian Testing. I used an -'m3.xlarge' since that has a bunch of cores, more than enough memory, optimized -network and the instance store is on SSDs which can be switched to provisioned -IOPs. - -The Current AMI ID's can be found in the Debian Wiki: -[wiki.debian.org/Cloud/AmazonEC2Image/](https://wiki.debian.org/Cloud/AmazonEC2Image/) - -## Upgrade to the very latest version - -*Optional* - -Once your EC2 instance is up, login ad `admin` and `sudo su` to become `root`. - -First, we remove the backports and change the primary sources.list - -```bash -rm -rf /etc/apt/sources.list.d -echo "deb http://http.debian.net/debian testing main contrib" > /etc/apt/sources.list -echo "deb-src http://http.debian.net/debian testing main contrib" >> /etc/apt/sources.list -``` - -Update and upgrade the system. Make sure you don't have any broken/unconfigured -packages. Sometimes you need to run safe/full upgrade more than once. When you -are done, reboot. - -```bash -apt-get update -apt-get install aptitude -aptitude -y update -aptitude -y safe-upgrade -aptitude -y full-upgrade -reboot -``` - -## Install build dependencies - -*Mandatory* - -Before you can build ArangoDB, you need a few packages pre-installed on your system. - -Login again and install them. - -```bash -sudo aptitude -y install git-core \ - build-essential \ - libssl-dev \ - libjemalloc-dev \ - cmake \ - python2.7 \ -``` - -## Download the Source - -Download the latest source using ***git***: - - unix> git clone git://github.com/arangodb/arangodb.git - -This will automatically clone the **devel** branch. - -Note: if you only plan to compile ArangoDB locally and do not want to modify or -push any changes, you can speed up cloning substantially by using the -*--single-branch* and *--depth* parameters for the clone command as follows: - - unix> git clone --single-branch --depth 1 git://github.com/arangodb/arangodb.git - -## Setup - -Switch into the ArangoDB directory - - unix> cd arangodb - unix> mkdir build - unix> cd build - -In order to generate the build environment please execute - - unix> cmake .. - -to setup the Makefiles. This will check the various system characteristics and -installed libraries. If you installed the compiler in a non standard location, -you may need to specify it: - - cmake -DCMAKE_C_COMPILER=/opt/bin/gcc -DCMAKE_CXX_COMPILER=/opt/bin/g++ .. - -If you compile on macOS, you should add the following options to the cmake -command: - - cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 - -If you also plan to make changes to the source code of ArangoDB, you may want -to compile with the `Debug` build type: - - cmake .. -DCMAKE_BUILD_TYPE=Debug - -The `Debug` target enables additional checks etc. which would slow down -production binaries. If no build type is specified, ArangoDB will be compiled -with build type `RelWithDebInfo`, which is a compromise between good -performance and medium debugging experience. - -Other options valuable for development: - - -DUSE_MAINTAINER_MODE=On - -Needed if you plan to make changes to AQL language (which is implemented using -a lexer and parser files in `arangod/Aql/grammar.y` and `arangod/Aql/tokens.ll`) -or if you want to enable runtime assertions. To use the maintainer mode, your -system has to contain the tools FLEX and BISON. - - -DUSE_BACKTRACE=On - -Use this option if you want to have C++ stacktraces attached to your exceptions. -This can be useful to more quickly locate the place where an exception or an -assertion was thrown. Note that this option will slow down the produces binaries -a bit and requires building with maintainer mode. - - -DUSE_OPTIMIZE_FOR_ARCHITECTURE=On - -This will optimize the binary for the target architecture, potentially enabling -more compiler optimizations, but making the resulting binary less portable. - -ArangoDB will then automatically use the configuration from file -*etc/relative/arangod.conf*. - - -DUSE_FAILURE_TESTS=On - -This option activates additional code in the server that intentionally makes -the server crash or misbehave (e.g. by pretending the system ran out of memory) -when certain tests are run. This option is useful for writing tests. - - -DUSE_GOOGLE_TESTS=off - -This option disables all unit tests based on -[Googletest](https://github.com/google/googletest). - - -DUSE_JEMALLOC=Off - -By default ArangoDB will be built with a bundled version of the JEMalloc -allocator. This however will not work when using runtime analyzers such as ASAN -or Valgrind. In order to use these tools for instrumenting an ArangoDB binary, -JEMalloc must be turned off during compilation. - -For **release builds** configure CMake with the following options: - - cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_MAINTAINER_MODE=off -DUSE_OPTIMIZE_FOR_ARCHITECTURE=On -DUSE_GOOGLE_TESTS=off - -## Shared memory - -Gyp is used as makefile generator by V8. Gyp requires shared memory to be -available, which may not if you i.e. compile in a chroot. You can make it -available like this: - - none /opt/chroots/ubuntu_precise_x64/dev/shm tmpfs rw,nosuid,nodev,noexec 0 2 - devpts /opt/chroots/ubuntu_precise_x64/dev/pts devpts gid=5,mode=620 0 0 - -## Compilation - -Compile the programs (server, client, utilities) by executing - - make - -in the build subdirectory. This will compile ArangoDB and create the binary executable -in file `build/bin/arangod`. - -To run multiple jobs in parallel pass `-j`, e.g. `make -j8`. - -## Starting and testing - -Check the binary by starting it using the command line. - - unix> build/bin/arangod -c etc/relative/arangod.conf --server.endpoint tcp://127.0.0.1:8529 /tmp/database-dir - -This will start up the ArangoDB and listen for HTTP requests on port 8529 bound -to IP address 127.0.0.1. You should see the startup messages similar to the -following: - -``` -2016-06-01T12:47:29Z [29266] INFO ArangoDB xxx ... -2016-06-10T12:47:29Z [29266] INFO using endpoint 'tcp://127.0.0.1.8529' for non-encrypted requests -2016-06-01T12:47:30Z [29266] INFO Authentication is turned on -2016-60-01T12:47:30Z [29266] INFO ArangoDB (version xxx) is ready for business. Have fun! -``` - -If it fails with a message about the database directory, please make sure the -database directory you specified exists and can be written into. - -Use your favorite browser to access the URL - - http://127.0.0.1:8529/ - -This should bring up ArangoDB's web interface. - -## Re-building ArangoDB after an update - -To stay up-to-date with changes made in the main ArangoDB repository, you will -need to pull the changes from it and re-run `make`. - -Normally, this will be as simple as follows: - - unix> git pull - unix> (cd build && make) - -From time to time there will be bigger structural changes in ArangoDB, which may -render the old Makefiles invalid. Should this be the case and `make` complains -about missing files etc., the following commands should fix it: - - unix> rm -rf build/* - unix> cd build && cmake .. - unix> (cd build && make) - -Note that the above commands will run a full rebuild of ArangoDB and all -of its third-party components. That will take a while to complete. - -## Installation - -In a local development environment it is not necessary to install ArangoDB -somewhere, because it can be started from within the source directory as -shown above. - -If there should be the need to install ArangoDB, execute the following command: - - (cd build && sudo make install) - -The server will by default be installed in - - /usr/local/sbin/arangod - -The configuration file will be installed in - - /usr/local/etc/arangodb3/arangod.conf - -The database will be installed in - - /usr/local/var/lib/arangodb3 - -The ArangoShell will be installed in - - /usr/local/bin/arangosh - -You should add an arangodb user and group (as root), plus make sure it owns these directories: - - useradd -g arangodb arangodb - chown -R arangodb:arangodb /usr/local/var/lib/arangodb3-apps/ - chown -R arangodb:arangodb /tmp/database-dir/ - -**Note:** The installation directory will be different if you use one of the -`precompiled` packages. Please check the default locations of your operating -system, e. g. `/etc` and `/var/lib`. - -When upgrading from a previous version of ArangoDB, please make sure you inspect -ArangoDB's log file after an upgrade. It may also be necessary to start ArangoDB -with the *--database.auto-upgrade* parameter once to perform required upgrade or -initialization tasks. diff --git a/site/content/3.12/operations/installation/compiling/recompiling-jemalloc.md b/site/content/3.12/operations/installation/compiling/recompiling-jemalloc.md deleted file mode 100644 index b9e38587bd..0000000000 --- a/site/content/3.12/operations/installation/compiling/recompiling-jemalloc.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Jemalloc -menuTitle: Recompiling jemalloc -weight: 20 -description: >- - Resolving ---- -{{< info >}} -This article is only relevant if you intend to compile ArangoDB on Ubuntu 16.10 -or Debian testing -{{< /info >}} - -On more modern linux systems (development/floating at the time of this writing) -you may get compile / link errors with ArangoDB regarding jemalloc. -This is due to compilers switching their default behavior regarding the -`PIC` - Position Independent Code. It seems common that jemalloc remains in a -stage where this change isn't followed and causes ArangoDB to error out during -the linking phase. - -From now on cmake will detect this and give you this hint: - - the static system jemalloc isn't suitable! Recompile with the current compiler or disable using `-DCMAKE_CXX_FLAGS=-no-pie -DCMAKE_C_FLAGS=-no-pie` - -Now you've got three choices. - -- **Doing without jemalloc** - - Fixes the compilation issue, but you will get problems with the glibcs heap - fragmentation behavior which in the longer run will lead to an ever - increasing memory consumption of ArangoDB. - - While this may be suitable for development / testing systems, its definitely - not for production. - -- **Disabling PIC altogether** - - This will build an arangod which doesn't use this compiler feature. It may - be not so nice for development builds. It can be achieved by specifying - these options on cmake: - - -DCMAKE_CXX_FLAGS=-no-pie -DCMAKE_C_FLAGS=-no-pie - -- **Recompile jemalloc** - - The smartest way is to fix the jemalloc libraries packages on your system so - its reflecting that new behavior. On Debian / Ubuntu systems it can be - achieved like this: - - apt-get install automake debhelper docbook-xsl xsltproc dpkg-dev - apt source jemalloc - cd jemalloc* - dpkg-buildpackage - cd .. - dpkg -i *jemalloc*deb diff --git a/site/content/3.12/operations/installation/compiling/running-custom-build.md b/site/content/3.12/operations/installation/compiling/running-custom-build.md deleted file mode 100644 index 2fe985d026..0000000000 --- a/site/content/3.12/operations/installation/compiling/running-custom-build.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: create data directory -menuTitle: Running Custom Build -weight: 15 -description: >- - You've already built a custom version of ArangoDB and want to run it ---- -Once you built a custom version of ArangoDB (see -[Compiling](_index.md)), you may want to run it using -existing data or possibly in isolation from an existing installation. - -We assumes that you are in the root directory of the ArangoDB distribution -and compiling has successfully finished. - -Note that this guide is for Linux only. - -## Running in isolation - -This part shows how to run your custom build with an empty database directory - -```bash -mkdir /tmp/arangodb - -# run -bin/arangod \ - --configuration etc/relative/arangod.conf\ - --database.directory /tmp/arangodb -``` - -## Running with data - -This part shows how to run your custom build with the config and data from a pre-existing stable installation. - -{{< danger >}} -ArangoDB's developers may change the db file format and after running with a -changed file format, there may be no way back. Alternatively you can run your -build in isolation and [dump](../../../components/tools/arangodump/_index.md) and -[restore](../../../components/tools/arangorestore/_index.md) the data from the -stable to your custom build. -{{< /danger >}} - -When running like this, you must run the db as the arangod user (the default -installed by the package) in order to have write access to the log, database -directory etc. Running as root will likely mess up the file permissions - good -luck fixing that! - -```bash -# become root first -su - -# now switch to arangod and run -su - arangod -bin/arangod --configuration /etc/arangodb/arangod.conf -``` diff --git a/site/content/3.13/operations/installation/_index.md b/site/content/3.13/operations/installation/_index.md index e64692e4f5..fb10941038 100644 --- a/site/content/3.13/operations/installation/_index.md +++ b/site/content/3.13/operations/installation/_index.md @@ -24,8 +24,8 @@ to run ArangoDB in containers on Linux, macOS, and Windows. For more information see the [Docker](docker.md) section. {{< /tip >}} -If you prefer to compile ArangoDB from source, please refer to the [Compiling](compiling/_index.md) -section. +If you prefer to compile ArangoDB from source, please refer to the +[Contributing guidelines](https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md). For detailed information on how to deploy ArangoDB, once it has been installed, please refer to the [Deploy](../../deploy/_index.md) chapter. diff --git a/site/content/3.13/operations/installation/compiling/_index.md b/site/content/3.13/operations/installation/compiling/_index.md deleted file mode 100644 index 151e559cf3..0000000000 --- a/site/content/3.13/operations/installation/compiling/_index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Compiling ArangoDB from Source -menuTitle: Compiling -weight: 25 -description: >- - ArangoDB can be compiled directly from source code ---- -ArangoDB can be compiled directly from source. It will compile on most Linux -and macOS systems, as well as on Windows. - -We assume that you use the GNU C/C++ compiler or clang/clang++ to compile the -source. ArangoDB has been tested with these compilers, but should be able to -compile with any Posix-compliant, C++14-enabled compiler. For our Windows -builds we use Microsoft's Visual C++ 2017 compiler. - -By default, cloning the GitHub repository will checkout the _devel_ branch. -This branch contains the development version of the ArangoDB. Use this branch -if you want to make changes to the ArangoDB source. - -- [Compile on Debian](compile-on-debian.md) - -- [Compile on Windows](compile-on-windows.md) - -- [Running Custom Build](running-custom-build.md) - -- [Recompiling jemalloc](recompiling-jemalloc.md) diff --git a/site/content/3.13/operations/installation/compiling/compile-on-debian.md b/site/content/3.13/operations/installation/compiling/compile-on-debian.md deleted file mode 100644 index 8d927e43f5..0000000000 --- a/site/content/3.13/operations/installation/compiling/compile-on-debian.md +++ /dev/null @@ -1,272 +0,0 @@ ---- -title: Compiling on Debian -menuTitle: Compile on Debian -weight: 5 -description: >- - You want to compile and run the devel branch, for example to test a bug fix ---- -This guide describes how to compile and run the devel branch under a Debian -based system. It was tested using a fresh Debian Testing machine on Amazon EC2. -For completeness, the steps pertaining to AWS are also included here. - -{{< info >}} -ArangoDB v3.7 requires at least g++ 9.2 as compiler. Older versions, especially -g++ 7, do not work anymore. -{{< /info >}} - -## Launch the VM - -*Optional* - -Login to your AWS account and launch an instance of Debian Testing. I used an -'m3.xlarge' since that has a bunch of cores, more than enough memory, optimized -network and the instance store is on SSDs which can be switched to provisioned -IOPs. - -The Current AMI ID's can be found in the Debian Wiki: -[wiki.debian.org/Cloud/AmazonEC2Image/](https://wiki.debian.org/Cloud/AmazonEC2Image/) - -## Upgrade to the very latest version - -*Optional* - -Once your EC2 instance is up, login ad `admin` and `sudo su` to become `root`. - -First, we remove the backports and change the primary sources.list - -```bash -rm -rf /etc/apt/sources.list.d -echo "deb http://http.debian.net/debian testing main contrib" > /etc/apt/sources.list -echo "deb-src http://http.debian.net/debian testing main contrib" >> /etc/apt/sources.list -``` - -Update and upgrade the system. Make sure you don't have any broken/unconfigured -packages. Sometimes you need to run safe/full upgrade more than once. When you -are done, reboot. - -```bash -apt-get update -apt-get install aptitude -aptitude -y update -aptitude -y safe-upgrade -aptitude -y full-upgrade -reboot -``` - -## Install build dependencies - -*Mandatory* - -Before you can build ArangoDB, you need a few packages pre-installed on your system. - -Login again and install them. - -```bash -sudo aptitude -y install git-core \ - build-essential \ - libssl-dev \ - libjemalloc-dev \ - cmake \ - python2.7 \ -``` - -## Download the Source - -Download the latest source using ***git***: - - unix> git clone git://github.com/arangodb/arangodb.git - -This will automatically clone the **devel** branch. - -Note: if you only plan to compile ArangoDB locally and do not want to modify or -push any changes, you can speed up cloning substantially by using the -*--single-branch* and *--depth* parameters for the clone command as follows: - - unix> git clone --single-branch --depth 1 git://github.com/arangodb/arangodb.git - -## Setup - -Switch into the ArangoDB directory - - unix> cd arangodb - unix> mkdir build - unix> cd build - -In order to generate the build environment please execute - - unix> cmake .. - -to setup the Makefiles. This will check the various system characteristics and -installed libraries. If you installed the compiler in a non standard location, -you may need to specify it: - - cmake -DCMAKE_C_COMPILER=/opt/bin/gcc -DCMAKE_CXX_COMPILER=/opt/bin/g++ .. - -If you compile on macOS, you should add the following options to the cmake -command: - - cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 - -If you also plan to make changes to the source code of ArangoDB, you may want -to compile with the `Debug` build type: - - cmake .. -DCMAKE_BUILD_TYPE=Debug - -The `Debug` target enables additional checks etc. which would slow down -production binaries. If no build type is specified, ArangoDB will be compiled -with build type `RelWithDebInfo`, which is a compromise between good -performance and medium debugging experience. - -Other options valuable for development: - - -DUSE_MAINTAINER_MODE=On - -Needed if you plan to make changes to AQL language (which is implemented using -a lexer and parser files in `arangod/Aql/grammar.y` and `arangod/Aql/tokens.ll`) -or if you want to enable runtime assertions. To use the maintainer mode, your -system has to contain the tools FLEX and BISON. - - -DUSE_BACKTRACE=On - -Use this option if you want to have C++ stacktraces attached to your exceptions. -This can be useful to more quickly locate the place where an exception or an -assertion was thrown. Note that this option will slow down the produces binaries -a bit and requires building with maintainer mode. - - -DUSE_OPTIMIZE_FOR_ARCHITECTURE=On - -This will optimize the binary for the target architecture, potentially enabling -more compiler optimizations, but making the resulting binary less portable. - -ArangoDB will then automatically use the configuration from file -*etc/relative/arangod.conf*. - - -DUSE_FAILURE_TESTS=On - -This option activates additional code in the server that intentionally makes -the server crash or misbehave (e.g. by pretending the system ran out of memory) -when certain tests are run. This option is useful for writing tests. - - -DUSE_GOOGLE_TESTS=off - -This option disables all unit tests based on -[Googletest](https://github.com/google/googletest). - - -DUSE_JEMALLOC=Off - -By default ArangoDB will be built with a bundled version of the JEMalloc -allocator. This however will not work when using runtime analyzers such as ASAN -or Valgrind. In order to use these tools for instrumenting an ArangoDB binary, -JEMalloc must be turned off during compilation. - -For **release builds** configure CMake with the following options: - - cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_MAINTAINER_MODE=off -DUSE_OPTIMIZE_FOR_ARCHITECTURE=On -DUSE_GOOGLE_TESTS=off - -## Shared memory - -Gyp is used as makefile generator by V8. Gyp requires shared memory to be -available, which may not if you i.e. compile in a chroot. You can make it -available like this: - - none /opt/chroots/ubuntu_precise_x64/dev/shm tmpfs rw,nosuid,nodev,noexec 0 2 - devpts /opt/chroots/ubuntu_precise_x64/dev/pts devpts gid=5,mode=620 0 0 - -## Compilation - -Compile the programs (server, client, utilities) by executing - - make - -in the build subdirectory. This will compile ArangoDB and create the binary executable -in file `build/bin/arangod`. - -To run multiple jobs in parallel pass `-j`, e.g. `make -j8`. - -## Starting and testing - -Check the binary by starting it using the command line. - - unix> build/bin/arangod -c etc/relative/arangod.conf --server.endpoint tcp://127.0.0.1:8529 /tmp/database-dir - -This will start up the ArangoDB and listen for HTTP requests on port 8529 bound -to IP address 127.0.0.1. You should see the startup messages similar to the -following: - -``` -2016-06-01T12:47:29Z [29266] INFO ArangoDB xxx ... -2016-06-10T12:47:29Z [29266] INFO using endpoint 'tcp://127.0.0.1.8529' for non-encrypted requests -2016-06-01T12:47:30Z [29266] INFO Authentication is turned on -2016-60-01T12:47:30Z [29266] INFO ArangoDB (version xxx) is ready for business. Have fun! -``` - -If it fails with a message about the database directory, please make sure the -database directory you specified exists and can be written into. - -Use your favorite browser to access the URL - - http://127.0.0.1:8529/ - -This should bring up ArangoDB's web interface. - -## Re-building ArangoDB after an update - -To stay up-to-date with changes made in the main ArangoDB repository, you will -need to pull the changes from it and re-run `make`. - -Normally, this will be as simple as follows: - - unix> git pull - unix> (cd build && make) - -From time to time there will be bigger structural changes in ArangoDB, which may -render the old Makefiles invalid. Should this be the case and `make` complains -about missing files etc., the following commands should fix it: - - unix> rm -rf build/* - unix> cd build && cmake .. - unix> (cd build && make) - -Note that the above commands will run a full rebuild of ArangoDB and all -of its third-party components. That will take a while to complete. - -## Installation - -In a local development environment it is not necessary to install ArangoDB -somewhere, because it can be started from within the source directory as -shown above. - -If there should be the need to install ArangoDB, execute the following command: - - (cd build && sudo make install) - -The server will by default be installed in - - /usr/local/sbin/arangod - -The configuration file will be installed in - - /usr/local/etc/arangodb3/arangod.conf - -The database will be installed in - - /usr/local/var/lib/arangodb3 - -The ArangoShell will be installed in - - /usr/local/bin/arangosh - -You should add an arangodb user and group (as root), plus make sure it owns these directories: - - useradd -g arangodb arangodb - chown -R arangodb:arangodb /usr/local/var/lib/arangodb3-apps/ - chown -R arangodb:arangodb /tmp/database-dir/ - -**Note:** The installation directory will be different if you use one of the -`precompiled` packages. Please check the default locations of your operating -system, e. g. `/etc` and `/var/lib`. - -When upgrading from a previous version of ArangoDB, please make sure you inspect -ArangoDB's log file after an upgrade. It may also be necessary to start ArangoDB -with the *--database.auto-upgrade* parameter once to perform required upgrade or -initialization tasks. diff --git a/site/content/3.13/operations/installation/compiling/compile-on-windows.md b/site/content/3.13/operations/installation/compiling/compile-on-windows.md deleted file mode 100644 index c89c5d3347..0000000000 --- a/site/content/3.13/operations/installation/compiling/compile-on-windows.md +++ /dev/null @@ -1,190 +0,0 @@ ---- -title: Compiling ArangoDB under Windows -menuTitle: Compile on Windows -weight: 10 -description: >- - This guide describes how to compile ArangoDB 3.4 and onwards under Windows ---- -## Install chocolatey - -With ArangoDB 3.0 a complete cmake environment was introduced. This also -streamlines the dependencies on Windows. We suggest to use -[chocolatey.org](https://chocolatey.org/) to install most of -the dependencies. For sure most projects offer their own setup & install -packages, chocolatey offers a simplified way to install them with less user -interactions. You can even use chocolatey via -[ansibles 2.7 winrm facility](https://docs.ansible.com/ansible/latest/user_guide/windows.html) -to do unattended installations of some software on Windows. - -First install the choco package manager by pasting this tiny cmdlet into a -command window with Administrator privileges (press Windows key, type `cmd` -and hit Ctrl+Shift+Enter): - - @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin - -### Visual Studio and its Compiler - -Since choco currently fails to alter the environment for -[Microsoft Visual Studio](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx), -we suggest to download and install Visual Studio by hand. - -ArangoDB v3.7 requires Visual Studio 2019 v16.5.0 or later. - -{{< warning >}} -You need to make sure that it installs the **Desktop development with C++** preset, -else cmake will fail to detect it later on. Furthermore, the **Windows 8.1 SDK and UCRT SDK** -optional component is required to be selected during Visual Studio installation, else V8 -will fail to compile later on. -{{< /warning >}} - -After it successfully installed, start it once, so it can finish its setup. - -### More Dependencies - -Now you can invoke the choco package manager for an unattended install of the dependencies -*(needs to be run with Administrator privileges again)*: - - choco install -y cmake.portable nsis python2 procdump windbg wget - -Then we need to install the [OpenSSL](https://openssl.org) library from its sources or using precompiled -[Third Party OpenSSL Related Binary Distributions](https://wiki.openssl.org/index.php/Binaries). - -### Optional Dependencies - -_Remember that you need to run below commands with Administrator privileges!_ - -If you want to checkout the code with git, install it like this: - - choco install -y git - -You need to allow and -[enable symlinks for your user](https://github.com/git-for-windows/git/wiki/Symbolic-Links#allowing-non-administrators-to-create-symbolic-links). - -If you intend to run the unit tests, you also need the following: - - choco install -y winflexbison ruby - -Close and reopen the Administrator command window in order to continue with the ruby devkit: - - choco install -y ruby2.devkit - -And manually install the requirements via the `Gemfile` fetched from the ArangoDB Git repository -*(needs to be run with Administrator privileges)*: - - wget https://raw.githubusercontent.com/arangodb/arangodb/devel/tests/rb/HttpInterface/Gemfile - setx PATH %PATH%;C:\tools\DevKit2\bin;C:\tools\DevKit2\mingw\bin - gem install bundler - bundler - -Note that the V8 build scripts and gyp aren't compatible with Python 3.x hence you need python2! - -## Building ArangoDB - -Download and extract the release tarball from -[www.arangodb.com/download/](https://www.arangodb.com/download/) - -Or clone the GitHub repository and checkout the branch or tag you need (e.g. `devel`) - - git clone https://github.com/arangodb/arangodb.git -b devel - cd arangodb - -Generate the Visual studio project files, and check back that cmake discovered all components on your system: - - mkdir Build64 - cd Build64 - cmake -G "Visual Studio 15 2017 Win64" .. - -Note that in some cases cmake struggles to find the proper python interpreter -(i.e. the cygwin one won't work). You can force overrule it by appending: - - -DPYTHON_EXECUTABLE:FILEPATH=C:/Python27/python.exe - -You can now load these in the Visual Studio IDE or use cmake to start the build: - - cmake --build . --config RelWithDebInfo - -The binaries need the ICU datafile `icudt54l.dat`, which is automatically copied into the directory containing the -executable. - -If you intend to use the machine for development purposes, it may be more practical to copy it to a common place: - - cd 3rdParty/V8/v*/third_party/icu/source/data/in && cp icudt*.dat /cygdrive/c/Windows/ - -And configure your environment (yes this instruction remembers to the hitchhikers guide to the galaxy...) so that -`ICU_DATA` points to `c:\\Windows`. You do that by opening the explorer, -right click on `This PC` in the tree on the left, choose `Properties` in the opening window `Advanced system settings`, -in the Popup `Environment Variables`, another popup opens, in the `System Variables` part you click `New`, -And variable name: `ICU_DATA` to the value: `c:\\Windows` - -![HowtoSetEnv](../../../../images/SetEnvironmentVar.png) - -## Unit tests (Optional) - -The unit tests require a [cygwin](https://www.cygwin.com/) environment. - -You need at least `make` from cygwin. Cygwin also offers a `cmake`. Do **not** install the cygwin cmake. - -You should also issue these commands to generate user information for the cygwin commands: - - mkpasswd > /etc/passwd - mkgroup > /etc/group - -Turning ACL off (noacl) for all mounts in cygwin fixes permissions troubles that may appear in the build: - - # /etc/fstab - # - # This file is read once by the first process in a Cygwin process tree. - # To pick up changes, restart all Cygwin processes. For a description - # see https://cygwin.com/cygwin-ug-net/using.html#mount-table - - # noacl = Ignore Access Control List and let Windows handle permissions - C:/cygwin64/bin /usr/bin ntfs binary,auto,noacl 0 0 - C:/cygwin64/lib /usr/lib ntfs binary,auto,noacl 0 0 - C:/cygwin64 / ntfs override,binary,auto,noacl 0 0 - none /cygdrive cygdrive binary,posix=0,user,noacl 0 0 - -### Enable native symlinks for Cygwin and git - -Cygwin will create proprietary files as placeholders by default instead of -actually symlinking files. The placeholders later tell Cygwin where to resolve -paths to. It does not intercept every access to the placeholders however, so -that 3rd party scripts break. Windows Vista and above support real symlinks, -and Cygwin can be configured to make use of it: - - # use actual symlinks to prevent documentation build errors - # (requires elevated rights!) - export CYGWIN="winsymlinks:native" - -Note that you must run Cygwin as administrator or change the Windows group -policies to allow user accounts to create symlinks (`gpedit.msc` if available). - -BTW: You can create symlinks manually on Windows like: - - mklink /H target/file.ext source/file.ext - mklink /D target/path source/path - mklink /J target/path source/path/for/junction - -And in Cygwin: - - ln -s source target - -### Running Unit tests - -You can then run the integration tests in the cygwin shell like that: - - Build64/bin/RelWithDebInfo/arangosh.exe \ - -c etc/relative/arangosh.conf \ - --log.level warning \ - --server.endpoint tcp://127.0.0.1:1024 \ - --javascript.execute UnitTests/unittest.js \ - -- \ - all \ - --build Build64 \ - --buildType RelWithDebInfo \ - --skipNondeterministic true \ - --skipTimeCritical true \ - --skipBoost true \ - --skipGeo true - -Additional options `--ruby c:/tools/ruby25/bin/ruby` and `--rspec c:/tools/ruby25/bin/rspec` -should be used only if Ruby is not in the *PATH*. diff --git a/site/content/3.13/operations/installation/compiling/recompiling-jemalloc.md b/site/content/3.13/operations/installation/compiling/recompiling-jemalloc.md deleted file mode 100644 index b9e38587bd..0000000000 --- a/site/content/3.13/operations/installation/compiling/recompiling-jemalloc.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Jemalloc -menuTitle: Recompiling jemalloc -weight: 20 -description: >- - Resolving ---- -{{< info >}} -This article is only relevant if you intend to compile ArangoDB on Ubuntu 16.10 -or Debian testing -{{< /info >}} - -On more modern linux systems (development/floating at the time of this writing) -you may get compile / link errors with ArangoDB regarding jemalloc. -This is due to compilers switching their default behavior regarding the -`PIC` - Position Independent Code. It seems common that jemalloc remains in a -stage where this change isn't followed and causes ArangoDB to error out during -the linking phase. - -From now on cmake will detect this and give you this hint: - - the static system jemalloc isn't suitable! Recompile with the current compiler or disable using `-DCMAKE_CXX_FLAGS=-no-pie -DCMAKE_C_FLAGS=-no-pie` - -Now you've got three choices. - -- **Doing without jemalloc** - - Fixes the compilation issue, but you will get problems with the glibcs heap - fragmentation behavior which in the longer run will lead to an ever - increasing memory consumption of ArangoDB. - - While this may be suitable for development / testing systems, its definitely - not for production. - -- **Disabling PIC altogether** - - This will build an arangod which doesn't use this compiler feature. It may - be not so nice for development builds. It can be achieved by specifying - these options on cmake: - - -DCMAKE_CXX_FLAGS=-no-pie -DCMAKE_C_FLAGS=-no-pie - -- **Recompile jemalloc** - - The smartest way is to fix the jemalloc libraries packages on your system so - its reflecting that new behavior. On Debian / Ubuntu systems it can be - achieved like this: - - apt-get install automake debhelper docbook-xsl xsltproc dpkg-dev - apt source jemalloc - cd jemalloc* - dpkg-buildpackage - cd .. - dpkg -i *jemalloc*deb diff --git a/site/content/3.13/operations/installation/compiling/running-custom-build.md b/site/content/3.13/operations/installation/compiling/running-custom-build.md deleted file mode 100644 index 2fe985d026..0000000000 --- a/site/content/3.13/operations/installation/compiling/running-custom-build.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: create data directory -menuTitle: Running Custom Build -weight: 15 -description: >- - You've already built a custom version of ArangoDB and want to run it ---- -Once you built a custom version of ArangoDB (see -[Compiling](_index.md)), you may want to run it using -existing data or possibly in isolation from an existing installation. - -We assumes that you are in the root directory of the ArangoDB distribution -and compiling has successfully finished. - -Note that this guide is for Linux only. - -## Running in isolation - -This part shows how to run your custom build with an empty database directory - -```bash -mkdir /tmp/arangodb - -# run -bin/arangod \ - --configuration etc/relative/arangod.conf\ - --database.directory /tmp/arangodb -``` - -## Running with data - -This part shows how to run your custom build with the config and data from a pre-existing stable installation. - -{{< danger >}} -ArangoDB's developers may change the db file format and after running with a -changed file format, there may be no way back. Alternatively you can run your -build in isolation and [dump](../../../components/tools/arangodump/_index.md) and -[restore](../../../components/tools/arangorestore/_index.md) the data from the -stable to your custom build. -{{< /danger >}} - -When running like this, you must run the db as the arangod user (the default -installed by the package) in order to have write access to the log, database -directory etc. Running as root will likely mess up the file permissions - good -luck fixing that! - -```bash -# become root first -su - -# now switch to arangod and run -su - arangod -bin/arangod --configuration /etc/arangodb/arangod.conf -``` diff --git a/site/static/_redirects b/site/static/_redirects index cb1e14eebb..c8124fadde 100644 --- a/site/static/_redirects +++ b/site/static/_redirects @@ -1,3 +1,8 @@ +/3.12/operations/installation/compiling/ https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md +/3.12/operations/installation/compiling/compile-on-debian/ https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md +/3.12/operations/installation/compiling/running-custom-build/ https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md +/3.12/operations/installation/compiling/recompiling-jemalloc/ https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md + /3.10/develop/http/* /3.10/develop/http-api/:splat /3.11/develop/http/* /3.11/develop/http-api/:splat /3.12/develop/http/* /3.12/develop/http-api/:splat From b95a3074854f31e6f7131d70ff0c64a48fc8f9ce Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Mon, 8 Apr 2024 23:20:06 +0200 Subject: [PATCH 2/3] Netlify redirects for /stable/... too --- site/static/_redirects | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/site/static/_redirects b/site/static/_redirects index c8124fadde..ac38de7adf 100644 --- a/site/static/_redirects +++ b/site/static/_redirects @@ -3,6 +3,11 @@ /3.12/operations/installation/compiling/running-custom-build/ https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md /3.12/operations/installation/compiling/recompiling-jemalloc/ https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md +/stable/operations/installation/compiling/ https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md +/stable/operations/installation/compiling/compile-on-debian/ https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md +/stable/operations/installation/compiling/running-custom-build/ https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md +/stable/operations/installation/compiling/recompiling-jemalloc/ https://github.com/arangodb/arangodb/blob/devel/CONTRIBUTING.md + /3.10/develop/http/* /3.10/develop/http-api/:splat /3.11/develop/http/* /3.11/develop/http-api/:splat /3.12/develop/http/* /3.12/develop/http-api/:splat From 844a6e9c30aeb3d242c2b4326adedc108e6fb3d3 Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Wed, 10 Apr 2024 11:05:11 +0200 Subject: [PATCH 3/3] Apply 3.12 changes to 3.13 --- .../features/community-edition.md | 2 +- .../features/community-edition.md | 13 +- .../security-and-access-control/_index.md | 6 +- .../3.13/components/arangodb-server/_index.md | 2 +- .../tools/arangodb-shell/details.md | 8 +- .../tools/arangodb-starter/architecture.md | 2 +- .../tools/arangodb-starter/options.md | 2 +- .../tools/arangoimport/examples-json.md | 6 - .../arangographml/getting-started.md | 6 +- .../3.13/deploy/production-checklist.md | 7 - .../3.13/develop/http-api/administration.md | 6 +- .../content/3.13/develop/javascript-api/fs.md | 2 +- .../get-started/on-premises-installation.md | 16 +- .../administration/configuration.md | 10 +- .../3.13/operations/installation/_index.md | 70 ++--- .../linux/operating-system-configuration.md | 4 +- .../3.13/operations/installation/macos.md | 43 --- .../3.13/operations/installation/windows.md | 254 ------------------ .../operations/security/security-options.md | 9 +- .../community-to-enterprise-upgrade.md | 3 +- .../os-specific-information/macos.md | 34 --- .../os-specific-information/windows.md | 124 --------- .../version-3.12/known-issues-in-3-12.md | 1 - 23 files changed, 65 insertions(+), 565 deletions(-) delete mode 100644 site/content/3.13/operations/installation/macos.md delete mode 100644 site/content/3.13/operations/installation/windows.md delete mode 100644 site/content/3.13/operations/upgrading/os-specific-information/macos.md delete mode 100644 site/content/3.13/operations/upgrading/os-specific-information/windows.md diff --git a/site/content/3.12/about-arangodb/features/community-edition.md b/site/content/3.12/about-arangodb/features/community-edition.md index 233ec61ea9..82fdc699e1 100644 --- a/site/content/3.12/about-arangodb/features/community-edition.md +++ b/site/content/3.12/about-arangodb/features/community-edition.md @@ -53,7 +53,7 @@ see [arangodb.com/community-server/](https://www.arangodb.com/community-server/) - [**Multiple Environments**](../../operations/installation/_index.md#supported-platforms-and-architectures): Run ArangoDB on Linux using the production-ready packages for the x86-64 - architecture, bare metal or in containers. + architecture, on bare metal or in containers. Develop and test with ArangoDB on Windows, macOS, and Linux using the official ArangoDB Docker images, available for the x86-64 architecture and 64-bit ARM chips. diff --git a/site/content/3.13/about-arangodb/features/community-edition.md b/site/content/3.13/about-arangodb/features/community-edition.md index 37baaa7b91..82fdc699e1 100644 --- a/site/content/3.13/about-arangodb/features/community-edition.md +++ b/site/content/3.13/about-arangodb/features/community-edition.md @@ -47,12 +47,15 @@ see [arangodb.com/community-server/](https://www.arangodb.com/community-server/) Persistent document attributes that are generated when documents are created or modified, using an AQL expression. +- [**In the cloud or on-prem**](../features/_index.md#on-premises-versus-cloud): + Use ArangoDB as a [fully managed service](https://dashboard.arangodb.cloud/home?utm_source=docs&utm_medium=cluster_pages&utm_campaign=docs_traffic), + self-managed in the cloud, or on-premises. + - [**Multiple Environments**](../../operations/installation/_index.md#supported-platforms-and-architectures): - Use ArangoDB as a [managed service](https://dashboard.arangodb.cloud/home?utm_source=docs&utm_medium=cluster_pages&utm_campaign=docs_traffic), - in your own cloud, or on-premises. - Develop and test with ArangoDB on Linux, macOS, and Windows, and run it in - production on Linux. ArangoDB is available for 64-bit ARM chips on macOS and - Linux as well as for the x86-64 architecture. + Run ArangoDB on Linux using the production-ready packages for the x86-64 + architecture, on bare metal or in containers. + Develop and test with ArangoDB on Windows, macOS, and Linux using the official + ArangoDB Docker images, available for the x86-64 architecture and 64-bit ARM chips. ## Scalability & High Availability diff --git a/site/content/3.13/arangograph/security-and-access-control/_index.md b/site/content/3.13/arangograph/security-and-access-control/_index.md index 94973e3f2e..a53ef4b478 100644 --- a/site/content/3.13/arangograph/security-and-access-control/_index.md +++ b/site/content/3.13/arangograph/security-and-access-control/_index.md @@ -115,8 +115,10 @@ Predefined roles cannot be deleted. Note that permissions linked to predefined roles vary between organization owners and organization members. {{% comment %}} -Windows command to generate below list (cmd.exe): -oasisctl list roles --organization-id --format json | jq -r ".[] | select(.predefined == true) | \"**\(.description)** (`\(.id)`):\n\(.permissions ^| split(\", \") ^| map(\"- `\(.)`\n\") ^| join(\"\"))"" +Command to generate below list with (Git)Bash: + +export OASIS_TOKEN='' +./oasisctl list roles --organization-id --format json | jq -r '.[] | select(.predefined == true) | "**\(.description)** (`\(.id)`):\n\(.permissions | split(", ") | map("- `\(.)`\n") | join(""))"' {{% /comment %}} {{< expand title="List of predefined roles and their permissions" >}} diff --git a/site/content/3.13/components/arangodb-server/_index.md b/site/content/3.13/components/arangodb-server/_index.md index 82da2f3a5f..e12ed49eca 100644 --- a/site/content/3.13/components/arangodb-server/_index.md +++ b/site/content/3.13/components/arangodb-server/_index.md @@ -4,7 +4,7 @@ menuTitle: ArangoDB Server weight: 170 description: >- The ArangoDB daemon (arangod) is the central server binary that can run in - different modes for a variety of setups like single server and clusters + different modes for single server setups and clusters --- The ArangoDB server is the core component of ArangoDB. The executable file to run it is named `arangod`. The `d` stands for daemon. A daemon is a long-running diff --git a/site/content/3.13/components/tools/arangodb-shell/details.md b/site/content/3.13/components/tools/arangodb-shell/details.md index 1a8bc2b884..d536f5ffb9 100644 --- a/site/content/3.13/components/tools/arangodb-shell/details.md +++ b/site/content/3.13/components/tools/arangodb-shell/details.md @@ -23,8 +23,7 @@ To load your own JavaScript code into the current JavaScript interpreter context use the load command: ```js -require("internal").load("/tmp/test.js") // <- Linux / macOS -require("internal").load("c:\\tmp\\test.js") // <- Windows +require("internal").load("/tmp/test.js") ``` You can exit arangosh using the key combination ` + D` or by @@ -91,7 +90,7 @@ To turn on pretty printing again, use the `start_pretty_print()` command. ## Escaping In AQL, escaping is done traditionally with the backslash character: `\`. -As seen above, this leads to double backslashes when specifying Windows paths. +For literal backslashes, you need to double backslashes to `\\`. _arangosh_ requires another level of escaping, also with the backslash character. It adds up to four backslashes that need to be written in _arangosh_ for a single literal backslash (`c:\tmp\test.js`): @@ -169,8 +168,7 @@ and finally try it out: _arangosh_ looks for a user-defined startup script named `.arangosh.rc` in the user's home directory on startup. The home directory is likely at `/home//` -on Unix/Linux, and is determined on Windows by peeking into the environment variables -`%HOMEDRIVE%` and `%HOMEPATH%`. +on Unix/Linux. If the file `.arangosh.rc` is present in the home directory, _arangosh_ executes the contents of this file inside the global scope. diff --git a/site/content/3.13/components/tools/arangodb-starter/architecture.md b/site/content/3.13/components/tools/arangodb-starter/architecture.md index c6637cb969..b6d94d0903 100644 --- a/site/content/3.13/components/tools/arangodb-starter/architecture.md +++ b/site/content/3.13/components/tools/arangodb-starter/architecture.md @@ -18,7 +18,7 @@ level orchestration system (e.g. Kubernetes) available. ## Starter versions -The Starter is a separate process in a binary called `arangodb` (or `arangodb.exe` on Windows). +The Starter is a separate process in a binary called `arangodb`. This binary has its own version number that is independent of a ArangoDB (database) version. diff --git a/site/content/3.13/components/tools/arangodb-starter/options.md b/site/content/3.13/components/tools/arangodb-starter/options.md index 7046e63f24..603bbba8cd 100644 --- a/site/content/3.13/components/tools/arangodb-starter/options.md +++ b/site/content/3.13/components/tools/arangodb-starter/options.md @@ -268,7 +268,7 @@ debugging only. If set to `true`, console log output is colorized. The default is `true` when a terminal is attached to stdin, -`false` otherwise or when running on Windows. +`false` otherwise. - `--log.console=bool` diff --git a/site/content/3.13/components/tools/arangoimport/examples-json.md b/site/content/3.13/components/tools/arangoimport/examples-json.md index 08a2de1a87..d38ed3bccd 100644 --- a/site/content/3.13/components/tools/arangoimport/examples-json.md +++ b/site/content/3.13/components/tools/arangoimport/examples-json.md @@ -201,12 +201,6 @@ data from the `cat` process to arangoimport (in a Bash-like shell): cat data.json | arangoimport --file - --type jsonl --collection users ``` -In a command line or PowerShell on Windows, there is the `type` command: - -``` -type data.json | arangoimport --file - --type jsonl --collection users -``` - The option `--file -` with a hyphen as the file name is special and makes it read from the standard input. No progress can be reported for such imports as the size of the input is unknown to arangoimport. diff --git a/site/content/3.13/data-science/arangographml/getting-started.md b/site/content/3.13/data-science/arangographml/getting-started.md index 70d234f17d..2bc3e46030 100644 --- a/site/content/3.13/data-science/arangographml/getting-started.md +++ b/site/content/3.13/data-science/arangographml/getting-started.md @@ -308,7 +308,7 @@ The Featurization Specification asks that you input the following: and they can all be featurized in different ways. Supplying multiple features results in a single concatenated feature. - `feature_type`: Provide the feature type. Currently, the supported types - include `text`, `category`, and `numerical`. + include `text`, `category`, `numeric` and `label`. - `feature_generator` Optional: Adjust advanced feature generation parameters. - `feature_name`: The name of this Dict should match the attribute name of the document stored in ArangoDB. This overrides the name provided for the parent Dict. @@ -319,7 +319,7 @@ The Featurization Specification asks that you input the following: "collectionName": { "features": { "attribute_name_1": { - "feature_type": 'text' # Suported types: text, category, numerical, label + "feature_type": 'text' # Suported types: text, category, numeric, label "feature_generator": { # this advanced option is optional. "method": "transformer_embeddings", "feature_name": "movie_title_embeddings", @@ -826,4 +826,4 @@ query = f""" docs = [doc for doc in dataset_db.aql.execute(query)] print(json.dumps(docs, indent=2)) -``` \ No newline at end of file +``` diff --git a/site/content/3.13/deploy/production-checklist.md b/site/content/3.13/deploy/production-checklist.md index 2e6cb18613..486452b1e2 100644 --- a/site/content/3.13/deploy/production-checklist.md +++ b/site/content/3.13/deploy/production-checklist.md @@ -50,13 +50,6 @@ have been performed on your production system before you go live. update-rc.d -f arangodb3 remove ``` - On Windows in a command prompt with elevated rights: - - ``` - sc config arangodb start= disabled - sc stop arangodb - ``` - - If you have deployed a Cluster, the _replication factor_ and _minimal_replication_factor_ of your collections are set to a value equal or higher than 2, otherwise you run the risk of diff --git a/site/content/3.13/develop/http-api/administration.md b/site/content/3.13/develop/http-api/administration.md index 30b3c262d1..fcd8786ed0 100644 --- a/site/content/3.13/develop/http-api/administration.md +++ b/site/content/3.13/develop/http-api/administration.md @@ -136,7 +136,7 @@ paths: type: string platform: description: | - the host os - `linux`, `windows` or `darwin` + the host operating system, always `linux` type: string reactor-type: description: | @@ -748,9 +748,7 @@ paths: - `requiresValue` (boolean): Whether the option can be specified without a value to enable it - `os` (array of strings): The operating systems the startup option - is supported on, typically `["linux", "macos", "windows"]`. On an - OS that does not support a specific option, the option is not - reported + is supported on, always `["linux"]` - `component` (array of strings): A list of server roles the startup option is available on. If it is supported by all cluster node types as well as the single server deployment mode, then the value is diff --git a/site/content/3.13/develop/javascript-api/fs.md b/site/content/3.13/develop/javascript-api/fs.md index 9e08512955..546b6c6ae3 100644 --- a/site/content/3.13/develop/javascript-api/fs.md +++ b/site/content/3.13/develop/javascript-api/fs.md @@ -98,7 +98,7 @@ absolute path to the same location is returned. ### chmod -sets file permissions of specified files (non windows only) +sets file permissions of specified files `fs.chmod(path, mode)` where `mode` is a string with a leading zero matching the `OCTAL-MODE` as explained diff --git a/site/content/3.13/get-started/on-premises-installation.md b/site/content/3.13/get-started/on-premises-installation.md index c866edf1c4..272521ac21 100644 --- a/site/content/3.13/get-started/on-premises-installation.md +++ b/site/content/3.13/get-started/on-premises-installation.md @@ -9,17 +9,12 @@ description: >- ## Installation Head to [arangodb.com/download](https://www.arangodb.com/download/), -select your operating system and download ArangoDB. You may also follow +select your operating system, and download ArangoDB. You may also follow the instructions on how to install with a package manager, if available. If you installed a binary package under Linux, the server is automatically started. -If you installed ArangoDB under Windows as a service, the server is -automatically started. Otherwise, run the `arangod.exe` located in the -installation folder's `bin` directory. You may have to run it as administrator -to grant it write permissions to `C:\Program Files`. - For more in-depth information on how to install ArangoDB, as well as available startup parameters, installation in a cluster and so on, see [Installation](../operations/installation/_index.md) and @@ -52,16 +47,15 @@ For a more detailed description of the interface, see [Web Interface](../compone The default installation contains one database `_system` and a user named `root`. -Debian-based packages and the Windows installer ask for a -password during the installation process. Red-Hat based packages -set a random password. For all other installation packages, you need to -execute the following: +Debian-based packages ask for a password during the installation process. +Red-Hat based packages set a random password. For all other installation +packages, you need to execute the following: ``` shell> arango-secure-installation ``` -This commands asks for a root password and sets it. +This command asks for a root password and sets it. {{< warning >}} The password that is set for the root user during the installation of the ArangoDB diff --git a/site/content/3.13/operations/administration/configuration.md b/site/content/3.13/operations/administration/configuration.md index ebe2aaa9a0..c9afee7333 100644 --- a/site/content/3.13/operations/administration/configuration.md +++ b/site/content/3.13/operations/administration/configuration.md @@ -171,7 +171,6 @@ The value `none` is case-insensitive. {{% comment %}} Specific to arangod, move to programs detail page? Does the resolution order for config files apply to all binaries? -Linux only? Also macOS? Windows not addressed so far. If this command is not passed to the server, then by default, the server attempts to first locate a file named `~/.arango/arangod.conf` in the user's home @@ -240,11 +239,10 @@ In a configuration file: path = @TEMP@/arango_tmp ``` -On a Windows system, above setting would typically make the ArangoDB Server -create its folder for temporary files in `%USERPROFILE%\AppData\Local\Temp`, -i.e. `C:\Users\xxx\AppData\Local\Temp\arango_tmp`. - -{{% comment %}}What other placeholders are there? @ROOTDIR@ ...{{% /comment %}} +The `@TEMP@` placeholder is substituted by the value of the `TEMP` +environment variable. For example, if you set it to `/var/lib`, the resulting +startup option value is `/var/lib/arango_tmp`. If the environment variable doesn't +exist, the placeholder is removed and the resulting value is `/arango_tmp`. ## Options with multiple values diff --git a/site/content/3.13/operations/installation/_index.md b/site/content/3.13/operations/installation/_index.md index fb10941038..3d225b8ada 100644 --- a/site/content/3.13/operations/installation/_index.md +++ b/site/content/3.13/operations/installation/_index.md @@ -3,20 +3,15 @@ title: Installation menuTitle: Installation weight: 210 description: >- - You can install ArangoDB by downloading and running the official packages, - as well as run ArangoDB using Docker images + You can install ArangoDB on Linux by downloading and running the official + packages, as well as run ArangoDB in containers on multiple operating systems --- -To install ArangoDB, as first step, please download a package for your operating -system from the official [Download](https://www.arangodb.com/download) -page of the ArangoDB web site. +To install ArangoDB on Linux, as a first step, please download a package from +the official [Download](https://www.arangodb.com/download) page of the ArangoDB +website. -You can find packages for various operating systems, including _RPM_ and _Debian_ -packages for Linux, including `tar.gz` archives. For macOS, only client tools `tar.gz` -packages are available. For Windows, _Installers_ and `zip` archives are available. - -- [Linux](linux/_index.md) -- [macOS](macos.md) -- [Windows](windows.md) +There are different packages available, such as _RPM_ and _Debian_ packages for +different Linux distributions, as well as generic `tar.gz` archives. {{< tip >}} You can also use the official [Docker images](https://hub.docker.com/_/arangodb/) @@ -32,21 +27,24 @@ please refer to the [Deploy](../../deploy/_index.md) chapter. ## Supported platforms and architectures -Work with ArangoDB on Linux, macOS, and Windows, and run it in production on Linux. +ArangoDB requires systems with **Little Endian** byte order. -{{< info >}} -ArangoDB requires systems with Little Endian byte order. -{{< /info >}} +You can run ArangoDB on Linux directly (bare metal) or in containers. -{{< tip >}} -[ArangoGraph Insights Platform](https://dashboard.arangodb.cloud/home?utm_source=docs&utm_medium=cluster_pages&utm_campaign=docs_traffic) -is a fully-managed service and requires no installation. It's the easiest way -to run ArangoDB in the cloud. -{{< /tip >}} +Starting with version 3.12, ArangoDB packages for Windows and macOS are not provided +anymore. You can use the official [Docker images](https://hub.docker.com/_/arangodb/) +instead. + +{{< warning >}} +Running production environments with Windows or macOS as the host +operating system is not supported. +{{< /warning >}} ### Linux -ArangoDB is available for the following architectures: +You can run ArangoDB on Linux, including production environments, on the +x86-64 architecture. Running ArangoDB on ARM architectures is suitable for +testing and evaluation purposes. - **x86-64**: The processor(s) must support the **x86-64** architecture with the **SSE 4.2** and **AVX** instruction set extensions (Intel Sandy Bridge or better, @@ -57,26 +55,8 @@ ArangoDB is available for the following architectures: The official Linux release executables of ArangoDB require the operating system to use a page size of **4096 bytes** or less. -## macOS - -{{< info >}} -Starting with version 3.11.0, ArangoDB Server binaries for macOS are not -provided anymore. -{{< /info >}} - -Client tools are available for the following architectures: - -- **x86-64**: The processor(s) must support the **x86-64** architecture with the - **SSE 4.2** and **AVX** instruction set extensions (Intel Sandy Bridge or better, - AMD Bulldozer or better, etc.). -- **ARM**: The processor(s) must be 64-bit Apple silicon (**M1** or later) based on - ARM (**AArch64**). - -## Windows - -ArangoDB is available for the following architectures: - -- **x86-64**: The processor(s) must support the **x86-64** architecture with the - **SSE 4.2** and **AVX** instruction set extensions (Intel Sandy Bridge or better, - AMD Bulldozer or better, etc.). - \ No newline at end of file +{{< tip >}} +[ArangoGraph Insights Platform](https://dashboard.arangodb.cloud/home?utm_source=docs&utm_medium=cluster_pages&utm_campaign=docs_traffic) +is a fully-managed service and requires no installation. It's the easiest way +to run ArangoDB in the cloud. +{{< /tip >}} diff --git a/site/content/3.13/operations/installation/linux/operating-system-configuration.md b/site/content/3.13/operations/installation/linux/operating-system-configuration.md index 95948af290..84887b3cfb 100644 --- a/site/content/3.13/operations/installation/linux/operating-system-configuration.md +++ b/site/content/3.13/operations/installation/linux/operating-system-configuration.md @@ -56,8 +56,8 @@ furthermore we experienced some issues with hard links required for Hot Backup. On Linux ArangoDB uses [jemalloc](https://github.com/jemalloc/jemalloc) as its memory allocator. Unfortunately, some OS configurations can interfere with -jemalloc's ability to function properly. Specifically, Linux's "transparent hugepages", -Windows' "large pages" and other similar features sometimes prevent jemalloc from +jemalloc's ability to function properly. +Specifically, Linux's "transparent hugepages" sometimes prevent jemalloc from returning unused memory to the operating system and result in unnecessarily high memory use. Therefore, we recommend disabling these features when using jemalloc with ArangoDB. Please consult your operating system's documentation for how to do this. diff --git a/site/content/3.13/operations/installation/macos.md b/site/content/3.13/operations/installation/macos.md deleted file mode 100644 index 57e00ff323..0000000000 --- a/site/content/3.13/operations/installation/macos.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Installing ArangoDB on macOS -menuTitle: macOS -weight: 15 -description: '' ---- -You can use ArangoDB on macOS with [Docker images](#docker) and run the client -tools using [_tar.gz_ archives](#installing-the-client-tools-using-the-archive). - -{{< tip >}} -Starting from version 3.10.0, ArangoDB has native support for the ARM -architecture and can run on Apple silicon (e.g. M1 chips). -{{< /tip >}} - -{{< info >}} -Running production environments on macOS is not supported. -{{< /info >}} - -{{< info >}} -Starting from version 3.11.0, ArangoDB Server binaries for macOS are not -provided anymore. -{{< /info >}} - -## Docker - -The recommended way of using ArangoDB on macOS is to use the -[ArangoDB Docker images](https://www.arangodb.com/download-major/docker/) -with, for instance, [Docker Desktop](https://www.docker.com/products/docker-desktop/). - -See the documentation on [Docker Hub](https://hub.docker.com/_/arangodb), -as well as the [Deploy](../../deploy/_index.md) section about -different deployment modes and methods including Docker containers. - -## Installing the client tools using the archive - -1. Visit the official [Download](https://www.arangodb.com/download) - page of the ArangoDB website and download the client tools _tar.gz_ archive for macOS. - -2. You may verify the download by comparing the SHA256 hash listed on the website - to the hash of the file. For example, you can you run `openssl sha256 ` - or `shasum -a 256 ` in a terminal. - -3. Extract the archive by double-clicking the file. diff --git a/site/content/3.13/operations/installation/windows.md b/site/content/3.13/operations/installation/windows.md deleted file mode 100644 index 3fc0f6a1a3..0000000000 --- a/site/content/3.13/operations/installation/windows.md +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Installing ArangoDB on Windows -menuTitle: Windows -weight: 20 -description: >- - You can use ArangoDB on Windows via Docker images, or use an installer or zip archives ---- -You can use ArangoDB on Windows (64-bit) in different ways: - -- [Docker image](#docker) -- Automated, using an installation wizard ("installer") - - [attended](#installing-using-the-installer) (GUI) - - [unattended](#unattended-installation-using-the-installer) (command line) -- Manually, using a [ZIP archive](#installing-using-the-zip-archive) - -Visit the official [Download](https://www.arangodb.com/download) -page of the ArangoDB web site. - -You may verify the download by comparing the SHA256 hash listed on the website -to the hash of the file. For example, you can run `openssl sha256 ` -or `certutil -hashfile sha256` in a terminal. - -{{< info >}} -Running production environments on Windows is not supported. -{{< /info >}} - -## Docker - -The recommended way of using ArangoDB on Windows is to use the ArangoDB Docker -images with, for instance, [Docker Desktop](https://www.docker.com/products/docker-desktop/). - -You can choose one of the following: -- [`arangodb` official Docker images](https://hub.docker.com/_/arangodb), - verified and published by Docker. -- [`arangodb/arangodb` Docker images](https://hub.docker.com/r/arangodb/arangodb), - maintained and directly published by ArangoDB on a regular basis. - -See the documentation on [Docker Hub](https://hub.docker.com/_/arangodb), -as well as the [Deploy](../../deploy/_index.md) section about -different deployment modes and methods including Docker containers. - -## Installing using the Installer - -The default installation directory is `%PROGRAMFILES%\ArangoDB-3.x.x` -(multi-user) or `%LOCALAPPDATA%\ArangoDB-3.x.x\` (single-user). You may change -it during the installation process. In the following description, it is assumed -that ArangoDB has been installed in the location ``. - -You have to be careful when choosing an installation directory. You need either -write permission to this directory or you need to modify the configuration file -for the server process. In the latter case the database directory and the Foxx -directory have to be writable by the user. - -### Single- and Multi-User Installation - -There are two main modes for the installer of ArangoDB. -The installer lets you select: - -- **Multi-user installation** (default; admin privileges required). - Installs ArangoDB as service. -- **Single-user installation**. - Allows to install ArangoDB as normal user. - Requires manual starting of the database server. - -### Installation Options - -You can tick or untick the following checkboxes: - -- Choose custom install paths -- Do an automatic upgrade -- Keep an backup of your data -- Add executables to path -- Create a desktop icon - -#### Custom Install Paths - -This checkbox controls if you are able to override -the default paths for the installation in subsequent steps. - -The default installation paths are: - -Multi-User Default: -- Installation: `%PROGRAMFILES%\ArangoDB-3.x.x` -- DataBase: `%PROGRAMDATA%\ArangoDB` -- Foxx Service: `%PROGRAMDATA%\ArangoDB-apps` - -Single-User Default: -- Installation: `%LOCALAPPDATA%\ArangoDB-3.x.x\` -- DataBase: `%LOCALAPPDATA%\ArangoDB\` -- Foxx Service: `%LOCALAPPDATA%\ArangoDB-apps\` - -The environment variables are typically: -- `%PROGRAMFILES%`: `C:\Program Files` -- `%PROGRAMDATA%`: `C:\ProgramData` -- `%LOCALAPPDATA%`: `C:\Users\\AppData\Local` - -We are not using the roaming part of the user's profile, because doing so -avoids the data being synced to the windows domain controller. - -#### Automatic Upgrade - -If this checkbox is selected, the installer attempts to perform an automatic -update. For more information, please see -[Upgrading on Windows](../upgrading/os-specific-information/windows.md). - -#### Keep Backup - -Select this to create a backup of your database directory during automatic upgrade. -The backup is created next to your current database directory suffixed by -a time stamp. - -#### Add to Path - -Select this to add the binary directory to your system's path (multi-user -installation) or user's path (single-user installation). - -#### Desktop Icon - -Select if you want the installer to create Desktop Icons that let you: - -- access the web interface -- start the command-line client (arangosh) -- start the database server (single-user installation only) - -### Starting - -If you installed ArangoDB for multiple users (as a service), it is automatically -started. Otherwise you need to use the shortcut that was created on your desktop -(depending on the installer settings) or by running the executable `arangod.exe` -located in `\usr\bin`. It uses the configuration file `arangod.conf` -located in `\etc\arangodb3`, which you can adjust to your needs. - -Please check the output of the `arangod.exe` executable before continuing. -If the server started successfully, you should see a line -`ArangoDB is ready for business. Have fun!` at the end of its output. - -You can access the administration web interface by pointing your web browser to -the following address: - -``` -http://127.0.0.1:8529/ -``` - -### Advanced Starting - -If you want to provide your own start scripts, you can set the environment -variable `ARANGODB_CONFIG_PATH`. This variable should point to a directory -containing the configuration files. - -### Using the Client - -To connect to an already running ArangoDB server instance, there is a shell -`arangosh.exe` located in `\usr\bin`. This starts a shell that can be -used – amongst other things – to administer and query a local or remote -ArangoDB server. - -Note that `arangosh.exe` does NOT start a separate server, it only starts the -shell. To use it you must have a server running somewhere, e.g. by using -the `arangod.exe` executable. - -`arangosh.exe` uses the configuration from the file `arangosh.conf` located in -`\etc\arangodb3\`. Please adjust this to your needs if you want to -use different connection settings etc. - -### Uninstalling - -To uninstall the Arango server application you can use the windows control panel -(as you would normally uninstall an application). Note however, that any data -files created by the ArangoDB server as well as the `` directory -remain. To complete the uninstallation process, remove the data files and -the `` directory manually. - -## Unattended installation using the installer - -The NSIS-based installer requires user interaction by default, but it also -offers a [Silent Mode](https://nsis.sourceforge.io/Docs/Chapter4.html#silent) -which allows you to run it non-interactively from the command line: - -``` -ArangoDB3-3.x.x_win64.exe /S ... -``` - -You can run the uninstaller in Silent Mode: - -``` -Uninstall.exe /S ... -``` - -All choices available in the GUI can be passed as arguments. The options can -be specified like `/OPTIONNAME=value`. - -### Supported options - -*For Installation*: - -- `/PASSWORD` - Set the password for the `root` user. If this option is not set - but a persistent environment variable `PASSWORD` is, then its value is - used as password. -- `/INSTDIR` - Installation directory. A directory that you have access to. -- `/DATABASEDIR` - Database directory. A directory that you have access to - and the databases should be created in. -- `/APPDIR` - Foxx Services directory. A directory that you have access to. -- `/INSTALL_SCOPE_ALL`: - - `1` - Install for all users, as well as install a Windows service called - `arangodb` and launch it. - - `0` - Install for the current user only. Does not start the server - automatically, but creates a shortcut on the desktop to start it. -- `/DESKTOPICON` - - `0` - Do not create any shortcuts - - `1` - Create shortcuts on the desktop for arangosh and the web interface -- `/UPGRADE` - - `1` - Automatically upgrade existing ArangoDB databases - - `0` - No upgrade of databases -- `/BACKUP_ON_UPGRADE` - - `1` - Keep a backup of the databases if `/UPGRADE=1` is set - - `0` - No backup -- `/PATH` - - `0` - Do not add ArangoDB to the PATH environment variable - - `1`: - - With `/INSTALL_SCOPE_ALL=1`: add it to the path for all users - - With `/INSTALL_SCOPE_ALL=0`: add it to the path of the currently logged in users - -*For Uninstallation*: - -- `/PURGE_DB` - - `0` - Database files remain on the system - - `1` - Database files ArangoDB created during its lifetime are removed, too. - -## Installing using the ZIP archive - -Not all users prefer the guided _Installer_ to install ArangoDB. In order to have a -[portable application](http://en.wikipedia.org/wiki/Portable_application), or easily -start different ArangoDB versions on the same machine, and/or for the maximum flexibility, -you might want to install using the _ZIP_ archive ([XCOPY deployment](http://en.wikipedia.org/wiki/XCOPY_deployment)). - -### Unzip the archive - -Open an explorer, choose a place where you would like ArangoDB to be, and extract the -archive there. It creates its own top-level directory with the version number in the name. - -### Edit the configuration - -*This step is optional.* - -If the default configuration of ArangoDB does not suite your needs, -you can edit `etc\arangodb3\arangod.conf` to change or add configuration options. - -### Start the Server - -After installation, you may start ArangoDB in several ways. The exact start-up command -depends on the type of ArangoDB deployment you are interested in -(_Single Instance_ or _Cluster_). - -Please refer to the [Deploy](../../deploy/_index.md) chapter for details. diff --git a/site/content/3.13/operations/security/security-options.md b/site/content/3.13/operations/security/security-options.md index 5966623110..be9fe471be 100644 --- a/site/content/3.13/operations/security/security-options.md +++ b/site/content/3.13/operations/security/security-options.md @@ -291,12 +291,9 @@ JavaScript exception: ArangoError 11: not allowed to connect to this URL: http:/ {{< warning >}} Startup options may require additional escaping in your command line. -Examples are: -- Dollar symbols and backslashes in most Linux and macOS shells (`\$`, `\\`), - unless the entire string is wrapped in single quotes (`'tcp://arangodb\.org$'` - instead of `tcp://arangodb\\.org\$`) -- Circumflex accents in Windows `cmd` (`^^`) unless the entire string is - wrapped in double quotes (`"^http…"`). +For examples, dollar symbols and backslashes need to be escaped in most Linux +shells (`\$`, `\\`) unless the entire string is wrapped in single quotes +(`'tcp://arangodb\.org$'` instead of `tcp://arangodb\\.org\$`). {{< /warning >}} ### Additional JavaScript security options diff --git a/site/content/3.13/operations/upgrading/community-to-enterprise-upgrade.md b/site/content/3.13/operations/upgrading/community-to-enterprise-upgrade.md index 7093f05982..bf3a66aeb5 100644 --- a/site/content/3.13/operations/upgrading/community-to-enterprise-upgrade.md +++ b/site/content/3.13/operations/upgrading/community-to-enterprise-upgrade.md @@ -47,8 +47,7 @@ For more information about setting a license key, see [License Management](../ad are stopped and all the data directories in use are copied in a safe location 2. Uninstall the ArangoDB Community Edition package (make sure this is done in a way that your database is kept on your disk, e.g. on _Debian_ systems do **not** use the - _purge_ option of _dpkg_ or, on Windows, do **not** check the "_Delete databases with - uninstallation?_" option) + _purge_ option of _dpkg_) 3. Install the ArangoDB Enterprise Edition package 4. If you are moving from version A to version B, where B > A, start _arangod_ on your data directory with the option `--database.auto-upgrade` (in addition to diff --git a/site/content/3.13/operations/upgrading/os-specific-information/macos.md b/site/content/3.13/operations/upgrading/os-specific-information/macos.md deleted file mode 100644 index b927d0e2e6..0000000000 --- a/site/content/3.13/operations/upgrading/os-specific-information/macos.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Upgrading on macOS -menuTitle: macOS -weight: 10 -description: >- - How to upgrade an ArangoDB single server installation installed via a DMG package -aliases: - - upgrading-on-macos ---- -If you installed ArangoDB on macOS using a _DMG_ package for a single server -installation, follow the instructions below to upgrade the deployment. - -{{< warning >}} -It is highly recommended to take a backup of your data before upgrading ArangoDB -using [_arangodump_](../../../components/tools/arangodump/_index.md). -{{< /warning >}} - -## Upgrading via Package - -[Download](https://www.arangodb.com/download/) the latest -ArangoDB macOS package and install it as usual by mounting the `.dmg` file. -Drag and drop the `ArangoDB3-CLI` (Community Edition) or the `ArangoDB3e-CLI` -(Enterprise Edition) file onto the shown `Applications` folder. -You are asked if you want to replace the old file with the newer one. - -![MacOSUpgrade](../../../../images/MacOSUpgrade.png) - -Select `Replace` to install the new ArangoDB version. - -## Upgrading more complex environments - -The procedure described above is a first step to upgrade more complex -deployments such as a -[Cluster](../../../deploy/cluster/_index.md). diff --git a/site/content/3.13/operations/upgrading/os-specific-information/windows.md b/site/content/3.13/operations/upgrading/os-specific-information/windows.md deleted file mode 100644 index b43686c6e1..0000000000 --- a/site/content/3.13/operations/upgrading/os-specific-information/windows.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: Upgrading on Windows -menuTitle: Windows -weight: 15 -description: >- - How to upgrade a single server installation using an installer or zip archive -aliases: - - upgrading-on-windows ---- -As there are different ways to install ArangoDB on Windows, the upgrade -method depends on the installation method that was used. - -In general, it will be needed to: - -- Install (or unpack) the new ArangoDB binaries on the system -- Upgrade the current database (or perform a restore) -- Optional (but suggested) to keep the system clean (unless there are specific - reasons to not do so): remove the old binaries from the system - -Some of the above steps may be done automatically, depending on your -specific situation. - -{{< warning >}} -It is highly recommended to take a backup of your data before upgrading ArangoDB -using [_arangodump_](../../../components/tools/arangodump/_index.md). -{{< /warning >}} - -## Upgrading via the Installer - -If you have installed via the _Installer_, to upgrade: - -- Download the new _Installer_ and run it. -- The _Installer_ will ask if you want to update your current database: select - the option "_Automatically update existing ArangoDB database_" so that the database - files will be upgraded. - -![Update Option](../../../../images/installer_upgrade.png) - -{{< info >}} -Upgrading via the Installer, when the old data is kept, will keep your -password and choice of storage engine as it is. -{{< /info >}} - -- After installing the new package, you will have both packages installed. -- You can uninstall the old one manually (make a copy of your old configuration -file first). - -![Uninstall old version](../../../../images/both_installations.png) - -{{< danger >}} -When uninstalling the old package, please make sure the option -"_Delete databases with uninstallation_" is **not** checked. -{{< /danger >}} - -![Delete Option](../../../../images/installer_delete.png) - -{{< danger >}} -When upgrading, the Windows Installer does not use the old configuration file -for the installed _Single Instance_ but a new (default) one ([Issue #3773](https://github.com/arangodb/arangodb/issues/3773)). -To use the old configuration, it is currently needed to: -- Stop the server -- Replace the new with the old configuration file -- Restart the server -{{< /danger >}} - -## Manual upgrade of a 'ZIP archive' installation - -There are two ways to upgrade a _Single Instance_ that has been started -from a _ZIP_ package: - -- In-Place upgrade -- Logical upgrade - -### In-Place upgrade - -{{< info >}} This method works easier if: -- You are using a data directory which is located outside of the directory - created when extracting the _ZIP_ archive (data directory can be set via - the server option *--database.directory*) -- You are using a configuration file which is located outside of the directory - created when extracting the _ZIP_ archive (a configuration file can be passed via - the server option *--configuration*) -{{< /info >}} - -Assuming that: -- Your data directory is _directory1_ (e.g. "D:\arango\data") -- Your configuration file is _file_ (e.g. "D:\arango\conf\arangod.conf") -- Your old binaries are on _directory2_ (e.g. "C:\tools\arangodb-3.4.0") - -to perform the upgrade of a _Single Instance_: - -1. Download and extract the new _ZIP_ package into a new directory (e.g - _directory3_ "C:\tools\arangodb-3.4.1") -2. Stop your old server -3. Start again the server (this time using the binary located in _directory3_) - passing: - - _directory1_ as *--database.directory*, - - _file_ as *--configuration* - - the option *--database.auto-upgrade* (so that the old data directory will - be upgraded) -4. When the previous step is finished the server will stop automatically; you - can now start your server again as done in the previous step but without - passing the *--database.auto-upgrade* option -5. Optionally remove the old server package by dropping the corresponding - directory when you are confident enough that all is working fine. - -### Logical upgrade - -To perform the upgrade of a _Single Instance_: - -1. Download the new package and extract it on a different location than the - previous one -2. Stop writes to the old server (e.g. block incoming connections) -3. Take a backup of the data using _arangodump_ -4. Stop the old server -5. Optional (depending on whether or not you modified default configuration), - copy old ArangoDB configuration file to the new server (or just edit - the new configuration file) -6. Start the new server (with a fresh data directory, by default it will be - inside the directory created when extracting the _ZIP_ archive) -7. Restore the backup into the new server using _arangorestore_ -8. Re-enable the writes (e.g. allow again incoming connections) -9. Optionally remove the old server package by dropping the corresponding - directory when you are confident enough that all is working fine. diff --git a/site/content/3.13/release-notes/version-3.12/known-issues-in-3-12.md b/site/content/3.13/release-notes/version-3.12/known-issues-in-3-12.md index bf41d937f2..7dbe6e4e5e 100644 --- a/site/content/3.13/release-notes/version-3.12/known-issues-in-3-12.md +++ b/site/content/3.13/release-notes/version-3.12/known-issues-in-3-12.md @@ -54,4 +54,3 @@ Note that this page does not list all open issues. | **Date Added:** 2024-03-21
**Component:** arangod
**Deployment Mode:** All
**Description:** When creating an `inverted` index with the `inBackground` option enabled, HTTP API calls like `http://localhost:8529/_api/index?collection=&withHidden=true` don't return the `isBuilding` and `progress` attributes and the progress of the index building can thus not be observed.
**Affected Versions:** 3.10.13, 3.11.7, 3.12.x
**Fixed in Versions:** -
**Reference:** [BTS-1788](https://arangodb.atlassian.net/browse/BTS-1788) (internal) | | **Date Added:** 2024-03-28
**Component:** arangod
**Deployment Mode:** Cluster
**Description:** During startup or upgrade from a previous minor version, Agent nodes crash if the `--cluster.force-one-shard` option is enabled. Workaround: Don't use the `--cluster.force-one-shard` option (or set it to `false`) for Agents.
**Affected Versions:** 3.12.0
**Fixed in Versions:** 3.12.1
**Reference:** [BTS-1839](https://arangodb.atlassian.net/browse/BTS-1839) (internal) | | **Date Added:** 2024-03-28
**Component:** arangod
**Deployment Mode:** Cluster
**Description:** In a cluster, creating an EnterpriseGraph fails in OneShard databases (created with the option `{"sharding": "single"}`). EnterpriseGraphs can still be created in a single server deployment, if the sharding option was not set to `single` during the database creation.
**Affected Versions:** 3.12.x
**Fixed in Versions:** -
**Reference:** [BTS-1841](https://arangodb.atlassian.net/browse/BTS-1841) (internal) | -