Service Bus SDK for UWP & ASP .Net Core applications
Messages directly go into Deadletter queue without processing
I have encountered a strange error where messages directly get into dead letter queue without even processing. The QueueClient.Send() method directly inserts queue messages into dead letter queue. Is this glitch?
However, I am inserting messages into queue in a parallel.Foreach loop.
Parallel.ForEach(msgs,
{
var jmsg = new BrokeredMessage(JsonConvert.SerializeObject(message), new DataContractSerializer(typeof(string)));
queue.Send(jmsg);
});
QueueClient Send throw “Could not connect to net.tcp://xxx.servicebus.windows.net:9354/” error
I am using Microsoft.ServiceBus.dll
(version
2.1) in order to work on Service Bus for Windows Server 1.1.
We also want this library to be able to talk to Azure Service bus. It only works on the computer in one domain (no port restriction). However on a computer in a more restricted domain (some ports are blocked), I got following error. If I switch Microsoft.ServiceBus.dll
3.0,
then the same code works in the restricted domain. Why does Microsoft.ServiceBus.dll
3.0
work and Microsoft.ServiceBus.dll
2.1
does not work in the same lab (domain)?
Could not connect to net.tcp://xxx.servicebus.windows.net:9354/. The connection attempt lasted for a time span of 00:00:20.9992011. TCP error code 10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 40.86.102.100:9354.
at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) at Microsoft.ServiceBus.Messaging.IteratorAsyncResult1.RunSynchronously()
1 messages, TimeSpan timeout) at Microsoft.ServiceBus.Messaging.MessageSender.Send(TrackingContext trackingContext, IEnumerable`1 messages, TimeSpan timeout) at Microsoft.ServiceBus.Messaging.MessageSender.Send(BrokeredMessage message) at Microsoft.ServiceBus.Messaging.QueueClient.Send(BrokeredMessage message)
at Microsoft.ServiceBus.Messaging.MessageSender.OnSend(TrackingContext trackingContext, IEnumerable
Azure Service Bus timeout exception with NancyFX
I've posted the details on Stackoverflow. Unfortunately, I can't post links here, as my account needs verifying. So here's the path part of the Stackoverflow URI ...
/questions/39200424/azure-service-bus-timeout-exception-with-nancyfx
In a Twitter converstation, the Azure Support team said to create a post here about it.
In the above Stackoverflow question, someone answered saying you could use the tracking id from the exception, so I'll include it here incase it helps ...
b6b8e25a-714f-4f55-8a79-91e390f47a96_G25
Do you know why this would be timing out straight away?
Thank you for your help,
Dan
Azure Service Bus Queue Missing Messages
I have an Azure Service Bus queue that is not receiving all messages sent to it. I have 2 test console apps (C#) one to send messages, the other to receive that show this. None of these missing messages are going into the DLQ and no exceptions are being
thrown. Below is the pertinent code from each console app. Send: var connectionString = "Endpoint=sb://xxxxxx.servicebus.windows.net/;SharedAccessKeyName=client;SharedAccessKey=xxxxxx=;EntityPath=xxxxxx"; var client = QueueClient.CreateFromConnectionString(connectionString); int nCount = 0; try { while (true) { string strBody = "Msg number:" + nCount; var message = new BrokeredMessage(strBody); client.Send(message); Console.WriteLine(DateTime.Now.ToString() + " Received Body: " + strBody); nCount++; Thread.Sleep(10000); } } catch (Exception exception) { Console.WriteLine(exception.ToString()); } Receive: var connectionString = "Endpoint=sb://xxxxxx.servicebus.windows.net/;SharedAccessKeyName=server;SharedAccessKey=xxxxxx;EntityPath=xxxxxx"; var Client = QueueClient.CreateFromConnectionString(connectionString); Console.WriteLine("Started At: " + DateTime.Now.ToString()); ManualResetEvent CompletedEvent = new ManualResetEvent(false); OnMessageOptions options = new OnMessageOptions(); options.AutoComplete = true; options.MaxConcurrentCalls = 1; Client.OnMessage((message) => { try { Console.WriteLine(string.Format(DateTime.Now.ToString() + " Message Body Received: {0}", message.GetBody<string>())); } catch (Exception ex) { Console.WriteLine(ex.Message); } }, options); I don't think the Receive is the problem as if I close the Receive test app only some messages make it into the queue per the Azure portal. The left console is send, the right receive. Ignore in the Send console where it accidentally says "Received Body", should have said "Sent". Also, using Service Bus Explorer I also can not see the missing messages making it into the Queue. I tried creating a new queue and though more messages got into this new queue it still is not near 100%. More like 80%. |
Worker role using event hubs gives 'No connection handler was found for virtual host'.
I have a worker role that uses an EventProcessorHost to ingest data from an EventHub. I frequently receive error messages of the following kind:
Microsoft.ServiceBus.Messaging.MessagingCommunicationException:
No connection handler was found for virtual host 'myservicebusnamespace.servicebus.windows.net:42777'. Remote container id is 'f37c72ee313c4d658588ad9855773e51'. TrackingId:1d200122575745cc89bb714ffd533b6d_B5_B5, SystemTracker:SharedConnectionListener, Timestamp:8/29/2016
6:13:45 AM
at Microsoft.ServiceBus.Common.ExceptionDispatcher.Throw(Exception exception)
at Microsoft.ServiceBus.Common.Parallel.TaskHelpers.EndAsyncResult(IAsyncResult asyncResult)
at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
I can't seem to find a way to catch this exception. And I thought after some investigation I could just ignore it (because everything seemed to work fine). However I have now realized that individual messages seem to be ignored (at least not sent to my handler) when this error occurs.
Can anyone shed some light on the cause of this error?
How to handle the Exception when RegisterEventProcessorAsync
In our Cloud Service project, we have 2 instances for work role (deploy to Azure), the work role is consume events from the EventHub using EventProcessorHost).
When we want to register EventProcessor to consume data (see below):
await eventProcessorHost.RegisterEventProcessorAsync<eventProcessor>();
Sometimes we will got the Exception:
Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (412) There iscurrently a lease on the blob and no lease ID was specified in the request.. ---> System.Net.WebException: The remote server returned an error: (412)There is currently a lease on the blob and no lease ID was specified in the request..
at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpStatusCode actualStatusCode, T retVal, StorageCommandBase`1 cmd, Exception ex)
at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpWebResponse resp, T retVal, StorageCommandBase`1 cmd, Exception ex)
at Microsoft.WindowsAzure.Storage.Blob.CloudBlobSharedImpl.<DeleteBlobImpl>b__1b(RESTCommand`1 cmd, HttpWebResponse resp, Exception ex, OperationContext ctx)
at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndGetResponse[T](IAsyncResult getResponseResult)
--- End of inner exception stack trace ---
at Microsoft.WindowsAzure.Storage.Core.Util.StorageAsyncResult`1.End()
at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.EndDeleteIfExists(IAsyncResult asyncResult)
at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass1`1.<CreateCallback>b__0(IAsyncResult ar)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.ServiceBus.Messaging.BlobLeaseManager.<DeleteAllAsync>d__2a.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceBus.Messaging.EventProcessorHost.<InitializeAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceBus.Messaging.EventProcessorHost.<StartAsync>d__e.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at awaiteventProcessorHost.RegisterEventProcessorAsync<eventProcessor>();
If we got the Exception, we won’t got messages any more.
From the Call Stack, we found it was cause by delete the Blob. So we wonder that, when we callRegisterEventProcessorAsync,the hub will delete the blob and renew one in Storage?
If we delete the blob for the EventHub manually and then run our server again. It worked as usual.
But we can do it like this way manually, so is there any way to handle the exception in code to make the EventProcessorHost worked?
Thanks so much!
Event Hubs via Java 7 in Storm
Hey all! First post...
We are using Java 7 in Storm and the azure-eventhubs in Maven is only java 8.
We are currently using
<dependency><groupId>com.microsoft.eventhubs</groupId>
<artifactId>eventhubs-storm-spout</artifactId>
<version>0.10.0.2.3.3.1</version>
</dependency>
but this api is quite buggy. Our connections get reset all the time and we have funky logic to get the connections. I don't think it was really designed for writing to the event hub.
Any help?
Something wrong with the Iothub demo
when i run the iothub demo from the azure website ,it always occures the exceptio,just like that:
Exception:
Microsoft.ServiceBus.Messaging.MessagingCommunicationException was unhandled HResult=-2146233088 IsTransient=true Message=An invalid pointer address system detects attempts to use a pointer argument in a call when。
Source=Microsoft.ServiceBus StackTrace: Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.RunSynchronously() icrosoft.ServiceBus.Messaging.Amqp.AmqpEventHubClient.GetRuntimeInformation()
ReadFromDevice04.Program.Main(String[] args) 位置 F:\学习课件\C#学习资料\AZURE练习程序\AzureCloudService1\ReadFromDevice04\ReadFromDevice04\Program.cs:行号 21 在 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 在 System.Threading.ThreadHelper.ThreadStart_Context(Object state) 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 在 System.Threading.ThreadHelper.ThreadStart() InnerException: ErrorCode=10014 HResult=-2147467259 Message=系统检测到在一个调用中尝试使用指针参数时的无效指针地址。 NativeErrorCode=10014 Source=Microsoft.ServiceBus StackTrace: Server stack trace: 在 System.Net.Sockets.Socket.get_RemoteEndPoint() 在 Microsoft.ServiceBus.Messaging.Amqp.Transport.TcpTransport..ctor(Socket socket, TcpTransportSettings transportSettings) 在 Microsoft.ServiceBus.Messaging.Amqp.Transport.TcpTransportInitiator.Complete(SocketAsyncEventArgs e, Boolean completeSynchronously) Exception rethrown at [0]: 在 Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) 在 Microsoft.ServiceBus.Messaging.Amqp.AmqpMessagingFactory.ConnectAsyncResult.<getasyncsteps>b__9e(ConnectAsyncResult thisPtr, IAsyncResult r) 在 Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result) Exception rethrown at [1]: 在 Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) 在 Microsoft.ServiceBus.Messaging.Amqp.AmqpMessagingFactory.EndCreateConnection(IAsyncResult result) 在 Microsoft.ServiceBus.Messaging.Amqp.FaultTolerantObject`1.CreateAsyncResult.<getasyncsteps>b__4(CreateAsyncResult thisPtr, IAsyncResult r) 在 Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result) Exception rethrown at [2]: 在 Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) 在 Microsoft.ServiceBus.Common.AsyncResult`1.End(IAsyncResult asyncResult) 在 Microsoft.ServiceBus.Messaging.Amqp.FaultTolerantObject`1.OnEndCreateInstance(IAsyncResult asyncResult) 在 Microsoft.ServiceBus.Messaging.SingletonManager`1.EndGetInstance(IAsyncResult asyncResult) 在 Microsoft.ServiceBus.Messaging.Amqp.AmqpMessagingFactory.CreateManagementLinkAsyncResult.<>c__DisplayClass17a.<getasyncsteps>b__175(CreateManagementLinkAsyncResult thisPtr, IAsyncResult r) 在 Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result) Exception rethrown at [3]: 在 Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) 在 Microsoft.ServiceBus.Messaging.Amqp.AmqpEventHubClient.GetRuntimeInfoAsyncResult.<getasyncsteps>b__14(GetRuntimeInfoAsyncResult thisPtr, IAsyncResult r) 在 Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result) InnerException: </getasyncsteps></getasyncsteps></getasyncsteps></getasyncsteps>
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.ServiceBus.Messaging; using System.Threading; namespace ReadFromDevice04 { class Program { static string connectionString = "xxxx"; static string iotHubD2cEndpoint = "messages/events"; static EventHubClient eventHubClient; static void Main(string[] args) { Console.WriteLine("Receive messages. Ctrl-C to exit.\n"); eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, iotHubD2cEndpoint); var d2cPartitions = eventHubClient.GetRuntimeInformation().PartitionIds; //////this place occured exception CancellationTokenSource cts = new CancellationTokenSource(); System.Console.CancelKeyPress += (s, e) => { e.Cancel = true; cts.Cancel(); Console.WriteLine("Exiting..."); }; var tasks = new List<Task>(); foreach (string partition in d2cPartitions) { tasks.Add(ReceiveMessagesFromDeviceAsync(partition, cts.Token)); } Task.WaitAll(tasks.ToArray()); } private static async Task ReceiveMessagesFromDeviceAsync(string partition, CancellationToken ct) { var eventHubReceiver = eventHubClient.GetDefaultConsumerGroup().CreateReceiver(partition, DateTime.UtcNow); while (true) { if (ct.IsCancellationRequested) break; EventData eventData = await eventHubReceiver.ReceiveAsync(); if (eventData == null) continue; string data = Encoding.UTF8.GetString(eventData.GetBytes()); Console.WriteLine("Message received. Partition: {0} Data: '{1}'", partition, data); } } } }
Java Azure Event Hubs 0.8.1 Problem
Hi,
I have been using the following article to get started with event hubs
https://azure.microsoft.com/en-us/documentation/articles/event-hubs-java-ephcs-getstarted/
I followed the instructions for c# and everything worked correctly
As I will have Java Clients as well as C# I tried the same setup but using a Jave Sender and Receiver.
For the Sender[Send.java] I am getting the following error
Sep 09, 2016 2:39:50 PM com.microsoft.azure.servicebus.MessagingFactory$RunReactor run
WARNING: UnHandled exception while processing events in reactor:
java.lang.IllegalArgumentException
org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:112)
org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:307)
org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:276)
com.microsoft.azure.servicebus.MessagingFactory$RunReactor.run(MessagingFactory.java:327)
java.lang.Thread.run(Thread.java:745)Cause: null
java.nio.Buffer.position(Buffer.java:244)
org.apache.qpid.proton.engine.impl.ssl.SimpleSslTransportWrapper.pop(SimpleSslTransportWrapper.java:411)
org.apache.qpid.proton.engine.impl.ssl.SslImpl$UnsecureClientAwareTransportWrapper.pop(SslImpl.java:185)
org.apache.qpid.proton.engine.impl.TransportImpl.pop(TransportImpl.java:1476)
org.apache.qpid.proton.reactor.impl.SelectorImpl.select(SelectorImpl.java:145)
org.apache.qpid.proton.reactor.impl.IOHandler.handleQuiesced(IOHandler.java:57)
org.apache.qpid.proton.reactor.impl.IOHandler.onUnhandled(IOHandler.java:381)
org.apache.qpid.proton.engine.BaseHandler.onReactorQuiesced(BaseHandler.java:87)
org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:206)
org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:307)
org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:276)
com.microsoft.azure.servicebus.MessagingFactory$RunReactor.run(MessagingFactory.java:327)
java.lang.Thread.run(Thread.java:745)
Exception in thread "main" java.util.concurrent.ExecutionException: com.microsoft.azure.servicebus.ServiceBusException: java.lang.IllegalArgumentException, TrackingId: 5ce6b7af-dc3e-4d65-a1d3-ff1efe836dc7, at: 2016-09-09T14:39:50.415+01:00[Europe/London]
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
at com.microsoft.azure.eventhubs.samples.Send.main(Send.java:49)
Caused by: com.microsoft.azure.servicebus.ServiceBusException: java.lang.IllegalArgumentException, TrackingId: 5ce6b7af-dc3e-4d65-a1d3-ff1efe836dc7, at: 2016-09-09T14:39:50.415+01:00[Europe/London]
at com.microsoft.azure.servicebus.MessagingFactory$RunReactor.run(MessagingFactory.java:349)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException
at java.nio.Buffer.position(Buffer.java:244)
at org.apache.qpid.proton.engine.impl.ssl.SimpleSslTransportWrapper.pop(SimpleSslTransportWrapper.java:411)
at org.apache.qpid.proton.engine.impl.ssl.SslImpl$UnsecureClientAwareTransportWrapper.pop(SslImpl.java:185)
at org.apache.qpid.proton.engine.impl.TransportImpl.pop(TransportImpl.java:1476)
at org.apache.qpid.proton.reactor.impl.SelectorImpl.select(SelectorImpl.java:145)
at org.apache.qpid.proton.reactor.impl.IOHandler.handleQuiesced(IOHandler.java:57)
at org.apache.qpid.proton.reactor.impl.IOHandler.onUnhandled(IOHandler.java:381)
at org.apache.qpid.proton.engine.BaseHandler.onReactorQuiesced(BaseHandler.java:87)
at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:206)
at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:307)
at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:276)
at com.microsoft.azure.servicebus.MessagingFactory$RunReactor.run(MessagingFactory.java:327)
... 1 more
I have used the same credentials as the C# and I believe I have configured them correctly using the following syntax
Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=[sasKeyName];SharedAccessKey=[key]
Can you confirm if the [namespace] is case sensitive. It is camelcase in Azure and I have tried camel case and lower case in Azure but no success.
For the Receiver(EventProcessorSample.java] I get the following error;
Registering host named javahost-c39e8d21-e744-4209-8a70-16009cf790a2
Press enter to stop
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: Exception from partition manager main loop, shutting down
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: Caught java.lang.NullPointerException
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: com.microsoft.azure.eventprocessorhost.Pump.addPump(Pump.java:29)
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: com.microsoft.azure.eventprocessorhost.PartitionManager.runLoop(PartitionManager.java:394)
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: com.microsoft.azure.eventprocessorhost.PartitionManager.runAndCleanUp(PartitionManager.java:169)
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: com.microsoft.azure.eventprocessorhost.PartitionManager.lambda$0(PartitionManager.java:159)
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: java.util.concurrent.FutureTask.run(FutureTask.java:266)
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
Sep 09, 2016 2:43:44 PM com.microsoft.azure.eventprocessorhost.EventProcessorHost log
SEVERE: host javahost-c39e8d21-e744-4209-8a70-16009cf790a2: java.lang.Thread.run(Thread.java:745)
SAMPLE: Host javahost-c39e8d21-e744-4209-8a70-16009cf790a2 received general error notification during Partition Manager Main Loop: java.lang.NullPointerException
Also when I try to run the c# version the Receiver no longer works and there is no exception thrown.
Are there any logs and\or daskboards in Azure Portal that tell me if the connection details are correct?
Are there logs to tell my why the Receiver has stopped receiving events?
Is there another Java example I should be using?
Bar translation of the message can you confirm if there is any issues with using different combinations of C# and Java Sender & Receivers?
thanks,
Joe
Error Code: 400--The namespace name is previously used in another project and has been deleted less than one week.
I am getting this error while creating Service Bus Namesapce using "New-AzureSBNamespace".
Error Code: 400--The namespace name is previously used in another project and has been deleted less than one week.
Can someone help me if there is still a fix for this bug.
Or is there a way to override this??
I don't know is ServiceBus allow underscore in its name?
Thanks!
Expired token on relay
Hello,
I am having an issue on a single server using service bus relays. I have updated to the latest client library (WindowsAzure.ServiceBus v3.3.2) It appears to be related to the server time on the client side being out of sync. However,
we are using the shared access key and other servers do not experience this issue. I changed the code to use the "opt-out" of requiring security tokens. We are using netTcpRelayBinding on the client side:
var netTcpRelayBinding = new NetTcpRelayBinding(EndToEndSecurityMode.Transport, RelayClientAuthenticationType.None)
{
IsDynamic = true // The default value is true
};
I have the ConnectionStatusBehavior logging out the Online, Offline and Connecting events. Here is the output from the client:
2016-09-09 06:44:44,320 [12] DEBUG - Going Online Event
2016-09-09 07:44:13,097 [32] DEBUG - Lost Connection. Reconnecting Event. Last error encountered System.ServiceModel.CommunicationException: Exception of type 'System.ServiceModel.CommunicationException' was thrown. ---> Microsoft.ServiceBus.Messaging.Amqp.AmqpException:
An AMQP error occurred (condition='amqp:unauthorized-access').
--- End of inner exception stack trace ---
2016-09-09 07:44:16,530 [32] DEBUG - Going Offline Event. Last error encountered Generic: ExpiredToken:
2016-09-09 07:44:16,531 [32] DEBUG - Relay Echo ServiceHost faulted. Generic: ExpiredToken:
2016-09-09 07:44:18,977 [33] DEBUG - Going Online Event
2016-09-09 07:44:18,977 [32] DEBUG - Relay Echo ServiceHost recreated
2016-09-09 08:43:49,079 [56] DEBUG - Lost Connection. Reconnecting Event. Last error encountered System.ServiceModel.CommunicationException: Exception of type 'System.ServiceModel.CommunicationException' was thrown. ---> Microsoft.ServiceBus.Messaging.Amqp.AmqpException:
An AMQP error occurred (condition='amqp:unauthorized-access').
--- End of inner exception stack trace ---
2016-09-09 08:43:52,507 [12] DEBUG - Going Offline Event. Last error encountered Generic: ExpiredToken:
2016-09-09 08:43:52,507 [12] DEBUG - Relay Echo ServiceHost faulted. Generic: ExpiredToken:
2016-09-09 08:43:54,945 [57] DEBUG - Going Online Event
2016-09-09 08:43:54,945 [12] DEBUG - Relay Echo ServiceHost recreated
I am able to recreate the service host by modifying the behavior of excluding the "AuthorizationFailedException" check when the service host enters a faulted state. This server seems to lose the connection about ever hour and these events log out. I'm trying to determine if there is anything I should be doing in the code/configuration to resolve this issue.
"new-azuresbnamespace" -Name does it allow which special characters?
I am using power shell to create new Service Bus Namespace. Can the Name String accept special characters like Underscore?
Thanks!
Service Bus for Windows Server 1.1 high-availability : need a load-balancer ?
Hi,
I need to create a Service Bus for Windows Server 1.1 farm (with 3 servers according the requirements).
I understand that, thanks to Windows Fabric, the Service Bus Gateway is able to load-balance the requests to the available Service Bus Message Broker (which can reside on the same machine or remotely in another server of the farm).
But, may I need to have a Load-Balancer in front of the 3 Service Bus Gateways for REST/TCP requests to load-balance the requests to one of the 3 gateway in the farm? Or is it managed like Microsoft NLB : the requests is received by each gateways and managed by only the intended one?
Thanks.
Topics And MessageFactory
Sometimes I see the MessageFactory object used with Topics; however, usually I do not. The MessageFactory seems to be more congruent with queues. Is there an advantage to using a MessageFactory with a Topic?
Please Vote &/or "Mark As Answer" if this post is helpful to you. Thanks and happy coding :D
Message time to live setting for Queue/Topics
Hello All,
Whenever I create Queue/Topic using powershell Script, "Message TTL" value just gets sets to default rather that as per script. So
after all queue/topic are created then I have to manually go to settings on Portal to update the queue/topic TTL property.
Script link ::
Can someone advise if there is something I could update in the script so I could avoid manual work or is there any other workaround....
Thanks!!
event hub availablity
How does the publisher know the event hub is available?
How can the publisher know all messages have been successfully received by event hub?
Does event hub send back acknowledgement?
Migrating from Standard to Premium Service Bus
Hello,
We have our framework created using MS Azure Standard Service Bus "WITHOUT" Partition. We have used Transaction in our code and as we have not used partition, we are not using any Partition or Session Key in transactions with the Service Bus.
Now we are planning to move to MS Azure Premium Service Bus. We even chose not to partition our Topic by un-checking the check box "Enable Partition" while creating a new topic in this Premium Service Bus. Still, for premium service bus a partition is created and we are not able to use the existing code.
If we need to make code changes, it will be a huge impact for us and will require our system to be down for several hours.
Please let us know how we can disable "Automatic" partitioning in Premium Service Bus
Thank You!
Mayank A. Sharma
Subscription filter on property with "-" in key not working
Hi there,
This is my first foray into Azure Service Bus.
I've created a topic, and submitted several messages to it. The messages all have a property with the key "x-feed-type" added, and so i've created a subscription with a SqlFilter of "x-feed-type = 'f8'" to filter the messages I want. To my surprise, the subscription never received any messages, despite adding several messages with an x-feed-type of f8.
Confused by this, I tried removing the filter, and the result was that I started to receive all messages posted to the topic. I then tried several variations of my original SqlFilter, such as "x-feed-type LIKE 'f8'" or "x-feed-type =\"f8\"", but struggled to get any messages coming through with it in place.
I then tried changing the property name I was using on my BrokeredMessages from x-feed-type to xfeedtype, and to my surprise, when I updated my SqlFilter to "xfeedtype = 'f8'", all messages were being filtered through as expected.
Is there a problem using hyphens in message properties? I don't see it documented anywhere, but I can't think of any reason why my original filter wouldn't work?
Thanks,
Nick
Detect that brokered message has been already sent during retries on transient errors
Acceptable practice seems to be to retry sending Brokered message to Azure ServiceBus topic on transient errors. Sometimes during the retry the brokered message's body would already be consume (by the previous try) and the message cloning can be done on retry to send the message.
However it is possible that the message was already sent but client still sees a transient exception and ends up retrying send. The forums have been talking about setting up the RequireDuplicateDetection flag set on the topic to prevent duplicate message appearing on the topic/subscription or the consumer of the message to detect such a replay to avoid reprocessing, but is it possible for the client to detect that the message has been already sent so as not to resend it as well?