LGouellec / kafka-streams-dotnet

.NET Stream Processing Library for Apache Kafka 🚀
https://lgouellec.github.io/kafka-streams-dotnet/
MIT License
452 stars 73 forks source link

Could not load file or assembly 'RocksDbSharp, Version=7.7.3.33461 #293

Open mrb2015 opened 7 months ago

mrb2015 commented 7 months ago

exception at load rocksdbSharp.dll Streamiz.Kafka.Net.Processors.Internal.TaskManager[0] Failed to process stream task 0-0 due to the following error: System.IO.FileLoadException: Could not load file or assembly 'RocksDbSharp, Version=7.7.3.33461, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044) File name: 'RocksDbSharp, Version=7.7.3.33461, Culture=neutral, PublicKeyToken=null' at Streamiz.Kafka.Net.State.RocksDb.RocksDbKeyValueStore.OpenDatabase(ProcessorContext context) at Streamiz.Kafka.Net.State.RocksDb.Internal.RocksDbKeyValueSegments.GetOrCreateSegment(Int64 segmentId, ProcessorContext context) at Streamiz.Kafka.Net.State.Internal.AbstractSegments1.GetOrCreateSegmentIfLive(Int64 segmentId, ProcessorContext context, Int64 streamTime) at Streamiz.Kafka.Net.State.RocksDb.Internal.AbstractRocksDBSegmentedBytesStore1.Put(Bytes key, Byte[] value) at Streamiz.Kafka.Net.State.RocksDb.RocksDbWindowStore.Put(Bytes key, Byte[] value, Int64 windowStartTimestamp) at Streamiz.Kafka.Net.State.Logging.ChangeLoggingWindowBytesStore.Put(Bytes key, Byte[] value, Int64 windowStartTimestamp) at Streamiz.Kafka.Net.State.Metered.MeteredWindowStore2.<>c__DisplayClass22_0.<Put>b__0() at Streamiz.Kafka.Net.Crosscutting.ActionHelper.MeasureLatency(Action actionToMeasure, Sensor sensor) at Streamiz.Kafka.Net.State.Metered.MeteredWindowStore2.Put(K key, V value, Int64 windowStartTimestamp) at Streamiz.Kafka.Net.Processors.KStreamWindowAggregateProcessor4.Process(K key, V value) at Streamiz.Kafka.Net.Processors.AbstractProcessor2.<>cDisplayClass39_0.b0(IProcessor genericProcessor) at Streamiz.Kafka.Net.Processors.AbstractProcessor2.Forward(IEnumerable1 processors, Action1 action) at Streamiz.Kafka.Net.Processors.AbstractProcessor2.Forward(K key, V value) at Streamiz.Kafka.Net.Processors.SourceProcessor2.Process(K key, V value) at Streamiz.Kafka.Net.Processors.AbstractProcessor2.Process(Object key, Object value) at Streamiz.Kafka.Net.Processors.AbstractProcessor2.Process(ConsumeResult2 record) at Streamiz.Kafka.Net.Processors.StreamTask.<>cDisplayClass49_0.b0() at Streamiz.Kafka.Net.Crosscutting.ActionHelper.MeasureLatency(Action action) at Streamiz.Kafka.Net.Processors.StreamTask.Process() at Streamiz.Kafka.Net.Processors.Internal.TaskManager.Process(Int64 now)

fail: Streamiz.Kafka.Net.Processors.StreamThread[0] stream-thread[test-app-3f585d79-0288-45dd-9e7f-ccf83bc3e3cd-stream-thread-0] Encountered the following error during processing: System.IO.FileLoadException: Could not load file or assembly 'RocksDbSharp, Version=7.7.3.33461, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044) File name: 'RocksDbSharp, Version=7.7.3.33461, Culture=neutral, PublicKeyToken=null' at Streamiz.Kafka.Net.State.RocksDb.RocksDbKeyValueStore.OpenDatabase(ProcessorContext context) at Streamiz.Kafka.Net.State.RocksDb.Internal.RocksDbKeyValueSegments.GetOrCreateSegment(Int64 segmentId, ProcessorContext context) at Streamiz.Kafka.Net.State.Internal.AbstractSegments1.GetOrCreateSegmentIfLive(Int64 segmentId, ProcessorContext context, Int64 streamTime) at Streamiz.Kafka.Net.State.RocksDb.Internal.AbstractRocksDBSegmentedBytesStore1.Put(Bytes key, Byte[] value) at Streamiz.Kafka.Net.State.RocksDb.RocksDbWindowStore.Put(Bytes key, Byte[] value, Int64 windowStartTimestamp) at Streamiz.Kafka.Net.State.Logging.ChangeLoggingWindowBytesStore.Put(Bytes key, Byte[] value, Int64 windowStartTimestamp) at Streamiz.Kafka.Net.State.Metered.MeteredWindowStore2.<>c__DisplayClass22_0.<Put>b__0() at Streamiz.Kafka.Net.Crosscutting.ActionHelper.MeasureLatency(Action actionToMeasure, Sensor sensor) at Streamiz.Kafka.Net.State.Metered.MeteredWindowStore2.Put(K key, V value, Int64 windowStartTimestamp) at Streamiz.Kafka.Net.Processors.KStreamWindowAggregateProcessor4.Process(K key, V value) at Streamiz.Kafka.Net.Processors.AbstractProcessor2.<>cDisplayClass39_0.b0(IProcessor genericProcessor) at Streamiz.Kafka.Net.Processors.AbstractProcessor2.Forward(IEnumerable1 processors, Action1 action) at Streamiz.Kafka.Net.Processors.AbstractProcessor2.Forward(K key, V value) at Streamiz.Kafka.Net.Processors.SourceProcessor2.Process(K key, V value) at Streamiz.Kafka.Net.Processors.AbstractProcessor2.Process(Object key, Object value) at Streamiz.Kafka.Net.Processors.AbstractProcessor2.Process(ConsumeResult2 record) at Streamiz.Kafka.Net.Processors.StreamTask.<>cDisplayClass49_0.b0() at Streamiz.Kafka.Net.Crosscutting.ActionHelper.MeasureLatency(Action action) at Streamiz.Kafka.Net.Processors.StreamTask.Process() at Streamiz.Kafka.Net.Processors.Internal.TaskManager.Process(Int64 now) at Streamiz.Kafka.Net.Processors.StreamThread.<>c__DisplayClass65_0.b__4() at Streamiz.Kafka.Net.Crosscutting.ActionHelper.MeasureLatency(Action action) at Streamiz.Kafka.Net.Processors.StreamThread.Run()

