0

We are having a similar problem as the one listed here: timeout index not present on ravendb

Information in addition to the info on that question:

Everything (service and raven) is running on the same machine NServiceBus 4.6.6 RavenDB 2.0.3.2375

Start up log is:

2015-03-19 15:21:37,644 [1] INFO  NServiceBus.Configure [(null)] - Invocation of NServiceBus.IWantToRunBeforeConfiguration completed in 0.14 s
2015-03-19 15:21:37,801 [1] INFO  NServiceBus.Configure [(null)] - Invocation of NServiceBus.Config.INeedInitialization completed in 0.00 s
2015-03-19 15:21:37,832 [1] INFO  NServiceBus.Licensing.LicenseManager [(null)] - Expires on 12/31/9999 00:00:00
2015-03-19 15:21:37,863 [1] INFO  NServiceBus.Configure [(null)] - Invocation of NServiceBus.INeedInitialization completed in 0.06 s
2015-03-19 15:21:38,004 [1] INFO  NServiceBus.Configure [(null)] - Invocation of NServiceBus.IWantToRunBeforeConfigurationIsFinalized completed in 0.13 s
2015-03-19 15:21:38,082 [1] INFO  NServiceBus.Features.FeatureInitializer [(null)] - Features: 
Audit [4.6.6] - Enabled
AutoSubscribe [4.6.6] - Enabled
BinarySerialization [4.6.6] - Controlled by category Serializers
BsonSerialization [4.6.6] - Controlled by category Serializers
JsonSerialization [4.6.6] - Controlled by category Serializers
XmlSerialization [4.6.6] - Controlled by category Serializers
MsmqTransport [4.6.6] - Enabled
Gateway [4.6.6] - Disabled
TimeoutManager [4.6.6] - Enabled
Sagas [4.6.6] - Disabled
SecondLevelRetries [4.6.6] - Enabled
StorageDrivenPublisher [4.6.6] - Disabled
MessageDrivenSubscriptions [4.6.6] - Enabled

2015-03-19 15:21:38,098 [1] INFO  NServiceBus.Features.FeatureInitializer [(null)] - Feature categories: 
- Serializers
* BinarySerialization - Disabled
* BsonSerialization - Disabled
* JsonSerialization - Disabled
* XmlSerialization - Enabled

