Event Hub :: Serialization operation failed due to unsupported type System.Byte[] - serialization

I am using the Azure Function Event Hub trigger to get the data from one (source) Event Hub to another (target) Event Hub.
Some messages are flowing and some message are failing with error:
Serialization operation failed due to unsupported type System.Byte[]

Related

Cannot access a disposed object. Object name: 'RabbitMQ.Client.Impl.AutorecoveringModel'

I'm starting to learn RabbitMq and use it with my C# code, but it's giving this error:
(Cannot access a disposed object. Object name: 'RabbitMQ.Client.Impl.AutorecoveringModel'.)
I was trying to consume from Rabbit QUEUE and convert to right Task object, but when she goes to ack he gives except and loses the value.
I had this same problem when I was using the 'using' statement to create the rabbitmq connection and channel.
I stopped using it because I needed to keep the channel open for the entire lifetime object.
Note: I created a function to dispose the connection and channel when finished.

I need to know weather we would get the message again once it failed by the n service bus

like if there is a DivideByZzero exception so it requires a code fix and if the code gets fixed will it tries to resend the same message again

Iot Hub - default event hub receive same message twice

I'm having APi Service that handle some information from my device. After that i use default Iot-HUB SDK that allows me to send data into Iot-Hub. In my event hub I usually get data that I send more than once. Is there any options to see what it happens ? Maybe some extra settings that to retransmission or something that send messages more than once from my web api service ?
I had the same problem with my code. I was sending messages to an iothub using an Azure function. I had the message sending time trigger as a variable. When sending messages in shorter frequencies (i.e. messages that are sent each second) some of these messages are duplicated.
By changing the message protocol it solved. Given below is the corrected code,
DeviceClient deviceClient = DeviceClient.CreateFromConnectionString(connectionString, TransportType.Http1);

Get an Error when use IoThub as the Job input

I create an IotHub and create an eventprocesshost to receive the events from the hub in a console application, then I create an ASA job and make the Iothub as the input with the default consumer group, but when I start the job, I get the exception:
There is more than one receiver with different epoch value connected to the same Event Hub. Please ensure Service Bus Explorer or an EventProcessorHost application is not connected while Stream Analytics job is running.
So the job input and the event processor host use the same consumer group make this happen???
The input and host cannot use the same consumer group???
You can't have EPH and ASA job running side by side due to Epoch conflict. Please close your EPH application and then restart ASA job.

RabbitMQ - upgraded to a new version and got a lot of "PRECONDITION_FAILED unknown delivery tag 1"

Just upgraded to a new version of RabbitMQ -- 2.3.1 -- and now the following error occurs:
PRECONDITION_FAILED unknown delivery tag 1
...followed by the channel closing. This worked on an older RabbitMQ with no client-side changes.
In terms of application behavior:
When App A wants to send an async message to App b and receive an answer from B, this is the algorithm:
App A generate a unique ID and puts it in the message object
Then App A subscribes to a new Queue with both the queue name and routing key equals to the uuid.
App B open the message, do some calculations and return the result to the channel with the routkey that it recieved.
App A gets the answer and close the queue.
So far everything went really well in 1.7.0. what went wrong in 2.3.1?
When Application A calls basicPublish(), application B immediately throws the following exception:
com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method<channel.close>(reply-code=406,reply-text=PRECONDITION_FAILED - unknown delivery tag 1,class-id=60,method-id=80),null,""}
at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:191)
at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:159)
at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:110)
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:438)
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method<channel.close>(reply-code=406,reply-text=PRECONDITION_FAILED - unknown delivery tag 1,class-id=60,method-id=80),null,""}
The only codepath that can cause that exception is through the broker handling a 'basic.ack', so this sounds like a client issue; check the client code.
In particular, check that you aren't ack'ing messages more than once. Doing so is in violation of the AMQP 0-9-1 spec:
A message MUST not be acknowledged more than once. The receiving peer MUST validate that a non-zero delivery-tag refers to a delivered message, and raise a channel exception if this is not the case
A great place to ask such questions is the rabbitmq-discuss mainling-list; all the RabbitMQ developers read that list and make a point of not leaving questions unanswered.
It's also worth noting that previous versions of Rabbit were more lax and did not throw an error in this case, but more recent versions do.
Just set noAck: false on BasicConsume method