info: Streamiz.Kafka.Net.Processors.StreamThread[0] stream-thread[test-app-3f585d79-0288-45dd-9e7f-ccf83bc3e3cd-stream-thread-0] Shutting down info: Streamiz.Kafka.Net.Processors.StreamThread[0] stream-thread[test-app-3f585d79-0288-45dd-9e7f-ccf83bc3e3cd-stream-thread-0] State transition from RUNNING to PENDING_SHUTDOWN fail: Streamiz.Kafka.Net.Processors.StreamThread[0] stream-thread[test-app-3f585d79-0288-45dd-9e7f-ccf83bc3e3cd-stream-thread-0] Failed to close stream thread due to the following error: System.IO.FileLoadException: Could not load file or assembly 'RocksDbSharp, Version=7.7.3.33461, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044) File name: 'RocksDbSharp, Version=7.7.3.33461, Culture=neutral, PublicKeyToken=null' at Streamiz.Kafka.Net.State.RocksDb.RocksDbKeyValueStore.Flush() at Streamiz.Kafka.Net.State.Internal.AbstractSegments1.Flush() at Streamiz.Kafka.Net.State.RocksDb.Internal.AbstractRocksDBSegmentedBytesStore1.Flush() at Streamiz.Kafka.Net.State.Internal.WrappedStateStore1.Flush() at Streamiz.Kafka.Net.State.Internal.WrappedStateStore1.Flush() at Streamiz.Kafka.Net.State.Metered.MeteredWindowStore2.<Flush>b__23_0() at Streamiz.Kafka.Net.Crosscutting.ActionHelper.MeasureLatency(Action actionToMeasure, Sensor sensor) at Streamiz.Kafka.Net.State.Metered.MeteredWindowStore2.Flush() at Streamiz.Kafka.Net.Processors.Internal.ProcessorStateManager.Flush() at Streamiz.Kafka.Net.Processors.AbstractTask.WriteCheckpoint(Boolean force) at Streamiz.Kafka.Net.Processors.StreamTask.MayWriteCheckpoint(Boolean force) at Streamiz.Kafka.Net.Processors.Internal.TaskManager.Close() at Streamiz.Kafka.Net.Processors.StreamThread.CompleteShutdown()

info: Streamiz.Kafka.Net.Processors.StreamThread[0] stream-thread[test-app-3f585d79-0288-45dd-9e7f-ccf83bc3e3cd-stream-thread-0] State transition from PENDING_SHUTDOWN to DEAD info: Streamiz.Kafka.Net.KafkaStream[0] stream-application[test-app] State transition from RUNNING to ERROR fail: Streamiz.Kafka.Net.Processors.StreamStateManager[0] All stream threads have died. The instance will be in error state and should be closed

LGouellec commented 7 months ago

Hi @mrb2015 ,

Can you share more informations about your setup ? Environment : Mac, Linux, Windows ...

Thanks

mrb2015 commented 7 months ago

Hi @LGouellec thank you Env: Windows .net Version:4.8

LGouellec commented 7 months ago

Hi @mrb2015 ,

Streamiz use RocksDbSharp as a dependency and probably this library is not signed, that's why the DLL loader doesn't want to load it because it doesn't signed. Can you open an issue here please ? https://github.com/curiosity-ai/rocksdb-sharp

In parallel, can you try to sign the dll with this kind of tool. ? https://brutaldev.com/post/NET-Assembly-Strong-Name-Signer

Best regards,