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

Use value tuples in Streams #3282

Conversation

vasily-kirichenko
Copy link
Contributor

No description provided.

@Aaronontheweb
Copy link
Member

@vasily-kirichenko not sure why exactly, but it looks like the Mono compilation stage is having some trouble with these changes. I think we're running an older version of Mono 5.0* - should we upgrade the Docker image we're using for compilation there to see if that solves the issue? Windows compilation appears to be working just fine.

@Aaronontheweb
Copy link
Member

.NET Core compilation on Linux works fine too.

@vasily-kirichenko vasily-kirichenko changed the title Use value tuple instead of ref tuple in Keep.Both Use value tuples in Streams Jan 20, 2018
@vasily-kirichenko
Copy link
Contributor Author

I think we're running an older version of Mono 5.0* - should we upgrade the Docker image we're using for compilation there to see if that solves the issue?

I've never used Mono, and I've not found any mentions of Docker in build.fsx. How to do the upgrade?

@Aaronontheweb
Copy link
Member

I've never used Mono, and I've not found any mentions of Docker in build.fsx. How to do the upgrade?

We run the build.fsx inside the Docker container built using the Dockerfile here for Mono builds: https://github.com/akkadotnet/dockerfiles

Those images eventually get pushed up here: https://hub.docker.com/r/akkadotnet/mono-base/

We use Docker for a few things in our CI system, mostly hosting the Mono environment and running Akka.Persistence integration tests, but that stuff mostly happens invisibly on our TeamCity agents and isn't exposed directly in the build scripts.

@vasily-kirichenko
Copy link
Contributor Author

@marcpiechura
Copy link
Contributor

@vasily-kirichenko as @Aaronontheweb mentioned in the issue, this is quite a breaking change and should therefore target the v1.4 branch.

BTW, thanks a lot for taking this one 😄

@vasily-kirichenko vasily-kirichenko changed the base branch from dev to v1.4 January 21, 2018 19:18
@vasily-kirichenko
Copy link
Contributor Author

@marcpiechura done

Copy link
Contributor

@marcpiechura marcpiechura left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks verg good overall, only a few small formatting remarks

@@ -498,7 +497,8 @@ protected override bool Receive(object message)
.With<Complete>(OnComplete)
.With<CompleteThenStop>(OnCompleteThenStop)
.With<Boom>(() => { throw new Exception("boom"); })
.With<ThreadName>(()=>_probe.Tell(Context.Props.Dispatcher /*Thread.CurrentThread.Name*/)) // TODO fix me when thread name is set by dispatcher
.With<ThreadName
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revert formatting and maybe put the comment in the line above.

Dispose(true);
GC.SuppressFinalize(this);
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure that we can remove this part ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. The same code is in the base class's Dispose method.

@@ -141,15 +154,20 @@ public void A_restart_with_backoff_source_should_backoff_before_restart()
}

[Fact]
public void A_restart_with_backoff_source_should_reset_exponential_backoff_back_to_minimum_when_source_runs_for_at_least_minimum_backoff_without_completing()
public void
A_restart_with_backoff_source_should_reset_exponential_backoff_back_to_minimum_when_source_runs_for_at_least_minimum_backoff_without_completing()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Put it back in one line

{
"a",
"b"
});
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would prefer the single line and array syntax, but isn’t necessary

@@ -326,14 +344,13 @@ public void A_restart_with_backoff_sink_should_backoff_before_restart()
}

[Fact]
public void A_restart_with_backoff_sink_should_reset_exponential_backoff_back_to_minimum_when_source_runs_for_at_least_minimum_backoff_without_completing()
public void
A_restart_with_backoff_sink_should_reset_exponential_backoff_back_to_minimum_when_source_runs_for_at_least_minimum_backoff_without_completing()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Back in one line

materializedValues.Add(atomic, materialized);
}
//else if (atomic is TlsModule)
//{
//})
else if (atomic is GraphModule)
{
var graph = (GraphModule) atomic;
var graph = (GraphModule)atomic;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not also use assignment in the if statement ?

MaterializeGraph(graph, effectiveAttributes, materializedValues);
}
else if (atomic is GraphStageModule)
{
var stage = (GraphStageModule) atomic;
var stage = (GraphStageModule)atomic;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above

Vasily Kirichenko added 2 commits January 26, 2018 12:37
# Conflicts:
#	src/core/Akka.Streams.Tests/Dsl/HubSpec.cs
no-brain auto refactoring
@vasily-kirichenko
Copy link
Contributor Author

@marcpiechura all done.

@Aaronontheweb
Copy link
Member

Going to pull the plug on our Mono builds, I think; been talking with @Horusiath about dropping support for it since it affects PRs like this one and our IObservable integration. Going to restore our .NET Core on Linux builds and use that as our canary for x-plat compatibility on POSIX operating systems.

@marcpiechura
Copy link
Contributor

@Aaronontheweb any timeframe for removing mono? Would like to merge this one and rebase my work for Streams 2.5 on it

@Danthar Danthar added this to the 1.4.0 milestone Apr 18, 2018
@Aaronontheweb
Copy link
Member

I'll look at resolving the conflicts here and getting this pulled into v1.4 now that v1.4 has been updated with the latest sources.

@Aaronontheweb
Copy link
Member

Need to give this another look for the next Akka.NET v1.4.0 beta

@Aaronontheweb Aaronontheweb changed the base branch from v1.4 to dev September 6, 2019 21:40
@Aaronontheweb
Copy link
Member

Retargeting the dev branch here...

@Aaronontheweb
Copy link
Member

The merge conflicts are a little nasty - I think I'll need to do this offline.

@Aaronontheweb
Copy link
Member

closed via #3973

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.

None yet

4 participants