Skip to content

Conversation

@rgfaber
Copy link

@rgfaber rgfaber commented May 1, 2025

First 'Blind' catch-up of ~300 commits...

sakno and others added 30 commits November 4, 2024 15:35
* Migration of TryAppend to async

* Fixed compiler warning

* Ignore cancellation within transactions

* Review feedback
…etadata (kurrent-io#4601)

- Also allow port to be included in the fingerprint (mostly for development purposes where several nodes may be running on the same machine)
- Treat FINGERPRINT_TAKEN as a conclusive error, but only if it is due to a policy restriction, and not an activation race

---------

Co-authored-by: Timothy Coleman <timothy.coleman@gmail.com>
…4611)

* Separate security into its own section

* Update security docs text

* Update links to security.md
…iguration (kurrent-io#4534)

* Change name of PassthroughAuthenticationProvider in Telemetry

Previously it appeared as 'insecure' now it appears as 'PassthroughAuthentication' which is consistent with its counterpart 'PassthroughAuthorization'

* Consistently lowercase keys in Telemetry

previously there were some upper case keys managed by the plugins

* Add everything in the EventStore:Telemetry configuration section to telemetry

---------

Co-authored-by: Timothy Coleman <timothy.coleman@gmail.com>
* Update StreamBasedAuthPolicyRegistry tests

* Use custom Publisher and longer timeout

---------

Co-authored-by: Hayley Campbell <hayleyjeancampbell@gmail.com>
* Update FIPS docs

dotnet/runtime#94934 dotnet runtime change after which the MD5 plugin isn't needed on linux

* Document auto-scavenge not compatible with mem-db

* Wording around the default stream policy

* Add links to metrics dashboards

---------

Co-authored-by: Timothy Coleman <timothy.coleman@gmail.com>
Co-authored-by: Shaan Nobee <sniper111@gmail.com>
* auto-scavenging consistency

Auto-scavenging was spelled several different ways, so I updated it to be consistent. In the process, I cleaned up a few other areas.

* Removing language about paid support plans

* Update docs/server/quick-start/whatsnew.md

Co-authored-by: Hayley Campbell <hayleyjeancampbell@gmail.com>

* remove -preview from cloudsmith url

* resolving conflict

---------

Co-authored-by: Hayley Campbell <hayleyjeancampbell@gmail.com>
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.4 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](micromatch/micromatch@4.0.4...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…nt-io#4607)

* Move internal API of read side to async

* Migrate TryReadForwardRawInternal to async

* Review feedback
…urrent-io#4621)

Co-authored-by: Hayley Campbell <hayleyjeancampbell@gmail.com>
Co-authored-by: Hayley Campbell <hayleyjeancampbell@gmail.com>
* Add OAuth docs

* OAuth config can be specified all in the same config file.

* Add startup logs for ESDB when Oauth is in use

---------

Co-authored-by: Hayley Campbell <hayleyjeancampbell@gmail.com>
…o#4626)

* Fix support for gossip seeds provided as an array

Regression introduced in kurrent-io#4470
The yaml processor that we removed had special handling to flatten arrays into comma separated strings, which were then handled by the GossipSeedConverter
The new general purpose yaml processor (sensibly) does not do this, so we need to register the GossipEndPointConverter directly so it can be applied to individual endpoints directly

* Log gossip seed correctly on startup when provided as an array

---------

Co-authored-by: Timothy Coleman <timothy.coleman@gmail.com>
* Archiving: Restructure directory / namespaces
* Archiving: Disable by default
* Archiving: Separate read & write interfaces
* Refactor common parts of reader/writer tests into base class

* Start FluentStorage S3 implementation of IArchiveStorage: Chunk upload

- Added GetChunk to the interface so that we can check that the upload worked

FluentStorage: This should make it easier to add other cloud providers later. Some limitations
- It doesn't support partial reads so we will have to write those ourselves
- The local file system 'upload' isn't atomic, so we write our own as well.
In the end if it turns out to be unsuitable it shouldn't be difficult to remove.
…ent-io#4633)

* Add docs for projection streams

* Add a description of system streams

* Add troubleshooting to stream policies

* Fix casing of stream policy headers

---------

Co-authored-by: Hayley Campbell <hayleyjeancampbell@gmail.com>
* document prefix filters (kurrent-io#4599)

* Add docs for serilog sink (kurrent-io#4623)

---------

Co-authored-by: William Chong <william-chong@outlook.com>
Co-authored-by: Mark Morrissey <90937442+coloradomorrissey@users.noreply.github.com>
When EventStore:Metrics:Queues:Processing is false (which is it by default), the tracker which is used was not returning the current time when recording. This caused the queues to think that no time had passed while processing the message and prevented slow queue messages from being logged.

Slow BUS messages were still logged
* Move log record read operation to async

* Enable async mode for shared stream

* BulkReader migrated to async

* Migration to async lock

* Fixed deadlock caused by reentrant locking. AsyncExclusiveLock is not reentrant.

* Make the lock available in the finalizer

* Migrated caching procedure to async

* Async parsers for headers

* Reduced memory allocations

* Added explanation for perf optimization

* Fixed Qodana false positive
Makes them easier to load/unload together
timothycoleman and others added 28 commits March 31, 2025 21:46
Now that the org has been renamed from eventstore
…io#4905)

* Removed redundant method

* Removed redundant parameter

* Added base support of lazy init of the chunk

* Lazy chunk is always read-only

* Support multiple lazy init scenarios

* First iteration of chunk lazy init by chunk manager

* Migrate GetChunkFor to async

* Initialize chunk before cache it

* Ensure initialized chunk

* Removed dependency on synchronous GetChunk

* Removed dependency on GetChunk

* Removed GetChunk

* Fixed regression

* Skip reading header/footer twice when possible

* Initialize remote chunks on demand

* Fixed regression

* Fixed regression

* Reuse header/footer to reduce I/O overhead

* Use chunk info instead of header

* Lazy init of remote chunks

* Removed redundant initialization

* Added test to verify chunk init

* Check initialization for better safety of the public API

* Review feedback

* Fixed regression

* Remove end position from ChunkInfo

* Ensure chunk initialized

* trivial adjustments/comments

* Review feedback

* Fixed potential NRE

* Fixed potential InvalidOperationException

* Added attribute that marks public methods to be considered as 'safe' to the callers without need to call EnsureInitialized explicitly

* Mark the missing methods

* Added more checks of init flag

* fix accidental logical inversion from a couple of commits ago

---------

Co-authored-by: Timothy Coleman <timothy.coleman@gmail.com>
* Refactoring for readability
* Revert some of the changes

Mostly to:

1. Use fewer primary constructors.

Primary constructors are nice for small and simple classes but i'd prefer to avoid them when
- the parameter is validated and assigned to a field (both will be in scope for the whole class)
- classes are large (say, more than about 50 lines. it becomes harder to tell at a glance the scope of the variables)
- especially if the class is partial and the scope extends to multiple files

2. Avoid 'using static' for the Message classes

* fixup merge (unused ctor parameters were removed from KestrelHttpService)

---------

Co-authored-by: Timothy Coleman <timothy.coleman@gmail.com>
Co-authored-by: Hayley Campbell <hayleyjeancampbell@gmail.com>
- Whitespace/New lines
- Rationalize usings
updated the link to the tutorial to the file path from the URL to try and alleviate the brief 404 error and formatting issues, and did some grammar cleanup while in the file.
* doc: data protection

* doc: elaborate on data protection settings and include section for key vault

* doc: add whats new

* doc: mention support for future keyvaults

* chore: remove unnecessary stuff

* chore: highlight lines

* chore: update whats new

---------

Co-authored-by: William Chong <william-chong@outlook.com>
* Change liveness endpoint from middleware to route

* Fix tests

---------

Co-authored-by: Hayley Campbell <hayleyjeancampbell@gmail.com>
kurrent-io#4975)

* Fix: When there's an empty page read, filtered $all subscriptions can send an incorrect checkpoint equal to the end position of the log

* Add test to ensure that events strictly advance the checkpoint and commit position in particular (when no explicit transactions)

---------

Co-authored-by: Timothy Coleman <timothy.coleman@gmail.com>
…io#4993)

* Add some missing formatting in the rabbitmq docs sink

* Update rabbitmq.md
updating url to file path for tutorial link
* Write to the buffer of the stream directly when possible

* Fixed Qodana warnings

* Fixed regression

* Fixed regression

* Updated dependencies

* Disable hash validation for remote chunks

* Fixed merge conflict
* Rename sln file

* Rename BufferManagement

* Rename ClusterNode.Web

* Rename Licensing

* Rename MicroBenchmarks

* Rename POC.IO.Core

* Rename SystemRuntime

* Rename NETCore.Compatibility

* Rename SourceGenerators

* Rename Transport.Tcp

* Rename Transport.Http

* Rename Projections.Core

* Rename Projections.Core.Tests

* Rename Projections.Core.XUnit.Tests

* Rename Projections.Core.Javascrip.Tests

* Rename PluginHosting

* Rename Plugins.TestHelpers

* Rename Common

* Rename LogCommon

* Rename Unbuffered

* Rename Core

* Rename Core.XUnit.Tests

* Rename OtlpExporterPlugin.Tests

* Rename Auth.Ldaps

* Rename LegacyAuthWithStreamAuthDisabled

* Rename Auth.OAuth

* Rename Auth.StreamPolicyPlugin

* Rename Auth.UserCertificates

* Rename AutoScavenge

* Rename Diagnostics.LogsEndpointPlugin

* Rename OtlpExporterPlugin

* Rename Security.EncryptionAtRest

* Rename TcpPlugin

* Rename POC.ConnectedSubsystemsPlugin

* Clean namespaces

* Update enumerators logging

* Update LogAbstraction namespace

* Fix test certificate and ignore test with v1 index

* Update workflows and build scripts

* Restore source generators test cases

* Skip OAuth tests and use a unique file for persistence strategy tests

* Support loading standard projections from older versions

* Rename LogV3

* Use directory per tests rather than shared directory fixture

I think this must have worked before by coincidence of test ordering

---------

Co-authored-by: Timothy Coleman <timothy.coleman@gmail.com>
…Core (kurrent-io#5011)

* Rename LogV3 in KurrentDB.Core

* Rename Core.Tests

* Rename Core.Messages

* Rename gRPC namespaces that aren't related to classes generated from the proto

* Rename TCP namespaces that aren't related to classes generated from the proto

* Clean up Projections.Core usings

* Sort usings (mostly because of Message namespace rename) and a couple of other code formattings

---------

Co-authored-by: Timothy Coleman <timothy.coleman@gmail.com>
@yordis yordis closed this Jul 4, 2025
@yordis yordis deleted the chore/catch_up_commits branch July 4, 2025 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.