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

Could not load type 'Orleans.Serialization.Codecs.TagDelimitedFieldCodec' from assembly 'Orleans.Serialization #395

Open
lifebubble opened this issue Apr 21, 2023 · 1 comment

Comments

@lifebubble
Copy link

I have pulled the Dashboard nuget version 7.2.0.0 into my Orleans 7 project, and this error is raised when placing messages onto a stream.

System.TypeLoadException: Could not load type 'Orleans.Serialization.Codecs.TagDelimitedFieldCodec' from assembly 'Orleans.Serialization, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null'.
at Orleans.Serialization.Serializer.SerializeToArray[T](T value) in //src/Orleans.Serialization/Serializer.cs:line 57
at Orleans.Streaming.EventHubs.EventHubBatchContainer.ToEventData[T](Serializer bodySerializer, StreamId streamId, IEnumerable1 events, Dictionary2 requestContext) in /
/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubBatchContainer.cs:line 108
at Orleans.Streaming.EventHubs.EventHubDataAdapter.ToQueueMessage[T](StreamId streamId, IEnumerable1 events, StreamSequenceToken token, Dictionary2 requestContext) in //src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubDataAdapter.cs:line 59
at Orleans.Streaming.EventHubs.EventHubAdapterFactory.QueueMessageBatchAsync[T](StreamId streamId, IEnumerable1 events, StreamSequenceToken token, Dictionary2 requestContext) in /
/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubAdapterFactory.cs:line 219
at Orleans.Streams.QueueAdapterExtensions.QueueMessageAsync[T](IQueueAdapter adapter, StreamId streamId, T evt, StreamSequenceToken token, Dictionary2 requestContext) in /_/src/Orleans.Streaming/QueueAdapters/IQueueAdapter.cs:line 65 at Orleans.Streams.PersistentStreamProducer1.OnNextAsync(T item, StreamSequenceToken token) in /_/src/Orleans.Streaming/PersistentStreams/PersistentStreamProducer.cs:line 32
at Orleans.Streams.StreamImpl1.OnNextAsync(T item, StreamSequenceToken token) in /_/src/Orleans.Streaming/Internal/StreamImpl.cs:line 98 at Enigmi.Application.Grains.GrainBase1.Enigmi.Application.Grains.IGrainBase.ProcessEventQueue() in F:\SourceCode\Inversion\Enigmi\Enigmi\Enigmi.Application\Grains\GrainBase.cs:line 60

In this project, I am not using the build in serialization libraries of Orleans, but replaced it with Newtonsoft Json.NET. I also noticed if I downgrade the Dashboard nuget package to 7.0.0.0 it works without any problems.

Any suggestions how I can resolve this error?

@david-obee
Copy link

Most likely this is caused by a mismatch between the Orleans version and OrleansDashboard version.

This commit in Orleans: dotnet/orleans@882ae85#diff-812af184eae1b63b43eecc014b16ce951973afbba896d90fa1c25375c11daff2 removed the TagDelimitedFieldCodec type.

Orleans have introduced a breaking change in that commit, which becomes part of the 7.1.0 release, but not versioned it appropriately. That is, between version 7.0.0 and 7.1.0 of Orleans, that type disappears.

We've found that we have to upgrade the OrleansDashboard to get things working again.

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

No branches or pull requests

2 participants