rbarinov / nyactor

MIT License
6 stars 2 forks source link

Incorrect documentation or impossible to migrate from NYActor.Core Version=2.7.0 to NYActor.Core Version=3.0.82 #44

Open MaximKitsenko opened 7 months ago

MaximKitsenko commented 7 months ago

During the migration from NYActor.Core Version=2.7.0 to NYActor.Core Version=3.0.82, we faced with a problem. Signature of methods we used before changed, it's unclear how to use new methods. I see it was major version update, Is there backward compatibility between 3 and 2 versions?

For example, some actors were using the following code:

var info = await this.Self().InvokeAsync(s => s.GetInfo());

According to documentation, it should still be possible to use InvokeAsync with the same signature in 3.0.82, example from the documentation:

await this.Self().InvokeAsync(e => e.CompleteLongOp(minutesToWork))

but in reality, we have an error:

GatewayBaseActor.cs(248,26): Error CS1501 : No overload for method 'InvokeAsync' takes 1 arguments

moreover, in tests, we can't find any example where this.Self().InvokeAsync is used, only this.Self().DelayDeactivation(TimeSpan.FromHours(2))

Could you provide an explanation of how to use new methods?

rbarinov commented 7 months ago

@MaximKitsenko the v3 is not backward compatible with v2.

Try to use this.Self().Wrap().InvokeAsync(...

MaximKitsenko commented 7 months ago

Thank you. Since it's not compatible, is it possible to migrate events from Version="5.0.8" to Version="23.2.1"?

How long may it take?