Граф коммитов

7228 Коммитов

Автор SHA1 Сообщение Дата
Aaron Stannard 801ce60417
rename ".NET 7" build tasks to just ".NET" (#7323)
* rename ".NET 7" build tasks to just ".NET"

we've been running on .NET 8 for a while now, but I'd rather just remove the version number from this build task altogether so we don't have to update it again in the future.

* fixed README
2024-08-16 16:09:24 -05:00
Aaron Stannard d1f481fb2c
fixed ClusterClientDiscoverySpec (#7322) 2024-08-16 21:08:34 +00:00
Aaron Stannard 5e2bd0e223
chore: added 2024 headers (#7319)
* added 2024 headers

* added missing nullability support to Akka.Cluster.Sharding.Delivery

* fixed nullability issues in Akka.Cluster.Tools
2024-08-16 14:40:41 -05:00
Aaron Stannard 96c6a60032
fixed Akka.Persistence.Tck snapshot load specs (#7320)
* fixed Akka.Persistence.Tck snapshot load specs

Left-over bugs from https://github.com/akkadotnet/akka.net/pull/7313

* fixed the specs
2024-08-17 00:50:23 +07:00
Aaron Stannard d6a8063600
Akka.Persistence: Made `DateTime.UtcNow` the default timestamp for `SnapshotMetdata` (#7313)
* Made `DateTime.UtcNow` the default timestamp for `SnapshotMetdata`

* fixed all `SnapshotMetadata` calls

* added API approvals

* standardized on `Sys.Scheduler.Now.DateTime`

* Fix SQL query error in QueryExecutor

* Update API Approval list

---------

Co-authored-by: Gregorius Soedharmo <arkatufus@yahoo.com>
2024-08-08 15:23:28 -05:00
Gregorius Soedharmo 5e7be3a498
Fix ClusterSingletonProxy fails to reacquire singleton actor (#7315)
* MNTR Reproduction for https://github.com/akkadotnet/Akka.Management/issues/2490

* Implement fix

* Add comment
2024-08-08 12:41:24 -05:00
Aaron Stannard da3ded3db7
Akka.Actor: make `ITimeProvider` injectable into consuming classes (#7314)
* remove `DateTimeNowTimeProvider`

All of this functionality was duplicated on the `IScheduler` anyway - so removing this makes it possible to actually inject the `ITimeProvider` into downstream dependencies using the `ActorSystem`

* added `DateTimeNowTimeProvider` back but marked it as `Obsolete`
2024-08-07 12:18:42 -05:00
Gregorius Soedharmo acc8bd3894
Update ClusterClientDiscovery Akka.Hosting documentation (#7310)
* Update ClusterClientDiscovery Akka.Hosting documentation

* Fix linting errors

* Fix linting error
2024-08-05 11:22:02 -05:00
Aaron Stannard 177a7c9e3e
Akka.Cluster.Tools.Singleton: log the correct oldest member on transition (#7309)
Prefer the `OldestChangedBuffer.OldestChanged.PreviousOldest` value when it's available
2024-08-01 17:37:12 +00:00
Gregorius Soedharmo 55827b7131
Update RELEASE_NOTES.md for 1.5.27.1 (#7306)
* Fix remoting logging DefaultAddress race condition

* Update RELEASE_NOTES.md for 1.5.27.1 release
2024-07-25 19:03:43 -05:00
Gregorius Soedharmo 3e2d49cf34
Fix remoting logging DefaultAddress race condition (#7305) 2024-07-25 19:03:25 -05:00
Aaron Stannard 3eacb6cadb
Added v1.5.28 placeholder 2024-07-25 14:42:36 -05:00
Aaron Stannard b34d64514b
V1.5.27 release notes (#7303)
* added v1.5.27 release notes

* added contribution data
2024-07-25 14:24:55 -05:00
Aaron Stannard 6a81fd3e1c
Akka.Cluster.Tools: deprecate ClustersSingletonManagerSettings.ConsiderAppVersion (#7302)
* Akka.Cluster.Tools: deprecate ClustersSingletonManagerSettings.ConsiderAppVersion

* added API approvals
2024-07-25 14:09:11 -05:00
Aaron Stannard 718081030b
Akka.Cluster.Tools: fix mutability and oldest state bugs with `ClusterSingletonManager` (#7298)
* fix mutability bugs with `ClusterSingletonManager`

Looks like the list of available nodes was getting mangled - seems like a basic mutability issue inside the `ClusterSingletonManager`.

* fixed another mutability error

* explicitly re-order "oldest nodes" based on data received from OldestChangedBuffer

* WIP nullability

* fixed nullability issues and API approvals

* removed debug logging

* removed old code

* fixed some nullability issues

* fix racy cluster singleton restart spec
2024-07-25 13:28:24 -05:00
Gregorius Soedharmo 6b6afe4a7e
Add AlsoTo downstream failure propagation support (#7301)
* Add AlsoTo downstream failure propagation support

* Update API Approval list

* Change failure propagation from opt-in to opt-out

* Update unit tests

* Revert "Update unit tests"

This reverts commit caddefc831.

* Revert "Change failure propagation from opt-in to opt-out"

This reverts commit 34aee8b9a3.
2024-07-25 12:25:19 -05:00
Gregorius Soedharmo 7811504704
Fix ActorMaterializerImpl null LogSource (#7300) 2024-07-24 12:10:51 -05:00
Aaron Stannard f2e81c5cd5
Akka.Cluster.Tools.Singleton / Akka.Cluster.Sharding: fix duplicate shards caused by incorrect `ClusterSingletonManager` `HandOver` (#7297)
* close #6973 - eliminate duplicate shards

Eliminates the source of #6793, which was caused by using the incorrect ordering methodology when it came to determining which `ClusterSingletonManager` to hand-over to during member state transitions.

close #6973
close #7196

* fixed build warnings
2024-07-23 19:23:25 -05:00
Aaron Stannard f4501e8009
migrated `ClusterSingletonManager` to `switch` statements (#7296)
For readability and safety reasons, when it comes to reasoning about how branching logic is supposed to work
2024-07-23 17:24:52 -05:00
Aaron Stannard 9eb670a7c3
`ShardCoordinator`: misc cleanup (#7295) 2024-07-23 13:16:36 -05:00
Aaron Stannard a6daed70a6
remove unused `reference.confg` from DistributedData.LightningDb (#7294)
These configuration values are read from and used by `DistributedData/reference.conf`, so this unused duplicate file is confusing and unnecessary.
2024-07-22 20:37:36 +00:00
Aaron Stannard d3b3613f24
DData: if `lmdb.dir` is null or empty, log a warning and set to default (#7292)
* DData: if `lmdb.dir` is null or empty, log a warning and set to default

* resolve AK1004 warning for `LmdbStore`
2024-07-22 19:29:30 +00:00
Aaron Stannard 50ef7b93e7
Akka.Cluster: added sanity check for `Member.AgeComparer` (#7291)
we would have seen A LOT of smoke and fire if this didn't work correctly, but since we're in the midst of testing for all sorts of member transition-related issues for #6973 we thought it would be best to add a sanity check.
2024-07-22 18:59:59 +00:00
Aaron Stannard f7f9078331
Akka.Cluster.Sharding: enable `prefer-oldest` by default on `Replicator` (#7290)
* Akka.Cluster.Sharding: added tests for DData consistency settings

* Cluster.Sharding: enable `prefer-oldest` by default on `Replicator`

partially resolves https://github.com/akkadotnet/akka.net/issues/6973

* rolled back changes to sharding sample
2024-07-22 18:26:27 +00:00
Aaron Stannard 4b7cff3a46
Akka.Cluster.Sharding: added tests for DData consistency settings (#7288) 2024-07-22 16:42:03 +00:00
Aaron Stannard 5176dfbfc1
Akka.Cluster: improve gossip serialization performance (#7281)
* Akka.Cluster: improve gossip serialization performance

* inline creation of addr and role indices

* fixed role mapping

* inlined mapping of `Proto.Msg.Member`

* inline serialization of addresses

* remove `allAddresses`

* cleaned up some gossip deserialization calls
2024-07-17 22:15:08 +00:00
Aaron Stannard 9981d8372c
Fix busted Windows Build stage (#7283) 2024-07-11 20:44:56 +00:00
Gregorius Soedharmo 7947c1f373
Optimize cluster message serializer benchmarks (#7282) 2024-07-11 12:34:26 -05:00
Gregorius Soedharmo 7fb0c2b1f2
Add `ActorBase` lifecycle flow unit tests (#7128)
* Add ActorBase lifecycle flow unit test

* Cleanup code

---------

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
2024-07-11 14:16:43 +00:00
Aaron Stannard 8843a21167
Akka.Cluster: `ClusterMessageSerializer` benchmarks (#7280)
* added benchmark for measuring Akka.Cluster serialization

* formatting

* added API approvals
2024-07-10 12:44:51 -05:00
Aaron Stannard 9f5de8457a
Akka.Cluster: harden ignored gossip messages (#7278)
Added our unique address just in case the issue here is gossip intended for previous incarnations of ourselves following a fast restart.
2024-07-10 10:53:23 -05:00
Gregorius Soedharmo 8f200ef995
Update RELEASE_NOTES.md for 1.5.27-beta2 release (#7277) 2024-07-03 16:00:49 -05:00
Gregorius Soedharmo 03a469fb55
Fix ClusterClientDiscovery, missing port name in lookup (#7276) 2024-07-03 15:47:52 -05:00
Gregorius Soedharmo 67e7754397
Update RELEASE_NOTES.md for 1.5.27-beta1 release (#7275) 2024-07-03 15:14:36 +00:00
Gregorius Soedharmo e4e4ca410b
Improve ClusterClientDiscovery feature (#7274)
* Improve ClusterClientDiscovery feature

* Update API Approval list

* Fix MNTR unit test

* Add specific receptionist path verification error handling
2024-07-03 09:18:56 -05:00
Gregorius Soedharmo 7f374654a5
Fix possible problems with ClusterClient Discovery (#7270)
* Fix possible problems with ClusterClient Discovery

* Update API Approval list

* Remove Shuffle method, use the one in Akka.Util.Internal instead

---------

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
2024-07-02 16:11:41 +00:00
Sean Killeen dab2a5eeb6
Update failure message syntax (#7273) 2024-07-02 08:53:24 -05:00
Gregorius Soedharmo 000d8fe5c2
Fix missing ClusterClientSettings.VerboseLogging in Copy method (#7272) 2024-06-29 07:13:13 +07:00
Gregorius Soedharmo 399c54816d
Update ConfigServiceDiscovery to support multi-config (#7271)
* Update ConfigServiceDiscovery to support multi-config

* Update API Approval list
2024-06-28 12:01:34 -05:00
Aaron Stannard 71369199c6
Added v1.5.27 placeholder 2024-06-27 10:43:06 -05:00
Gregorius Soedharmo f797f8d6bf
Update RELEASE_NOTES.md for 1.5.26 release (#7268)
* Update RELEASE_NOTES.md for 1.5.26 release

* Add notes to cluster client bit
2024-06-27 10:15:09 -05:00
Gregorius Soedharmo 1cce480462
Update ClusterClient documentation to include the new discovery feature (#7265)
* Update ClusterClient documentation to include the new discovery feature

* Fix linter errors
2024-06-25 13:49:09 -05:00
Aaron Stannard 0fd7ca0205
Improve traceability of `ITimerMsg` (#7262)
This is mostly a Phobos-oriented improvement, aimed at making it easier to keep track of scheduled metrics in systems that use `IWithTimer` heavily.

Co-authored-by: Gregorius Soedharmo <arkatufus@yahoo.com>
2024-06-24 10:55:08 -05:00
Gregorius Soedharmo 8fd8c62c60
Add ClusterClient initial contact discovery feature (#7261)
* Add cluster client initial contact discovery feature

* Add unit test

* Fix timers, add verbose logging flag

* Update API Approval list

* Simplify logic

* Simplify cluster client actor name

* Remove cluster client name

* Mark new Discovery.Config methods as InternalStableApi

* Update API Approval list
2024-06-24 10:49:31 -05:00
Aaron Stannard 299fedff42
made examples, benchmarks, and internal libraries unpackable (#7263) 2024-06-23 18:31:19 -05:00
Aaron Stannard 851a72b361
Added v1.5.26 placeholder (#7258)
For nightly releases
2024-06-14 18:31:50 +00:00
Aaron Stannard 31222aa557
added v1.5.25 release notes (#7257)
* added v1.5.25 release notes

* added commit numbers
2024-06-14 12:58:10 -05:00
Aaron Stannard be4ed4dec2
Akka.Event: restore missing log data (#7256)
* added reproduction for #7255

* trying to get Verify to work

* upgraded Verify and added full log output repro

* added .NET 4.8 upgrades

* add verify output as a build artifact

* fixing ci/cd

* create unique name for each Verify artifact

* close #7255

* disable flaky spec on .NET 4.8

has trouble running on Linux

* simplify artifact publication

* hardening LogFormatSpec

* hardened `DefaultLogFormatSpec`

* fixed failures on EnableSsl spec

* fixed skipping .NET48 unfriendly spec

* no longer need to skip this
2024-06-14 12:23:53 -05:00
Aaron Stannard 6bcab70b87
Akka.Router: automatically unpack `IScheduledTellMsg` when being handled through a router (#7249)
* added initial reproduction for #7247

* reproduced #7247

* have fix; working on repro

* close #7247 - ensured routers drop IScheduledTellMsg to non-ActorCell'd routees

* added timeout back

* removed .NET 6-only call

---------

Co-authored-by: Gregorius Soedharmo <arkatufus@yahoo.com>
2024-06-13 07:50:55 -05:00
Gregorius Soedharmo 487218c487
Modernize Cluster.Client code (#7251) 2024-06-12 14:26:16 -05:00