Find Publishers of an Event Hub
Azure Service Bus SLA Interaction Between Message Lock and SLA
My interpretation of the SLA, from the SLA documentation and this link:
https://social.msdn.microsoft.com/Forums/azure/en-US/9a95dcd6-ba25-4b2d-9f13-d3896261d8ac/service-bus-sla-what-does-it-really-mean?forum=servbus
Is that Azure Service bus considers outages or lack of communication of <1minute to be within SLA. Does this same SLA apply to lock refreshes? We currently refresh locks with 30 seconds remaining on the lock, but occasionally get large batch
failures. My interpretation would be that this is in line with Azure Service Bus losing communication for >30s, leading to locks expiring.
Is this a valid interpretation? If this is a valid interpretation, I am assuming then that if I have a long running process, that I will be required to refresh earlier than with 30 seconds remaining on the lock?
Thanks!
Nathan
Problem starting message broker during service broker configuration
Hi,
after a successful Installation of Service Broker 1.0 i started with its configuration.
The farm creation was also successful but not the step when the Services are started. First it took a Long time for processing. Finally this error message was shown:
Fehler beim Starten des Diensts Service Bus Message Broker: Der Vorgang wurde nicht abgeschlossen, da derTimeout abgelaufen ist.
To find out what really happend i found this Errors in the Event log:
1:
TrackingId: 90a3b7eb-21e2-4420-a873-036f6cfc98ee, SubsystemId: NoSystemTracker. Failed to open Messaging Host Component System.AggregateException: Mindestens ein Fehler ist aufgetreten. ---> System.Fabric.FabricException: A communication error caused the operation to fail. ---> System.Runtime.InteropServices.COMException: Ausnahme von HRESULT: 0x80071BBC
bei System.Fabric.Interop.NativeClient.IFabricServiceManagementClient.EndGetServiceDescription(IFabricAsyncOperationContext context)
bei System.Fabric.FabricClient.ServiceManagementClient.GetServiceDescriptionEndWrapper(AsyncCallOutAdapter adapter)
bei System.Fabric.Interop.Utility.FinishNativeAsyncInvoke[TResult](String functionTag, Func`2 endFunc, TaskCompletionSource`1 source, AsyncCallOutAdapter adapter, Boolean expectCompletedSynchronously)
--- Ende der internen Ausnahmestapelüberwachung ---
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
bei Microsoft.Cloud.ServiceBus.MessageContainerHost.MessageContainerHelper.WaitForFabricReady(FabricClient fabricClient, Uri uri)
bei Microsoft.Cloud.ServiceBus.MessageContainerHost.MessageContainerHelper.CreateServiceInstances(MessagingManagementProviderConfig messagingManagementProviderConfig)
bei Microsoft.Cloud.ServiceBus.MessageContainerHost.MessageContainerHostComponent.Open()
---> (Interne Ausnahme #0) System.Fabric.FabricException: A communication error caused the operation to fail. ---> System.Runtime.InteropServices.COMException: Ausnahme von HRESULT: 0x80071BBC
bei System.Fabric.Interop.NativeClient.IFabricServiceManagementClient.EndGetServiceDescription(IFabricAsyncOperationContext context)
bei System.Fabric.FabricClient.ServiceManagementClient.GetServiceDescriptionEndWrapper(AsyncCallOutAdapter adapter)
bei System.Fabric.Interop.Utility.FinishNativeAsyncInvoke[TResult](String functionTag, Func`2 endFunc, TaskCompletionSource`1 source, AsyncCallOutAdapter adapter, Boolean expectCompletedSynchronously)
--- Ende der internen Ausnahmestapelüberwachung ---<---
2:ServiceBus Broker service failed to start, retry count 1. Exception message: Mindestens ein Fehler ist aufgetreten.. Stack Trace: bei System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
bei Microsoft.Cloud.ServiceBus.MessageContainerHost.MessageContainerHelper.WaitForFabricReady(FabricClient fabricClient, Uri uri)
bei Microsoft.Cloud.ServiceBus.MessageContainerHost.MessageContainerHelper.CreateServiceInstances(MessagingManagementProviderConfig messagingManagementProviderConfig)
bei Microsoft.Cloud.ServiceBus.MessageContainerHost.MessageContainerHostComponent.Open()
bei Microsoft.Cloud.HostingModel.ComponentHost.OpenComponent(IComponent component, RequestTracker tracker)
bei Microsoft.Cloud.HostingModel.ComponentHost.Open()
bei Microsoft.ServiceBus.MessageBroker.Backend.OnStart(String[] args)
3:
Windows Fabric service registration failed. Exception System.Fabric.FabricException: Service type is already registered. ---> System.Runtime.InteropServices.COMException: Ausnahme von HRESULT: 0x80071BD1
bei System.Fabric.Interop.NativeRuntime.IFabricRuntime.RegisterStatefulServiceFactory(IntPtr serviceType, IFabricStatefulServiceFactory factory)
bei System.Fabric.FabricRuntime.InternalRegisterServiceFactory(Boolean isStateful, String serviceType, ServiceFactoryBroker serviceFactoryBroker)
bei System.Fabric.FabricRuntime.RegisterServiceTypeHelper(Boolean isStateful, String serviceTypeName, Type serviceTypeImplementation)
bei System.Fabric.Interop.Utility.<>c__DisplayClassad.<WrapNativeSyncInvoke>b__ac()
bei System.Fabric.Interop.Utility.WrapNativeSyncInvoke[TResult](Func`1 func, String functionTag)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Fabric.Interop.Utility.WrapNativeSyncInvoke[TResult](Func`1 func, String functionTag)
bei Microsoft.Cloud.ServiceBus.MessageContainerHost.Ring.Join()
I suppose that this last message 3 is not the reason for the Problem, but the first communication Problem.
Can You please help me to find out the reason for this problems!
Thank You in advance
Alex
Access Message Content (Or Correlation ID) In Notify Exception in Message Handler
Hello,
We are using Service Bus to act as the producer for a compute intensive consumer. We occasionally receive message lock loss, which is acceptable as it is at low frequency even on long running jobs. However, in order to maintain accurate logs we
want to correlate message lock losses consistently with the entity that is being processed so that we can determine if there is a correlation between message lock loss and message content.
Thanks,
Nathan
Flink Kafka connector to eventhub
I am using Apache Flink, and trying to connect to Azure eventhub by using Apache Kafka protocol to receive messages from it. I manage to connect to Azure eventhub and receive messages, but I can't use flink feature "setStartFromTimestamp(...)" as described in Apache Flink documentation. When I am trying to get some messages from timestamp, Kafka said that the message format on the broker side is before 0.10.0. Is anybody faced with this? Apache Kafka client version is 2.0.1 Apache Flink version is 1.7.2
Tried to use Azure-Event-Hub quickstart examples in consumer package added code to get offset with timestamp, it returns null as expected if message version under 0.10.0 kafka version.
List<PartitionInfo> partitionInfos = consumer.partitionsFor(TOPIC); List<TopicPartition> topicPartitions = partitionInfos.stream().map(pi -> new TopicPartition(pi.topic(), pi.partition())).collect(Collectors.toList()); Map<TopicPartition, Long> topicPartitionToTimestampMap = topicPartitions.stream().collect(Collectors.toMap(tp -> tp, tp -> 0L)); Map<TopicPartition, OffsetAndTimestamp> offsetAndTimestamp = consumer.offsetsForTimes(topicPartitionToTimestampMap); System.out.println(offsetAndTimestamp);
Using template to deploy service bus namespaces with geo-redundant disaster recovery fails the second time
I am trying to deploy two service bus namespaces in two different regions including an alias to pair them together. I am using an arm template to deploy. First time I deploy, when the resources doesn't yet exist it goes OK and the resources are created. Trying again with same template I get following response after 10 min:
{"code": "DeploymentFailed","message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.","details": [ {"code": "RequestTimeout","message": "{\r\n \"error\": {\r\n \"code\": \"ResourceDeploymentFailure\",\r\n \"message\": \"The resource provision operation did not complete within the allowed timeout period. Please see https://aka.ms/arm-deploy for usage details.\"\r\n }\r\n}" } ] }I get the RequestTimeout when creating the Microsoft.ServiceBus/namespaces/disasterRecoveryConfigs.
The arm template I am using is:
{"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#","contentVersion": "1.0.0.0","parameters": { },"variables": {"fallbackLocation": "North Europe","location": "West Europe","aliasNamespaceName": "azb-drsb-test-westeu-alias","primaryNamespaceName": "azb-drsb-test-westeu-primary","secondaryNamespaceName": "azb-drsb-test-westeu-secondary" },"resources": [ {"apiVersion": "2017-04-01","name": "[variables('secondaryNamespaceName')]","type": "Microsoft.ServiceBus/namespaces","location": "[variables('fallbackLocation')]","sku": {"name": "Premium","tier": "Premium","capacity": 1 },"properties": {},"resources": [] }, {"apiVersion": "2017-04-01","name": "[variables('primaryNamespaceName')]","type": "Microsoft.ServiceBus/namespaces","location": "[variables('location')]","sku": {"name": "Premium","tier": "Premium","capacity": 1 },"dependsOn": ["[concat('Microsoft.ServiceBus/namespaces/', variables('secondaryNamespaceName'))]" ],"properties": {},"resources": [ {"apiVersion": "2017-04-01","name": "[variables('aliasNamespaceName')]","type": "disasterRecoveryConfigs","dependsOn": ["[concat('Microsoft.ServiceBus/namespaces/', variables('primaryNamespaceName'))]" ],"properties": {"partnerNamespace": "[resourceId('Microsoft.ServiceBus/namespaces', variables('secondaryNamespaceName'))]" } } ] } ] }
The template is according to 101-servicebus-create-namespace-geo-recoveryconfiguration from azure-quickstart-templates
Is there any explanation to why it can't get deployed second time?
Azure event hub - tracking connectivity
How do clients track connectivity towards the event hub?
Receiver - e.g. IEventProcessor
Sender - can track if sending succeeds or not but maybe can get other info e.g. when inactive/nothing to send.
Example want to trigger alarm & uptime statistics/graphs from each process perspective.
Creating Azure Bus Service using Azure Powershell throwing exception
Hi,
I am trying to create Azure Service Bus using Azure powershell command.
I am using command as :
New-AzureSBNamespace –Name UKBProjectServiceBus -Location "West US" -CreateACSNamespace $true -NamespaceType Messaging
but getting exception as:
New-AzureSBNamespace : InternalError: The server encountered an internal error. Please retry the request.
At line:1 char:1
+ New-AzureSBNamespace -Name UKBProjectServiceBus -Location "West US" - ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzureSBNamespace], CloudException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceBus.NewAzureSBNamespaceCommand
Can anyone please help me?
Issue with Azure Service Bus Receiving Random Requests
Hello,
I was wondering if anyone has had this issue kind of issue before with Azure Service Bus and what would cause these random unwanted "Requests" to show up?
I create a new Service Bus and within a few minutes of it being created I was receiving "Requests". This was confusing for me because I had yet to create a queue or even setup an application to use the Service Bus.
I can see the "Requests" on the Overview screen where there are two line graphs showing "Requests" and "Messages".
How to TTL behave on Azure Service Bus Topic Subscriptions
We have a Service bus Topic which has a Message time to live (default) set to 14 days.
We have several subscriptions to this topic which have their own default TTL which is set to a value different than that's on the Topic. None of them exceed 14 days.
I have been looking for documentation around the behavior here with different TTLs. Does the TTL on the Subscription take priority over the Topic?
Will the message TTL irrespective of if there is a listener listening on one of the Subscription? i.e. if one of the Subscription (with TTL 5 min), has no listener currently connected to it and consuming messages. Will all messages TTL there after 5mins?
Messages not replicated in Service Bus for premium tier...Is there any solution for message replication or alternative?
Metadata: Entities such as queues, topics, and subscriptions; and their properties of the service that are associated with the namespace. Note that only entities and their settings are replicated automatically. Messages are not replicated.
How to replicate messages for service bus in premium tier especially for those regions where availablity zones are not implemented.
topic in service bus
Service Bus - CI/CD?
As we prototype our application, we've been managing our service bus directly in azure and I was curious how people are deploying service bus changes to their production environments? We want to build a CI/CD process that will allow us to not only provision our platform for new customers, but deploy changes to those tenants in an automated fashion. Is the Azure SDK the best way to accomplish this?
Seeing System.ServiceModel.FaultException`1 System.TimeOutException First Chance Exceptions
Since enabling first chance exceptions, we've been seeing > 1M exceptions in AppInsights from Service Bus all with details similar to those pasted below. This issue does not seem to be impacting performance or functionality. When running locally, this exception can be seen shortly after startup.
Please let me know if there's any other information I can provide that would help in diagnosing this issue.
A timeout has occurred during the operation. TrackingId:f7d66218-3e33-4466-937f-e79345cc6c83_G1_B10, SystemTracker:mt1-sbx-184-sea-servicebus:Topic:controldeletecachedpushmessagesfromblob|DeleteCachedPushMessagesFromBlob, Timestamp:2019-04-18T21:56:06
System.ServiceModel.FaultException`1[[System.ServiceModel.ExceptionDetail, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]:
at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement+DuplexRequestSessionChannel.ThrowIfFaultMessage (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement+DuplexRequestSessionChannel.HandleMessageReceived (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Common.AsyncResult.End (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement+DuplexRequestSessionChannel.EndRequest (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement+ReconnectChannelFactory`1+RequestSessionChannel+RequestAsyncResult+<>c.<GetAsyncSteps>b__9_3 (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Common.AsyncResult.End (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Common.AsyncResult`1.End (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement+ReconnectChannelFactory`1+RequestSessionChannel.EndRequest (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.Sbmp.RedirectBindingElement+RedirectContainerChannelFactory`1+RedirectContainerSessionChannel+RequestAsyncResult+<>c__DisplayClass8_1.<GetAsyncSteps>b__4 (Microsoft.ServiceBus, Version=3.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Common.AsyncResult.End (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Common.AsyncResult`1.End (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.Sbmp.RedirectBindingElement+RedirectContainerChannelFactory`1+RedirectContainerSessionChannel.EndRequest (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement+ReconnectChannelFactory`1+RequestSessionChannel+RequestAsyncResult+<>c.<GetAsyncSteps>b__9_3 (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Common.AsyncResult.End (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
Alert Conditions Can No Longer Be Set
Hello!
I was creating alert rules for my service bus namespace recently, and ran into an unusual issue. I defined a "Count of dead-lettered messages in a Queue/Topic" signal; and after that I couldn't specify the list of entities (queues) in Dimension
Values section. Each time I try to check something from the droplist, it just collapses without checking anything, so I can't pick any queues from the list. It started happening suddenly and everything worked the way it should just a couple of minutes before
and never since.
It appears to be some kind of a bug.
I tried clearing caches, different browsers and different accounts, checking checkboxes with page source, to no avail.
Could you please explain what could cause this issue? Maybe there is a way to set alert rules with the cloud shell?
Integrate TomEE with Azure Service Bus for JMS
I'm using TomEE [8.5.32 (7.1.0)]. I include the AMQP 1.0 JMS client library jars to the lib directory of TomEE. (See: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-java-how-to-use-jms-api-amqp)
I created a service-jar.xml as a jar file and copied it to the lib directory.(See: http://tomee.apache.org/changing-jms-implementations.html)
<?xml version="1.0" encoding="UTF-8"?><ServiceProvider id="ampq" service="Resource" types="AMPQJMSRA" class-name="org.jboss.resource.adapter.jms.JmsResourceAdapter"> UserName Password ProviderIntegrationMode ConnectionFactoryClassName QueueConnectionFactoryClassName TopicConnectionFactoryClassName XAConnectionFactoryClassName XAQueueConnectionFactoryClassName XATopicConnectionFactoryClassName UnifiedDestinationClassName TopicClassName QueueClassName SupportsXA ConnectionFactoryProperties JndiProperties CommonSetterMethodName RMPolicy LogLevel DeliveryType UseFirstXAForRedelivery</ServiceProvider><ServiceProvider id="ConnectionFactory" service="Resource" types="javax.jms.ConnectionFactory, javax.jms.QueueConnectionFactory, javax.jms.TopicConnectionFactory, QueueConnectionFactory, TopicConnectionFactory" class-name="org.apache.qpid.jms.JmsConnectionFactory"> RemoteURI Username Password ClientId ResourceAdapter</ServiceProvider><ServiceProvider id="Queue" service="Resource" types="javax.jms.Queue, Queue" class-name="org.apache.qpid.jms.JmsQueue"> DestinationJndiName ResourceAdapter UserName Password JndiProperties QueueClassName</ServiceProvider><ServiceProvider id="Topic" service="Resource" types="javax.jms.Topic, Topic" class-name="org.apache.qpid.jms.JmsTopic"> DestinationJndiName ResourceAdapter UserName Password JndiProperties TopicClassName</ServiceProvider></ServiceJar>
Then I added the following to tomee.xml:
<Container id="myJmsMdbContainer" type="MESSAGE"> ResourceAdapter=amqpsRA MessageListenerInterface=javax.jms.MessageListener ActivationSpecClass=org.jboss.resource.adapter.jms.inflow.JmsActivationSpec</Container><Resource id="amqpsRA" type="AMPQJMSRA" provider="com.wk.amsp:ampq"> RemoteURI=amqps://xxxxxx.servicebus.windows.net?amqp.idleTimeout=120000&amqp.traceFrames=true UserName=********* Password=*********</Resource><Resource id="MyJmsConnectionFactory" type="javax.jms.ConnectionFactory" provider="com.wk.amsp:ConnectionFactory"> ResourceAdapter = amqpsRA</Resource><Resource id="MyQueue" type="javax.jms.Queue"/><Resource id="MyTopic" type="javax.jms.Topic"/>
Unfortunately, when I deploy my JMS application I get the following exception:
Unable to create activation spec: connectionFactory is mandatory
Has anyone been able to get TomEE to work with Azure Service Bus?
Thanks!
Service Bus Message Can Be Peeked But Not Received From One Specific Computer
I've written a test app to reproduce this and can verify the Receive executes successfully from my a different computer in the customer's office but will *not* Receive from this one specific system.
I would greatly appreciate any guidance you can provide on what I might look for to explain this isolated behavior and things I might try to resolve the problem?
Thanks!
Message Processing.
Hi,
I have a ServiceFabric cluster that contains a number of MicroServices that post messages/events to a message bus.
I have a issue when the services scale out which can then cause messages to be processed out of order. Does SB have a way to control message processing orders etc.
Thanks
Azure Service Bus Topic multiple listeners receive same message
Hi Team,
I have a situation where i am trying to implement pub/sub pattern.
Using Azure i am publishing message and coming to client if two clients are subscribed to same topic & subscription only one of it is getting message other client is not getting.
To put it simple:
I am broadcasting message and two persons are subscribed to my Topic. When i broadcast message only one person is getting that message other doesn't get. Below is sample code.
subscriptionClient = new SubscriptionClient(sbConnectionString, sbTopic, sbSubscription); var messageHandlerOptions = new MessageHandlerOptions(ExceptionReceivedHandler) { MaxConcurrentCalls = 100000, AutoComplete = false, }; subscriptionClient.RegisterMessageHandler(ReceiveMessagesAsync, messageHandlerOptions);
static async Task ReceiveMessagesAsync(Message message, CancellationToken token)
{
Console.WriteLine($"Subscribed message: {Encoding.UTF8.GetString(message.Body)}");
//await subscriptionClient.CompleteAsync(message.SystemProperties.LockToken);
}
Please let me know if i am missing anything or Azure Service topic is wrong option in this case.
I tried AMPS it works like charm broadcasting to all subscribers
Trying to Send Messages to Azure Service Bus Using a Console App
Hi All,
I am trying to send/receive a message to Queue using a console application & I am following MSDN guide
I dont see any messages being added in queue
Can you please help?