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

fail JournalSerializationSpec.Journal_should_serialize_Persistent_with_EventAdapter_manifes #3964

Draft
wants to merge 3 commits into
base: dev
Choose a base branch
from

Conversation

Aaronontheweb
Copy link
Member

Reproduction to show that this spec doesn't make sense right now.

@Aaronontheweb
Copy link
Member Author

Ok, I figured this issue out. It's not a bug - we need to add some missing HOCON to this spec in order to get it to work:

event-adapters {
                                custom-adapter = ""Akka.Persistence.TCK.Serialization.TestJournal+MyWriteAdapter, Akka.Persistence.TCK""
                            }
                            event-adapter-bindings = {
                                ""Akka.Persistence.TCK.Serialization.TestJournal+MyPayload3, Akka.Persistence.TCK"" = custom-adapter
                            }

@Aaronontheweb
Copy link
Member Author

Nevermind - this spec fails because we're not saving messages using the Persistent format right now. The adapters are setup correctly.

@Aaronontheweb
Copy link
Member Author

Failed: Expected a message of type Akka.Persistence.ReplayedMessage, but received {ReplayMessagesFailure<cause: System.Runtime.Serialization.SerializationException: Cannot find manifest class [First-Manifest] for serializer with id [77123]. ---> System.TypeLoadException: Could not load type 'First-Manifest' from assembly 'Akka, Version=1.4.0.0, Culture=neutral, PublicKeyToken=null'.
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type, ObjectHandleOnStack keepalive)
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
   at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
   at System.Type.GetType(String typeName, Boolean throwOnError)
   at Akka.Util.Reflection.TypeCache.GetTypeInternal(String typeName) in C:\Repositories\olympus\akka.net\src\core\Akka\Util\Reflection\TypeCache.cs:line 40
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Akka.Util.Reflection.TypeCache.GetType(String typeName) in C:\Repositories\olympus\akka.net\src\core\Akka\Util\Reflection\TypeCache.cs:line 35
   at Akka.Serialization.Serialization.Deserialize(Byte[] bytes, Int32 serializerId, String manifest) in C:\Repositories\olympus\akka.net\src\core\Akka\Serialization\Serialization.cs:line 344
   --- End of inner exception stack trace ---
   at Akka.Serialization.Serialization.Deserialize(Byte[] bytes, Int32 serializerId, String manifest) in C:\Repositories\olympus\akka.net\src\core\Akka\Serialization\Serialization.cs:line 348
   at Akka.Persistence.Sql.Common.Journal.AbstractQueryExecutor.ReadEvent(DbDataReader reader) in C:\Repositories\olympus\akka.net\src\contrib\persistence\Akka.Persistence.Sql.Common\Journal\QueryExecutor.cs:line 765
   at Akka.Persistence.Sql.Common.Journal.AbstractQueryExecutor.SelectByPersistenceIdAsync(DbConnection connection, CancellationToken cancellationToken, String persistenceId, Int64 fromSequenceNr, Int64 toSequenceNr, Int64 max, Action`1 callback) in C:\Repositories\olympus\akka.net\src\contrib\persistence\Akka.Persistence.Sql.Common\Journal\QueryExecutor.cs:line 500
   at Akka.Persistence.Sql.Common.Journal.SqlJournal.ReplayMessagesAsync(IActorContext context, String persistenceId, Int64 fromSequenceNr, Int64 toSequenceNr, Int64 max, Action`1 recoveryCallback) in C:\Repositories\olympus\akka.net\src\contrib\persistence\Akka.Persistence.Sql.Common\Journal\SqlJournal.cs:line 242>} (type Akka.Persistence.ReplayMessagesFailure) instead  from [akka://SqliteJournalSerializationSpec/deadLetters]
Expected: True
Actual:   False
   at Akka.TestKit.Xunit2.XunitAssertions.Fail(String format, Object[] args) in C:\Repositories\olympus\akka.net\src\contrib\testkits\Akka.TestKit.Xunit2\XunitAssertions.cs:line 26
   at Akka.TestKit.TestKitBase.InternalExpectMsgEnvelope[T](Nullable`1 timeout, Action`2 assert, String hint, Boolean shouldLog) in C:\Repositories\olympus\akka.net\src\core\Akka.TestKit\TestKitBase_Expect.cs:line 247
   at Akka.TestKit.TestKitBase.InternalExpectMsg[T](Nullable`1 timeout, Action`2 assert, String hint) in C:\Repositories\olympus\akka.net\src\core\Akka.TestKit\TestKitBase_Expect.cs:line 211
   at Akka.TestKit.TestKitBase.ExpectMsg[T](Predicate`1 isMessage, Nullable`1 timeout, String hint) in C:\Repositories\olympus\akka.net\src\core\Akka.TestKit\TestKitBase_Expect.cs:line 74
   at Akka.Persistence.TCK.Serialization.JournalSerializationSpec.Journal_should_serialize_Persistent_with_EventAdapter_manifest() in C:\Repositories\olympus\akka.net\src\core\Akka.Persistence.TCK\Serialization\JournalSerializationSpec.cs:line 104

@Aaronontheweb Aaronontheweb marked this pull request as draft May 5, 2020 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug-reproduction Used to reproduce bugs. NO MERGE Don't merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant