@@ -661,7 +661,7 @@ type internal ConsumerImpl<'T> (consumerConfig: ConsumerConfiguration<'T>, clien
661661 trackMessage rawMessage.MessageId
662662 None
663663
664- let handleSingleMessagePayload ( rawMessage : RawMessage ) msgId payload hasWaitingChannel hasWaitingBatchChannel schemaDecodeFunction =
664+ let handleSingleMessagePayload ( rawMessage : RawMessage ) msgId payload hasWaitingChannel hasWaitingBatchChannel isMessageUndecryptable schemaDecodeFunction =
665665 if duringSeek.IsSome || ( isSameEntry( rawMessage.MessageId) && isPriorEntryIndex( rawMessage.MessageId.EntryId)) then
666666 // We need to discard entries that were prior to startMessageId
667667 Log.Logger.LogInformation( " {0} Ignoring message from before the startMessageId: {1}" , prefix, startMessageId)
@@ -677,7 +677,7 @@ type internal ConsumerImpl<'T> (consumerConfig: ConsumerConfiguration<'T>, clien
677677 % msgKey,
678678 rawMessage.IsKeyBase64Encoded,
679679 rawMessage.Properties,
680- EncryptionContext.FromMetadata rawMessage.Metadata,
680+ EncryptionContext.FromMetadata( rawMessage.Metadata, isEncrypted = isMessageUndecryptable ) ,
681681 getSchemaVersionBytes rawMessage.Metadata.SchemaVersion,
682682 rawMessage.Metadata.SequenceId,
683683 rawMessage.Metadata.OrderingKey,
@@ -715,15 +715,15 @@ type internal ConsumerImpl<'T> (consumerConfig: ConsumerConfiguration<'T>, clien
715715 if isChunkedMessage then
716716 match processMessageChunk rawMessage msgId with
717717 | Some ( chunkedPayload, msgIdWithChunk) ->
718- handleSingleMessagePayload rawMessage msgIdWithChunk chunkedPayload hasWaitingChannel hasWaitingBatchChannel schemaDecodeFunction
718+ handleSingleMessagePayload rawMessage msgIdWithChunk chunkedPayload hasWaitingChannel hasWaitingBatchChannel isMessageUndecryptable schemaDecodeFunction
719719 | None ->
720720 ()
721721 else
722- handleSingleMessagePayload rawMessage msgId rawMessage.Payload hasWaitingChannel hasWaitingBatchChannel schemaDecodeFunction
722+ handleSingleMessagePayload rawMessage msgId rawMessage.Payload hasWaitingChannel hasWaitingBatchChannel isMessageUndecryptable schemaDecodeFunction
723723 elif rawMessage.Metadata.NumMessages > 0 then
724724 // handle batch message enqueuing; uncompressed payload has all messages in batch
725725 try
726- this.ReceiveIndividualMessagesFromBatch rawMessage schemaDecodeFunction
726+ this.ReceiveIndividualMessagesFromBatch rawMessage schemaDecodeFunction isMessageUndecryptable
727727 with ex ->
728728 Log.Logger.LogError( ex, " {0} Batch reading exception {1}" , prefix, msgId)
729729 raise <| BatchDeserializationException " Batch reading exception"
@@ -1315,8 +1315,8 @@ type internal ConsumerImpl<'T> (consumerConfig: ConsumerConfiguration<'T>, clien
13151315 do startStatTimer()
13161316 do startChunkTimer()
13171317
1318- abstract member ReceiveIndividualMessagesFromBatch: RawMessage -> ( byte [] -> 'T ) -> unit
1319- default this.ReceiveIndividualMessagesFromBatch ( rawMessage : RawMessage ) schemaDecodeFunction =
1318+ abstract member ReceiveIndividualMessagesFromBatch: RawMessage -> ( byte [] -> 'T ) -> bool -> unit
1319+ default this.ReceiveIndividualMessagesFromBatch ( rawMessage : RawMessage ) schemaDecodeFunction isMessageUndecryptable =
13201320 let batchSize = rawMessage.Metadata.NumMessages
13211321 let acker = BatchMessageAcker( batchSize)
13221322 let mutable skippedMessages = 0
@@ -1366,7 +1366,7 @@ type internal ConsumerImpl<'T> (consumerConfig: ConsumerConfiguration<'T>, clien
13661366 % msgKey,
13671367 singleMessageMetadata.PartitionKeyB64Encoded,
13681368 properties,
1369- EncryptionContext.FromMetadata rawMessage.Metadata,
1369+ EncryptionContext.FromMetadata( rawMessage.Metadata, isEncrypted = isMessageUndecryptable ) ,
13701370 getSchemaVersionBytes rawMessage.Metadata.SchemaVersion,
13711371 %( int64 singleMessageMetadata.SequenceId),
13721372 singleMessageMetadata.OrderingKey,
@@ -1704,7 +1704,7 @@ and internal ZeroQueueConsumerImpl<'T> (consumerConfig: ConsumerConfiguration<'T
17041704 if this.Waiters.Count > 0 then
17051705 this.SendFlowPermits this.Waiters.Count
17061706
1707- override this.ReceiveIndividualMessagesFromBatch ( _ : RawMessage ) _ =
1707+ override this.ReceiveIndividualMessagesFromBatch ( _ : RawMessage ) _ _ =
17081708 Log.Logger.LogError( " {0} Closing consumer due to unsupported received batch-message with zero receiver queue size" , prefix)
17091709 let _ = postAndAsyncReply this.Mb ConsumerMessage.Close
17101710 let exn =
0 commit comments