Skip to content

Commit 13bc011

Browse files
Add 25.1 upgrade guide (#5286)
1 parent 312f9ff commit 13bc011

File tree

2 files changed

+112
-84
lines changed

2 files changed

+112
-84
lines changed

docs/server/configuration/db-config.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Normally, you'd want to keep the database files separated from the OS and other
2626

2727
### In-memory database
2828

29-
When running KurrentDB for educational purposes or in an automated test environment, you might want to prevent it from saving any data to the disk. KurrentDB can keep the data in memory as soon as it has enough available RAM. When you shut down the instance that uses in-memory database, all the data will be lost.
29+
When running KurrentDB for educational purposes or in an automated test environment, you might want to prevent it from saving any data to the disk. KurrentDB can keep the data in memory as long as it has enough available RAM. When you shut down the instance that uses in-memory database, all the data will be lost.
3030

3131
| Format | Syntax |
3232
|:---------------------|:--------------------|
@@ -36,6 +36,10 @@ When running KurrentDB for educational purposes or in an automated test environm
3636

3737
**Default**: `false`
3838

39+
:::warning
40+
`--mem-db` has been deprecated as of version 25.1.0 and will be removed in a future version to allow us to simplify and unify some core code paths. Users wishing to continue to run KurrentDB in memory can do so with ramfs or similar. Please reach out to us if this is problematic for your use case.
41+
:::
42+
3943
### Skip database verification
4044

4145
When the database node restarts, it checks the database files to ensure they aren't corrupted. It is a lengthy process and can take hours on a large database. KurrentDB normally flushes every write to disk, so database files are unlikely to get corrupted. In an environment where nodes restart often for some reason, you might want to disable the database verification to allow faster startup of the node.

docs/server/quick-start/upgrade-guide.md

Lines changed: 107 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,16 @@ title: "Upgrade guide"
33
order: 5
44
---
55

6-
# Upgrade guide for KurrentDB 25.0
7-
8-
Event Store – the company and the product – are rebranding as Kurrent.
9-
10-
As part of this rebrand, EventStoreDB has been renamed to KurrentDB, with the first release of KurrentDB being version 25.0.
11-
12-
Read more about the rebrand in the [rebrand FAQ](https://www.kurrent.io/blog/kurrent-re-brand-faq).
13-
14-
Packages for KurrentDB are still hosted on [Cloudsmith](https://cloudsmith.io/~eventstore), in the following repositories:
15-
16-
* [kurrent-lts](https://cloudsmith.io/~eventstore/repos/kurrent-lts) containing only production-ready [LTS](../release-schedule/#long-term-support-releases) packages.
17-
* [kurrent-latest](https://cloudsmith.io/~eventstore/repos/kurrent-latest) containing production-ready LTS and [STS](../release-schedule/#short-term-support-releases) packages.
18-
* [kurrent-preview](https://cloudsmith.io/~eventstore/repos/kurrent-preview) containing non-production preview packages.
19-
20-
Packages are available for [Ubuntu/Debian](./installation.md#ubuntu-debian-packages), [RedHat](./installation.md#redhat-packages), [Docker](./installation.md#docker), and [NuGet](./installation.md#nuget).
21-
226
## Should you upgrade?
237

24-
KurrentDB 25.0 is a short term support (STS) feature release and will be supported until the next major or minor release of KurrentDB.
8+
KurrentDB 25.1 is a short term support (STS) feature release and will be supported until the next major or minor release of KurrentDB.
259

26-
Upgrade to this version if you want to use the new archiving feature, or want to prepare for some of the changes caused by the rebrand from EventStoreDB to KurrentDB.
10+
Upgrade to this version if you want to try the new features and changes in this release and are able to the next release in a few months time.
2711

2812
## Upgrade procedure
2913

30-
You can perform an online rolling upgrade directly to KurrentDB 25.0 from these versions of EventStoreDB:
14+
You can perform an online rolling upgrade directly to KurrentDB 25.1 from these earlier versions:
15+
- 25.0
3116
- 24.10
3217
- 23.10
3318
- 22.10
@@ -36,7 +21,7 @@ Follow the upgrade procedure below on each node, starting with a follower node:
3621

3722
1. Stop the node.
3823
1. Uninstall any previous versions of EventStoreDB.
39-
1. Install KurrentDB 25.0 and update the configuration. If you use licensed features, ensure that you configure a [license key](../quick-start/installation.md#license-keys).
24+
1. Install the new version and update the configuration. If you use licensed features, ensure that you configure a [license key](../quick-start/installation.md#license-keys).
4025
1. Start the node.
4126
1. Wait for the node to become a follower or read-only replica.
4227
1. Repeat the process for the next node.
@@ -50,18 +35,51 @@ Upgrading the cluster this way keeps the cluster online and able to service requ
5035
If you modified the Linux service file to increase the open files limit, those changes will be overridden during the upgrade. You will need to reapply them after the upgrade.
5136
:::
5237

53-
## Breaking changes
38+
## 25.1 upgrade notes
39+
40+
General changes, features and fixes are described in the [what's new](./whatsnew.md) and [release notes](../release-schedule/release-notes.md).
41+
42+
- Consider if the new `StreamInfoCacheCapacity` default is appropriate for your workload.
43+
- Consider whether to leave `SecondaryIndexing:Enabled` at its default of `true`.
44+
45+
### Breaking Changes
46+
47+
#### Unix socket rename (PR [#4951](https://github.com/kurrent-io/KurrentDB/pull/4951))
48+
49+
As part of the rebrand, the unix socket file has been renamed from `eventstore.sock` to `kurrent.sock`.
50+
51+
This only affects users of the redactor tool, who will need to download the latest version.
5452

55-
### File and location changes when upgrading from EventStoreDB
53+
#### DisableFirstLevelHttpAuthorization option removed (PR [#5237](https://github.com/kurrent-io/KurrentDB/pull/5237))
54+
55+
This option has had no effect since v20.6.0 and has been removed from the server. Remove this option if it is present in your configuration.
56+
57+
### Deprecation Notices
58+
59+
#### MemDb (PR [#5274](https://github.com/kurrent-io/KurrentDB/pull/5274))
60+
61+
The `MemDb` option has been deprecated and will be removed in a future version to allow us to simplify and unify some core code paths. Users wishing to continue to run KurrentDB in memory can do so with ramfs or similar. Please reach out to us if this is problematic for your use case.
62+
63+
## 25.0 upgrade notes
64+
65+
Event Store – the company and the product – have rebranded as Kurrent.
66+
67+
As part of this rebrand, EventStoreDB has been renamed to KurrentDB, with the first release of KurrentDB being version 25.0.
68+
69+
Read more about the rebrand in the [rebrand FAQ](https://www.kurrent.io/blog/kurrent-re-brand-faq).
70+
71+
### Breaking changes
72+
73+
#### File and location changes when upgrading from EventStoreDB
5674

5775
You will need to take the following changes into account when upgrading from EventStoreDB:
5876

59-
#### On Windows
77+
##### On Windows
6078

6179
1. The executable `EventStore.ClusterNode.exe` has been renamed to `KurrentDB.exe`.
6280
1. The test client executable `EventStore.TestClient.exe` has been renamed to `KurrentDB.TestClient.exe`.
6381

64-
#### On Linux
82+
##### On Linux
6583

6684
1. The `eventstore` service has been renamed to `kurrentdb`.
6785
1. The `eventstored` executable has been renamed to `kurrentd`.
@@ -88,14 +106,14 @@ If you install KurrentDB through a package manager, it will create a default con
88106
If you are running KurrentDB as a service, you will need to grant the `kurrent` user access to any data, logs, or configuration directories that the `eventstore` user had access to.
89107
:::
90108

91-
### Log Levels supported in logconfig.json
109+
#### Log Levels supported in logconfig.json
92110

93111
The log levels specified in `logconfig.json` must now be Microsoft levels rather than Serilog levels.
94112

95113
If you have customized your `logconfig.json` you will need to change `Fatal` to `Critical` and `Verbose` to `Trace`.
96114
[#4837](https://github.com/kurrent-io/EventStore/pull/4837)
97115

98-
### Metrics name changes
116+
#### Metrics name changes
99117

100118
::: info
101119
The old EventStore metric names can still be used by changing the two meter names in `metricsconfig.json` to have `EventStore` prefixes:
@@ -151,7 +169,7 @@ The following metric names have changed generally
151169
| `eventstore_gc_total_allocated` | `kurrentdb_gc_allocated_bytes_total` |
152170
| `eventstore_proc_up_time` | `kurrentdb_proc_up_time_seconds_total` |
153171

154-
### Removed configuration options
172+
#### Removed configuration options
155173

156174
A number of configuration options have been removed in 25.0. KurrentDB will not start by default if any of these options are present in the database configuration.
157175

@@ -178,7 +196,7 @@ The following deprecated options were removed as they had no effect:
178196
- `DisableInternalTcpTls`
179197
- `OptimizeIndexMerge`
180198

181-
### New OAuth redirect uri
199+
#### New OAuth redirect uri
182200

183201
The new embedded web UI requires a new redirect uri in order to work with the OAuth plugin.
184202

@@ -204,7 +222,58 @@ Then you would need to update it to this:
204222
]
205223
```
206224

207-
### From v24.6 and earlier
225+
### Deprecation Notices
226+
227+
#### Configuration sections and prefixes
228+
229+
The `EventStore` configuration section and configuration root has been renamed to `KurrentDB`.
230+
231+
The `EVENTSTORE_` environment variable prefix has been changed to `KURRENTDB_`
232+
233+
#### Custom HTTP content types
234+
235+
The `vnd.eventstore.*` content types have been renamed to `vnd.kurrent.*`:
236+
237+
| Deprecated | Use instead |
238+
| ----------------------------------------------- | --------------------------------------------- |
239+
| `application/vnd.eventstore.atom+json` | `application/vnd.kurrent.atom+json` |
240+
| `application/vnd.eventstore.event+json` | `application/vnd.kurrent.event+json` |
241+
| `application/vnd.eventstore.events+json` | `application/vnd.kurrent.events+json` |
242+
| `application/vnd.eventstore.streamdesc+json` | `application/vnd.kurrent.streamdesc+json` |
243+
| `application/vnd.eventstore.competingatom+json` | `application/vnd.kurrent.competingatom+json` |
244+
245+
The `application/vnd.eventstore.atomsvc+json` content type has been removed and replaced with `application/vnd.kurrent.atomsvc+json`.
246+
247+
Xml content types are unchanged.
248+
249+
#### Custom HTTP headers
250+
251+
The `ES-*` HTTP headers have been renamed to `Kurrent-*`.
252+
253+
Deprecated headers accepted by the server:
254+
255+
| Deprecated | Use instead |
256+
| --------------------- | ------------------------- |
257+
| `ES-ExpectedVersion` | `Kurrent-ExpectedVersion` |
258+
| `ES-RequireLeader` | `Kurrent-RequireLeader` |
259+
| `ES-RequireMaster` | `Kurrent-RequireLeader` |
260+
| `ES-ResolveLinkTos` | `Kurrent-ResolveLinkTos` |
261+
| `ES-LongPoll` | `Kurrent-LongPoll` |
262+
| `ES-TrustedAuth` | `Kurrent-TrustedAuth` |
263+
| `ES-HardDelete` | `Kurrent-HardDelete` |
264+
| `ES-EventId` | `Kurrent-EventId` |
265+
| `ES-EventType` | `Kurrent-EventType` |
266+
267+
Deprecated headers provided by the server in certain responses:
268+
269+
| Deprecated | Use instead |
270+
| ------------------- | ------------------------- |
271+
| `ES-Position` | `Kurrent-Position` |
272+
| `ES-CurrentVersion` | `Kurrent-CurrentVersion` |
273+
274+
## 24.10 upgrade notes
275+
276+
### Breaking changes
208277

209278
#### Histograms endpoint has been removed
210279

@@ -216,11 +285,11 @@ Any tooling that relies on the histogram endpoint will receive a 404 when reques
216285

217286
Support for extremely old PTables (v1) has been removed.
218287

219-
This will only affect databases created on EventStoreDB version 3.9.0 and before, and which have not upgraded their PTables since EventStoreDB version 3.9.0.
288+
This will only affect databases created before EventStoreDB version 3.9.0, and which have not upgraded their PTables since EventStoreDB version 3.9.0.
220289

221-
PTables are automatically upgraded when merged or when the PTables are rebuilt. So, if your EventStoreDB has been running for some time on a version greater than 3.9.0, then you are unlikely to be affected by this change.
290+
PTables are automatically upgraded when merged or when the PTables are rebuilt. So, if your EventStoreDB has been running for some time on a version >= 3.9.0, then you are unlikely to be affected by this change.
222291

223-
If 32bit PTables are present, we detect them on startup and exit. If this happens, you can use a version between v3.9.0 and v24.10.0 to upgrade the PTables or rebuild the index.
292+
If 32bit PTables are present, we detect them on startup and exit. If this happens, you can use a version >= v3.9.0 and < v24.10.0 to upgrade the PTables, or alternatively you can delete the index and it will be rebuilt. The rebuild would involve reading the whole database, which can take a long time on large databases.
224293

225294
#### Otel Exporter commercial plugin configuration changes
226295

@@ -297,7 +366,9 @@ UserCertificates:
297366
Enabled: true
298367
```
299368

300-
### From v23.10 and earlier
369+
## v23.10 upgrade notes
370+
371+
### Breaking changes
301372

302373
#### External TCP API removed
303374

@@ -344,7 +415,9 @@ In this case, you will see the following logs:
344415

345416
You can correct this by regenerating the certificates with the correct key usages. See the [Certificate Configuration](../security/protocol-security.md#certificates-configuration) documentation for more information about configuring and generating certificates.
346417

347-
### From v22.10 and earlier
418+
## v22.10 upgrade notes
419+
420+
### Breaking changes
348421

349422
The updates to anonymous access described in the [release notes](https://www.kurrent.io/releases/kurrentdb/23-10/) have introduced some breaking changes. We have also removed, renamed, and deprecated some options in KurrentDB.
350423

@@ -379,52 +452,3 @@ These options did not have any effect and can be safely removed from your config
379452
We have renamed the event type used to store a persistent subscription configuration from `PersistentConfig1` to `$PersistentConfig`. This event type is a system event, so naming it as such will allow certain filters to exclude it correctly.
380453

381454
If you have any tools or clients relying on this event type, you will need to update them before upgrading.
382-
383-
## Deprecations
384-
385-
### Configuration sections and prefixes
386-
387-
The `EventStore` configuration section and configuration root has been renamed to `KurrentDB`.
388-
389-
The `EVENTSTORE_` environment variable prefix has been changed to `KURRENTDB_`
390-
391-
### Custom HTTP content types
392-
393-
The `vnd.eventstore.*` content types have been renamed to `vnd.kurrent.*`:
394-
395-
| Deprecated | Use instead |
396-
| ----------------------------------------------- | --------------------------------------------- |
397-
| `application/vnd.eventstore.atom+json` | `application/vnd.kurrent.atom+json` |
398-
| `application/vnd.eventstore.event+json` | `application/vnd.kurrent.event+json` |
399-
| `application/vnd.eventstore.events+json` | `application/vnd.kurrent.events+json` |
400-
| `application/vnd.eventstore.streamdesc+json` | `application/vnd.kurrent.streamdesc+json` |
401-
| `application/vnd.eventstore.competingatom+json` | `application/vnd.kurrent.competingatom+json` |
402-
403-
The `application/vnd.eventstore.atomsvc+json` content type has been removed and replaced with `application/vnd.kurrent.atomsvc+json`.
404-
405-
Xml content types are unchanged.
406-
407-
### Custom HTTP headers
408-
409-
The `ES-*` HTTP headers have been renamed to `Kurrent-*`.
410-
411-
Deprecated headers accepted by the server:
412-
413-
| Deprecated | Use instead |
414-
| --------------------- | ------------------------- |
415-
| `ES-ExpectedVersion` | `Kurrent-ExpectedVersion` |
416-
| `ES-RequireLeader` | `Kurrent-RequireLeader` |
417-
| `ES-RequireMaster` | `Kurrent-RequireLeader` |
418-
| `ES-ResolveLinkTos` | `Kurrent-ResolveLinkTos` |
419-
| `ES-LongPoll` | `Kurrent-LongPoll` |
420-
| `ES-TrustedAuth` | `Kurrent-TrustedAuth` |
421-
| `ES-HardDelete` | `Kurrent-HardDelete` |
422-
| `ES-EventId` | `Kurrent-EventId` |
423-
| `ES-EventType` | `Kurrent-EventType` |
424-
425-
Deprecated headers provided by the server in certain responses:
426-
427-
| Deprecated | Use instead |
428-
| ------------------- | ------------------------- |
429-
| `ES-Position` | `Kurrent-Position` |
430-
| `ES-CurrentVersion` | `Kurrent-CurrentVersion` |

0 commit comments

Comments
 (0)