Skip to content

Latest commit

 

History

History
137 lines (126 loc) · 64.2 KB

changes.md

File metadata and controls

137 lines (126 loc) · 64.2 KB

Changes from v5.0 to v2X.x

The new generation of EventStoreDB began with version 20.6 with new versions released each year following the release schedule.

The following is a log of the changes in configuration options from v5 to the latest versions of EventStoreDB, including options that are removed, added, or renamed.

Option name Current status Additional comments
defines Removed Removed before 23.10.
mono-min-threadpool-size Removed Removed before 23.10.
force Removed Removed before 23.10.
commit-count Removed Removed before 23.10.
prepare-count Removed Removed before 23.10.
better-ordering Removed Removed before 23.10.
structured-log Removed Removed before 23.10.
int-secure-tcp-port Removed Removed before 23.10.
ext-tcp-port Removed Removed in 24.2
ext-secure-tcp-port-advertise-as Removed Removed before 23.10.
ext-secure-tcp-port Removed Removed before 23.10.
ext-tcp-port-advertise-as Removed Removed in 24.2
int-ip-advertise-as Removed Removed before 23.10.
int-secure-tcp-port-advertise-as Removed Removed before 23.10.
int-http-port-advertise-as Removed Removed before 23.10.
ext-tcp-heartbeat-timeout Removed Removed in v24.2.
ext-tcp-heartbeat-interval Removed Removed in v24.2.
int-http-prefixes Removed Removed before 23.10.
ext-http-prefixes Removed Removed before 23.10.
add-interface-prefixes Removed Removed before 23.10.
use-internal-ssl Removed Removed before 23.10.
disable-insecure-tcp Removed Removed before 23.10.
ssl-target-host Removed Removed before 23.10.
ssl-validate-server Removed Removed before 23.10.
advertise-tcp-port-to-client-as Removed Removed in v24.2.
disable-external-tcp-tls Removed Removed in v24.2.
enable-external-tcp Removed Removed in v24.2.
node-heartbeat-interval Removed Removed in v24.2.
node-heartbeat-timeout Removed Removed in v24.2.
node-tcp-port Removed Removed in v24.2.
node-tcp-port-advertise-as Removed Removed in v24.2.
ext-host-advertise-as Removed Removed in v24.2.
ext-ip-advertise-as Renamed New option name: ExtHostAdvertiseAs
int-ip Renamed The int-ip parameter was renamed to IntIp which was deprecated as of version 23.10.0. The ReplicationIp parameter is recommended instead.
ext-ip Renamed The ext-ip parameter was renamed to ExtIp which was deprecated as of version 23.10.0. The NodeIp parameter is recommended instead.
int-http-port Renamed The int-http-port parameter was renamed to HttpPort which was deprecated as of version 23.10.0. The NodePort parameter is recommended instead.
ext-http-port Renamed The ext-http-port parameter was renamed to HttpPort which was deprecated as of version 23.10.0. The NodePort parameter is recommended instead.
int-tcp-port Renamed The int-tcp-port parameter was renamed to IntTcpPort which was deprecated as of version 23.10.0. The ReplicationPort parameter is recommended instead.
int-tcp-port-advertise-as Renamed The int-tcp-port-advertise-as parameter was renamed to IntTcpPortAdvertiseAs which was deprecated as of version 23.10.0. The ReplicationTcpPortAdvertiseAs parameter is recommended instead.
int-tcp-heartbeat-timeout Renamed The int-tcp-heartbeat-timeout parameter was renamed to IntTcpHeartbeatTimeout which was deprecated as of version 23.10.0. The ReplicationHeartbeatTimeout parameter is recommended instead.
int-tcp-heartbeat-interval Renamed The int-tcp-heartbeat-interval parameter was renamed to IntTcpHeartbeatInterval which was deprecated as of version 23.10.0. The ReplicationHeartbeatInterval parameter is recommended instead.
int-host-advertise-as Renamed The int-host-advertise-as parameter was renamed to IntHostAdvertiseAs which was deprecated as of version 23.10.0. The ReplicationHostAdvertiseAs parameter is recommended instead.
ext-http-port-advertise-as Renamed The ext-http-port-advertise-as parameter was renamed to HttpPortAdvertiseAs which was deprecated as of version 23.10.0. The NodePortAdvertiseAs parameter is recommended instead.
admin-on-ext Renamed New option name: DisableAdminUI
stats-on-ext Renamed New option name: DisableStatsOnHttp
gossip-on-ext Renamed New option name: DisableGossipOnHttp
allow-anonymous-stream-access Added Allows anonymous access to streams. Default: false
allow-unknown-options Added Allows EventStoreDB to run with unknown configuration options present. Default: false
insecure Added Disables authentication, authorization, and TLS on all TCP/HTTP interfaces. Default: false. Not suitable for production projects.
max-append-size Added The maximum size of appends, in bytes. May not exceed 16MB. Default: 1048576
override-anonymous-endpoint-access-for-gossip Added Overrides anonymous access for the gossip endpoint. If set to true, the gossip endpoint will accept anonymous access. Otherwise, anonymous access will be set based on the value of the AllowAnonymousEndpointAccess option. Default: true
telemetry-output Added Opting out of telemetry is only available using the environment variable EVENTSTORE_TELEMETRY_OPTOUT.
authorization-config Added Path to the configuration file for authorization configuration (if applicable).
authorization-type Added The type of authorization to use. Default: Internal
certificate-reserved-node-common-name Added The pattern the Common Name (CN) of a connecting EventStoreDB node must match to be authenticated. A wildcard FQDN can be specified if using wildcard certificates or if the CN is not the same on all nodes. Leave empty to automatically use the CN of this node's certificate.
trusted-root-certificates-path Added The path to a directory which contains trusted X.509 (.pem, .crt, .cer, .der) root certificate files.
certificate-private-key-file Added The path to the certificate private key file (.key) if an X.509 (.pem, .crt, .cer, .der) certificate file is provided.
certificate-private-key-password Added The password to the certificate private key file if an encrypted PKCS #8 private key files are provided.
trusted-root-certificate-store-location Added The certificate store location that contains the trusted root certificate.
trusted-root-certificate-store-name Added The name of the certificate store that contains the trusted root certificate.
trusted-root-certificate-subject-name Added The trusted root certificate subject name.
trusted-root-certificate-thumbprint Added The trusted root certificate fingerprint/thumbprint.
dead-member-removal-period-sec Added The number of seconds a dead node will remain in the gossip before being pruned. Default: 1800
leader-election-timeout-ms Added The timeout, in milliseconds, on election messages to other nodes. Default: 1000
quorum-size Added EventStoreDB uses a quorum-based replication model, in which a majority of nodes in the cluster must acknowledge that they have received a copy of the write before the write is acknowledged to the client. This means that to be able to tolerate the failure of n nodes, the cluster must be of size (2n + 1). A three node cluster can continue to accept writes if one node is unavailable. A five node cluster can continue to accept writes if two nodes are unavailable, and so forth. Default: 1
read-only-replica Added Sets this node as a read-only replica that is not allowed to participate in elections or accept writes from clients. Default: false
stream-info-cache-capacity Added The maximum number of entries to keep in the stream info cache. Default: 0
unsafe-allow-surplus-nodes Added Allows more nodes than the cluster size to join the cluster as clones. This is a risky option that can cause data loss if a clone is promoted to leader. Default: false
chunk-size Added The size of the database chunk in bytes. Default: 268435456
db-log-format Added The log format version to use for storing the event log. V3 is currently in development and should only be used for testing purposes. Default: V2
index-cache-size Added The maximum number of entries to keep in each index cache. Default: 0
max-truncation Added When truncate.chk is set, the database will be truncated on startup. This is a safety check to ensure large amounts of data truncation does not happen accidentally. This value should be set in the low 10,000s for allow for standard cluster recovery operations. A value of -1 is no max. Default: 268435456 bytes
scavenge-backend-cache-size Added The amount of memory to use for backend caching in bytes. Default: 67108864
scavenge-backend-page-size Added The page size of the scavenge database. Default: 16384
scavenge-hash-users-cache-capacity Added The number of stream hashes to remember when checking for collisions. Default: 100000
stats-storage Added Type of storage to use for statistics. Allowed values are None, Stream, File, or StreamAndFile. Default: File
stream-existence-filter-size Added The amount of memory and disk space, in bytes, to use for the stream existence filter. This should be set to roughly the maximum number of streams you expect to have in your database, i.e if you expect to have a max of 500 million streams, use a value of 500 megabytes. The value you select should also fit entirely in memory to avoid any performance degradation. Use 0 to disable the filter. Resizing the filter will cause a full rebuild. Default: 256000000
use-index-bloom-filters Added Creates a Bloom filter file for each new index file to speed up index reads. Default: true
write-timeout-ms Added Timeout for write operations (in milliseconds). Default: 2000
default-admin-password Added The Admin user password can only be set using the environment variable EVENTSTORE_DEFAULT_ADMIN_PASSWORD
default-ops-password Added The Ops user password can only be set using the environment variable EVENTSTORE_DEFAULT_OPS_PASSWORD
dev Added Runs EventStoreDB in dev mode. This will create and add dev certificates to your certificate store, enable atompub over http, and run standard projections. Default: false
remove-dev-certs Added Removes any dev certificates installed on this computer without starting EventStoreDB. Default: false
keep-alive-interval Added Sets the period (in milliseconds) after which a keepalive ping is sent on the transport. Default: 10000
keep-alive-timeout Added Sets the amount of time (in milliseconds) the sender of the keepalive ping waits for an acknowledgement. If it does not receive an acknowledgment within this time, it will close the connection. Default: 10000
advertise-host-to-client-as Added Advertised name of the host used in Client gossip.
advertise-node-port-to-client-as Added Advertised Node port to be used in Client gossip. Default: 0
enable-unix-socket Added Whether to allow local connections via a UNIX domain socket. Default: false
node-host-advertise-as Added Advertised node hostname to other nodes and external clients.
node-ip Added The IP Address for the node. Default: 127.0.0.1
node-port Added The port to run the HTTP server on. Default: 2113
node-port-advertise-as Added By default, a cluster node will advertise its port as the node-port, but you can override the advertised HTTP port with this option. Default: 0
replication-heartbeat-interval Added Heartbeat interval for replication TCP sockets. Default: 700
replication-heartbeat-timeout Added Heartbeat timeout for replication TCP sockets. Default: 700
replication-host-advertise-as Added Name of the replication host advertised to other nodes in the cluster.
replication-ip Added The IP Address used by internal replication between nodes in the cluster. Default: 127.0.01
replication-port Added The TCP port used by internal replication between nodes in the cluster. Default: 1112
replication-tcp-port-advertise-as Added TCP port advertised as the replication port. Default: 0
disable-log-file Added Disable logging to disk. Default: false
log-config Added The name of the log configuration file. Default: logconfig.json
log-console-format Added Which format to use when writing logs to the console. Allowed values are Plain or Json. Default: Plain
log-file-interval Added How often to rotate logs. Allowed values are Infinite, Year, Month, Day, Hour, or Minute. Default: Day
log-file-retention-count Added How many log files to keep. Default: 31
log-file-size Added Maximum size (in bytes) of each log file. Default: 1073741824
log-level Added Sets the minimum log level. For more granular settings, please edit logconfig.json. Allowed values are Default, Verbose, Debug, Information, Warning, Error, or Fatal. Default: Default
projection-compilation-timeout Added The time in milliseconds allowed for the compilation phase of user projections. Default: 500
projection-execution-timeout Added The maximum execution time in milliseconds for executing a handler in a user projection. It can be overridden for a specific projection by setting ProjectionExecutionTimeout config for that projection. Default: 250
disable-internal-tcp-tls Deprecated The DisableInternalTcpTls option has been deprecated as of version 20.6.1 and currently has no effect. It is recommended to use the Insecure parameter instead.
enable-atom-pub-over-http Deprecated AtomPub over HTTP interface has been deprecated as of version 20.6.0. It is recommend to use gRPC instead.
gossip-on-single-node Deprecated This option has been deprecated as of version 21.2.
unsafe-ignore-hard-delete Deprecated This setting is unsafe and not recommended.
optimize-index-merge Deprecated This setting is ignored by the new scavenge algorithm and will be removed in future versions.
always-keep-scavenged Deprecated This setting is ignored by the new scavenge algorithm and will be removed in future versions.

Dynamic Resizing

Apart from the above, there are three options in the EventStoreDB that dynamically resizes according to the amount of free memory available.

StreamInfoCacheCapacity

The option is set to 0 by default, which enables dynamic resizing. The default on previous versions of EventStoreDB was 100000 entries.

ReaderThreadsCount

The option is set to 0 by default, which enables autoconfiguration. The default on previous versions of EventStoreDB was 4 threads.

WorkerThreads

The option is set to 0 by default, which enables autoconfiguration. The default on previous versions of EventStoreDb was 5 threads.