Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V1.3.14 backport2 #3869

Merged
merged 29 commits into from Jul 30, 2019

Conversation

@Aaronontheweb
Copy link
Member

commented Jul 26, 2019

Replaces #3864

ismaelhamed and others added some commits May 7, 2019

Skip MNTRNuGet pack when skipping builds (#3795)
* Skip MNTRNuGet pack when skipping builds

* create bin/nuget folder
Update Storage Plugins page Ref Issue #3732 (#3787)
Changed Journals and Snapshot store examples to align them correctly.

Closes #3732
Fix docfx warning re: index.html links (#3707)
* Update serialization.md

Fixes warning: [19-02-06 08:40:50.533]Warning:[BuildCommand.BuildCore.Build Document.CompilePhaseHandlerWithIncremental.ConceptualDocumentProcessor.Build.BuildConceptualDocument](articles/networking/serialization.md#L197)Inline code snippet is only allowed inside tables.

* Update index.md
Batch update with singleton/sharding fixes (#3780)
* Introduce 'MemberDowned' member event
Migrated from #25854

* Ignore possible state change while waiting for removal
Migrated from #25274

* mark TryToIdentifySingleton as NoSerializationVerificationNeeded
Migrated from #24442

* Improvements of singleton leaving scenario
Migrated from #25639 (#25710)

Testing of singleton leaving
gossip optimization, exiting change to two oldest per role
hardening ClusterSingletonManagerIsStuck restart, increase ClusterSingletonManagerIsStuck

* Stop singleton and shards when self MemberDowned
Migrated from #26336 (#26339)

Stop singleton when self MemberDowned
  * It's safer to stop singleton instance early in case of downing.
  * Instead of waiting for MemberRemoved and trying to hand over.
Stop ShardRegion when self MemberDowned
Upper bound when waiting for seen in shutdownSelfWhenDown

* Discards HandOverToMe in state End to avoid unhandled message warning
Migrated from #26793

* Warn if handOffStopMessage not handled
Migrated from #25648

Stops entities of shard forcefully if they don't handle stopMessage
Prints a warning log while stopping the entities
fix version of backward exclude file and checks for shard stopped
adds documentation for handoff timeout

* Save EntityStarted when StartEntity requested via remembered entities (for validation)
Migrated from #26061

* Improve default shard rebalancing algorithm
Migrated from #26012 (#26101)

* Improve default shard rebalancing algorithm

* Use rebalance-threshold=1 because it will give the best distribution,
  and previous default could result in too large difference between nodes
* Off by one error, difference > threshold vs >=
* Added more unit tests
* Note that in some cases it may still not be optimal, stopping more
  shards than necessary, but a different strategy that looks at more
  than most and least is out of scope for this issue. In practise
  those cases shouldn't matter much.
* Also note that the rebalance interval is by default 10 seconds,
  so typically shards will start up before next rebalance tick.
  It's intentionally a slow process to not cause instabilities by
  moving too much at the same time.

* Always retry sendGracefulShutdownToCoordinator
Migrated from #26214

* I could reproduce the issue locally with debug logging and it's clear that it's a
  timing issue. The GracefulShutdownReq message goes to deadletters and it's not
  retried because the coordinator variable was unset.
* cluster-sharding-shutdown-region phase of CoordinatedShutdown timed out

* Consolidate duplicate persistence sharding function
Migrated from #26451 (#26452)

* API approval

* sharding with ddata specs timing issue fix

* Enable passivate-idle-entity-after by default
Migrated from #25782 (#26819)

* persistent shard passivate-idle fix
ddata passivate-idle fix
sharding fixes (part of #26878)

* Removed references to System.ValueTuple
fixed solution issues that prevented NuGet publication (#3819)
* fixed solution issues that prevented NuGet publication

* fixed last publish bug
catch NotSerializableException from deserialization, Migrated from #2…
…0641 (#3782)

* to be able to introduce new messages and still support rolling upgrades,
  i.e. a cluster of mixed versions
* note that it's only catching NotSerializableException, which we already
  use for unknown serializer ids and class manifests
* note that it is not catching for system messages, since that could result
  in infinite resending

Do not tear down connections on IllegalArgumentException from serializer, Migrated from #24910
ShardStats and ClusterShardingStats serialization fix (#3832)
* close #3830 - added serialization support for ClusterShardingStats
Added nightly builds YAML definition for Azure DevOps (#3849)
* cleaned up release builds

* added support for nightly Akka.NET builds again
Fix sharding recovery error and WithTransport serialization (#3744)
* fixed typo in RemoteActorRefProvider comment

* Working on #3414 - bringing SerializeWithTransport API up to par with JVM

* added spec to help validate CurrentTransportInformation issues

Based on the equivalent JVM spec

* working on bringing serialization up to snuff

* brought serialization class up to snuff

* wrapping up RmeoteActorRefProvider implementation

* WIP

* cleaning up Serialization class

* looks like there's a Lazy<SerializationInfo> translation from Scala to C# that we haven't quite done

* fixed Serialization class

* fixed bug with Akka.Remote.Serialization.SerializationTransportInformationSpec

* forced a couple of specs using default akka.remote configs to run sequentially

This was done in order to avoid the two specs trying to bind on the same port at the same time.

* added serialization verification to the Akka.Persistence.TCK

* fixed issues with default Akka.Perisstence.TCK specs

* fixed IActorRef serialziation support in Akka.Persistence journals and snapshot stores

* fixed compilation issuyes

* fixed Akka.Sql.Common serialization in a backwards-compatible fashion

* had to disable serialization specs for Sql Journals

* Added API approvals

* updated creator and serialize-all-messages serialization

* added ITestOutputHelper to Akka.Cluster.Sharding.Tests.SupervisionSpec

* made changes to LocalSnapshotSerializer

* fixed bug in WithTransport method

* updated Akka.Remote MessageSerializer
Allow AtLeastOnceDelivery parameters to be set from deriving classes …
…(as intended) (#3810)

* Allow various redelivery parameters to be tweaked from derived classes

* Adding API change declaration

* Merge API changes to approved for PR review

Delete the received file committed by mistake

* Making various AtLeastOnceDelivery settings read-only

Added a .ctor overload to AtLeastOnceDelivery actors that allows to tweak default settings so that the user does not have to construct and specify all settings manually.
fix typo in transports.md (#3865)
it seems should be akka.http protocol, not udp
ClusterClient fixes (#3866)
Fixed broker `IComparer` for ClusterClient hash ring and ported over other handoff fixes.

Close #2535
Close #2312
Close #3840

* implemented akka/akka#24167

* implemented akka/akka#22992
@Aaronontheweb

This comment has been minimized.

Copy link
Member Author

commented Jul 26, 2019

Need to bring a946059 into this PR

@Aaronontheweb

This comment has been minimized.

Copy link
Member Author

commented Jul 29, 2019

So the entire test suite is running in parallel due to dotnet test and XUnit not receiving the flag to disable it. I can fix this via an xunit.runner.json file, but for the time being I'm going to try to run the entire test suite end to end.

But everything looks safe for release despite that - I don't want to port over all of my racy test fixes since I think that will generate some noise.

Aaronontheweb added some commits Jul 26, 2019

@Aaronontheweb Aaronontheweb force-pushed the Aaronontheweb:v1.3.14-backport2 branch from fe5f2ad to c1f861a Jul 29, 2019

@Aaronontheweb

This comment has been minimized.

Copy link
Member Author

commented Jul 29, 2019

Squashed all of my "edit" commits that it took in order to get the build system to run on .NET Core 1.1 / .NET Framework 4.5 - hence the force-push.

@Aaronontheweb

This comment has been minimized.

Copy link
Member Author

commented Jul 30, 2019

Ok, this should do it - #3872 - this will get dev and master back into clean states once this is merged.

@Aaronontheweb Aaronontheweb merged commit 14a26ef into akkadotnet:master Jul 30, 2019

0 of 8 checks passed

PR Validation (.NET Core Multi-Node Tests (Windows)) .NET Core Multi-Node Tests (Windows) failed
Details
PR Validation (.NET Core Unit Tests (Linux)) .NET Core Unit Tests (Linux) failed
Details
PR Validation (.NET Core Unit Tests (Windows)) .NET Core Unit Tests (Windows) failed
Details
PR Validation (.NET Framework Multi-Node Tests (Windows)) .NET Framework Multi-Node Tests (Windows) failed
Details
PR Validation (.NET Framework Unit Tests (Windows)) .NET Framework Unit Tests (Windows) failed
Details
PR Validation (NuGet Pack) NuGet Pack failed
Details
PR Validation (Windows Build) Windows Build failed
Details
PR Validation
Details

@Aaronontheweb Aaronontheweb deleted the Aaronontheweb:v1.3.14-backport2 branch Aug 1, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
10 participants
You can’t perform that action at this time.