2015-03-19 15:21:38,129 [1] INFO  NServiceBus.Unicast.Config.FinalizeUnicastBusConfiguration [(null)] - Number of messages found: 2
2015-03-19 15:21:38,129 [1] INFO  NServiceBus.Configure [(null)] - Invocation of NServiceBus.Config.IFinalizeConfiguration completed in 0.13 s
2015-03-19 15:21:39,223 [1] INFO  NServiceBus.ConfigureRavenPersistence [(null)] - Connection to RavenDB at http://localhost:8080 verified. Detected version: Product version: 2.0.3 / 5a4b7ea, Build version: 2375
2015-03-19 15:21:39,238 [1] INFO  NServiceBus.Unicast.Transport.Monitoring.ReceivePerformanceDiagnostics [(null)] - NServiceBus performance counter for # of msgs successfully processed / sec is not set up correctly, no statistics will be emitted for the FooBar.Api queue. Execute the Install-NServiceBusPerformanceCounters cmdlet to create the counter.
2015-03-19 15:21:39,285 [18] INFO  NServiceBus.Unicast.Transport.Monitoring.ReceivePerformanceDiagnostics [(null)] - NServiceBus performance counter for # of msgs successfully processed / sec is not set up correctly, no statistics will be emitted for the FooBar.Api.Retries queue. Execute the Install-NServiceBusPerformanceCounters cmdlet to create the counter.
2015-03-19 15:21:39,285 [16] INFO  NServiceBus.Unicast.Transport.Monitoring.ReceivePerformanceDiagnostics [(null)] - NServiceBus performance counter for # of msgs successfully processed / sec is not set up correctly, no statistics will be emitted for the FooBar.Api.TimeoutsDispatcher queue. Execute the Install-NServiceBusPerformanceCounters cmdlet to create the counter.
2015-03-19 15:21:39,285 [1] INFO  NServiceBus.Unicast.Transport.Monitoring.ReceivePerformanceDiagnostics [(null)] - NServiceBus performance counter for # of msgs successfully processed / sec is not set up correctly, no statistics will be emitted for the FooBar.Api.Timeouts queue. Execute the Install-NServiceBusPerformanceCounters cmdlet to create the counter.
2015-03-19 15:21:39,285 [18] INFO  NServiceBus.Satellites.SatelliteLauncher [(null)] - Started 3/3 NServiceBus.SecondLevelRetries.SecondLevelRetriesProcessor, NServiceBus.Core, Version=4.6.0.0, Culture=neutral, PublicKeyToken=9fc386479f8a226c satellite
2015-03-19 15:21:39,285 [1] INFO  NServiceBus.Satellites.SatelliteLauncher [(null)] - Started 1/3 NServiceBus.Timeout.Hosting.Windows.TimeoutMessageProcessor, NServiceBus.Core, Version=4.6.0.0, Culture=neutral, PublicKeyToken=9fc386479f8a226c satellite
2015-03-19 15:21:39,285 [16] INFO  NServiceBus.Satellites.SatelliteLauncher [(null)] - Started 2/3 NServiceBus.Timeout.Hosting.Windows.TimeoutDispatcherProcessor, NServiceBus.Core, Version=4.6.0.0, Culture=neutral, PublicKeyToken=9fc386479f8a226c satellite
2015-03-19 15:21:39,535 [21] WARN  NServiceBus.Timeout.Hosting.Windows.TimeoutPersisterReceiver [(null)] - Failed to fetch timeouts from the timeout storage
2015-03-19 15:21:39,535 [21] INFO  NServiceBus.CircuitBreakers.RepeatedFailuresOverTimeCircuitBreaker [(null)] - The circuit breaker for TimeoutStorageConnectivity is now in the armed state
2015-03-19 15:21:40,551 [16] WARN  NServiceBus.Timeout.Hosting.Windows.TimeoutPersisterReceiver [(null)] - Failed to fetch timeouts from the timeout storage

Any ideas on what to change would be greatly appreciated

Damo
  • 5,698
  • 3
  • 37
  • 55

1 Answers1

0

It turns out that the API had NServiceBus.Host installed via nuget. For a send only end point this is not necessary. Removing the nuget package and reconfiguring slightly fixed the issue.

Now we only have the NServiceBus and NServiceBus.Core nuget packages installed.

And the config is now:

protected void Application_Start(object sender, EventArgs e)
{
  log4net.Config.XmlConfigurator.Configure();
  Configure.Serialization.Xml();
  Configure.Transactions.Disable();

  Bus = Configure.With()
    .Log4Net()
    .DefaultBuilder()
    .UseTransport<Msmq>()
    .PurgeOnStartup(false)
    .UnicastBus()
    .ImpersonateSender(false)
    .SendOnly();
}

The log messages have now stopped as the API is no longer trying to create a bus to receive messages on.

Damo
  • 5,698
  • 3
  • 37
  • 55
  • NServiceBus.Host has nothing to do with "send only endpoint". This package is a host process (application) that hosts your assemblies. When you are using the Host, you don't need no startable bus in your application, the host will do it for you. You can also install Host as a service if you wish. For self-hosted/IIS applications there is no need to have the Host since you instantiate the bus yourself. – Alexey Zimarev Mar 21 '15 at 10:50
  • Yes that's exactly the conclusion we came to thus answering our own question. The problem stemmed from the origins of this API which was a legacy code base which not only had an API sending commands but also event publication and hosted services all in the same solution. Pulling the thing apart to aid with our continuous integration/deployment efforts gave rise to this problem in the first place. Thanks for the clarifications of our problem. – Damo Mar 23 '15 at 22:38