Kafka rider health check goes from ready -> degarded -> ready when broker dies

Contact Details
No response
Version
8.x (develop, pre-release)
On which operating system(s) are you experiencing the issue?
Windows, Linux
Using which broker(s) did you encounter the issue?
Kafka
What are the steps required to reproduce the issue?
1. Run Normaly, Lose connection to the broker at random time
2. Get Errors, Health check still ready
3. Sometime client handler is dispose and throws the process
...

What is the expected behavior?
Health check should be Degraded.
Client handler should fail safely and reconnect when possibe
What actually happened?
Running in production as usuall untill something happens at random times.
Related log output, including any exceptions
System.AggregateException : One or more errors occurred. (One or more errors occurred. (Local: Broker handle destroyed))
  ----> System.AggregateException : One or more errors occurred. (Local: Broker handle destroyed)
  ----> Confluent.Kafka.KafkaException : Local: Broker handle destroyed
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Middleware.Supervisor.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Supervisor.cs:line 102
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Middleware.Supervisor.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Supervisor.cs:line 102
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.TransportPipeContextSupervisor`1.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\TransportPipeContextSupervisor.cs:line 41
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveTransport.cs:line 105
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.ReceiveEndpoint.Stop(Boolean removed, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveEndpoint.cs:line 175
   at MassTransit.Transports.ReceiveEndpointCollection.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveEndpointCollection.cs:line 106
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.KafkaIntegration.KafkaRider.RiderAgent.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\KafkaRider.cs:line 113
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.RiderCollection.Handle.StopAsync(Boolean remove, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\RiderCollection.cs:line 179
   at MassTransit.Transports.RiderCollection.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\RiderCollection.cs:line 138
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.BaseHost.Stop(CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\BaseHost.cs:line 152
   at MassTransit.MassTransitBus.Handle.StopAsync(CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\MassTransitBus.cs:line 384
   at MassTransit.MassTransitBus.Handle.StopAsync(CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\MassTransitBus.cs:line 400
   at MassTransit.MassTransitBus.StopAsync(CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\MassTransitBus.cs:line 263
   at MassTransit.MassTransitHostedService.DisposeAsync() in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\MassTransitHostedService.cs:line 37
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.<DisposeAsync>g__Await|22_0(Int32 i, ValueTask vt, List`1 toDispose)
   at MassTransit.KafkaIntegration.Tests.HealthCheck_Specs.should_be_degraded_when_lost_connection() in C:\Users\Nico\source\repos\MassTransit\tests\MassTransit.KafkaIntegration.Tests\HealthCheck_Specs.cs:line 93
   at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
   at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
   at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.<>c__DisplayClass1_0.<Execute>b__0()
   at NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)
--AggregateException

--KafkaException
   at Confluent.Kafka.Impl.SafeKafkaHandle.ConsumerClose()
   at Confluent.Kafka.Consumer`2.Close()
   at MassTransit.KafkaIntegration.KafkaMessageConsumer`2.ActiveAndActualAgentsCompleted(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\KafkaMessageConsumer.cs:line 117

19:44:44.300-D Running health checks
19:44:44.302-D Running health check masstransit-bus
19:44:44.312-E Health check masstransit-bus with status Unhealthy completed after 9.462ms with message 'Not ready: not started'
19:44:44.313-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Unhealthy - not ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Unhealthy - not ready
    HealthCheckName: masstransit-bus

19:44:44.316-D Health check processing with combined status Unhealthy completed after 16.2988ms
{
  "status": "Unhealthy",
  "results": {
    "masstransit-bus": {
      "status": "Unhealthy",
      "description": "Not ready: not started",
      "data": {
        "Endpoints": {
          "loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7": {
            "status": "Unhealthy",
            "description": "not ready"
          },
          "loopback://localhost/kafka/health-check/HealthCheck_Specs": {
            "status": "Unhealthy",
            "description": "not ready"
          }
        }
      }
    }
  }
}
19:44:45.367-I Creating topics: health-check with 1 partitions and 1 replicas
19:44:45.508-D Starting bus instances: IBus
19:44:45.509-D Starting bus: loopback://localhost/
19:44:45.509-D Endpoint Ready: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7
19:44:45.525-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:44:45.525-I Bus started: loopback://localhost/
19:44:45.648-D Running health checks
19:44:45.648-D Running health check masstransit-bus
19:44:45.649-D Health check masstransit-bus with status Healthy completed after 0.3539ms with message 'Ready'
19:44:45.649-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:44:45.649-D Health check processing with combined status Healthy completed after 0.5868ms
{
  "status": "Healthy",
  "results": {
    "masstransit-bus": {
      "status": "Healthy",
      "description": "Ready",
      "data": {
        "Endpoints": {
          "loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7": {
            "status": "Healthy",
            "description": "ready"
          },
          "loopback://localhost/kafka/health-check/HealthCheck_Specs": {
            "status": "Healthy",
            "description": "ready"
          }
        }
      }
    }
  }
}
19:44:47.259-W Consumer [rdkafka-c81fa82d-4dd6-4ee6-a4c0-683374cc5aee] error (Local_Transport): GroupCoordinator: localhost:9092: Disconnected (after 1712ms in state UP) on health-check
19:44:47.260-W Consumer [rdkafka-c81fa82d-4dd6-4ee6-a4c0-683374cc5aee] error (Local_Transport): localhost:9092/1: Disconnected: verify that security.protocol is correctly configured, broker might require SASL authentication (after 1715ms in state UP) on health-check
19:44:47.260-W Consumer [rdkafka-c81fa82d-4dd6-4ee6-a4c0-683374cc5aee] error (Local_AllBrokersDown): 2/2 brokers are down on health-check
19:44:47.261-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:44:57.474-D Running health checks
19:44:57.475-D Running health check masstransit-bus
19:44:57.475-D Health check masstransit-bus with status Healthy completed after 0.0548ms with message 'Ready'
19:44:57.475-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:44:57.475-D Health check processing with combined status Healthy completed after 0.1544ms
19:44:58.477-D Running health checks
19:44:58.477-D Running health check masstransit-bus
19:44:58.478-D Health check masstransit-bus with status Healthy completed after 0.0886ms with message 'Ready'
19:44:58.478-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:44:58.478-D Health check processing with combined status Healthy completed after 0.2749ms
19:44:59.486-D Running health checks
19:44:59.486-D Running health check masstransit-bus
19:44:59.486-D Health check masstransit-bus with status Healthy completed after 0.0858ms with message 'Ready'
19:44:59.486-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:44:59.486-D Health check processing with combined status Healthy completed after 0.2006ms
19:45:00.489-D Running health checks
19:45:00.489-D Running health check masstransit-bus
19:45:00.489-D Health check masstransit-bus with status Healthy completed after 0.0782ms with message 'Ready'
19:45:00.489-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:00.489-D Health check processing with combined status Healthy completed after 0.2263ms
19:45:01.491-D Running health checks
19:45:01.491-D Running health check masstransit-bus
19:45:01.491-D Health check masstransit-bus with status Healthy completed after 0.09ms with message 'Ready'
19:45:01.491-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:01.491-D Health check processing with combined status Healthy completed after 0.2233ms
19:45:02.492-D Running health checks
19:45:02.492-D Running health check masstransit-bus
19:45:02.493-D Health check masstransit-bus with status Healthy completed after 0.0871ms with message 'Ready'
19:45:02.493-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:02.493-D Health check processing with combined status Healthy completed after 0.2173ms
19:45:03.504-D Running health checks
19:45:03.504-D Running health check masstransit-bus
19:45:03.504-D Health check masstransit-bus with status Healthy completed after 0.0791ms with message 'Ready'
19:45:03.504-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:03.504-D Health check processing with combined status Healthy completed after 0.2159ms
19:45:04.515-D Running health checks
19:45:04.515-D Running health check masstransit-bus
19:45:04.515-D Health check masstransit-bus with status Healthy completed after 0.1863ms with message 'Ready'
19:45:04.515-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:04.515-D Health check processing with combined status Healthy completed after 0.2836ms
19:45:05.523-D Running health checks
19:45:05.523-D Running health check masstransit-bus
19:45:05.523-D Health check masstransit-bus with status Healthy completed after 0.0762ms with message 'Ready'
19:45:05.523-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:05.523-D Health check processing with combined status Healthy completed after 0.1707ms
19:45:06.528-D Running health checks
19:45:06.528-D Running health check masstransit-bus
19:45:06.528-D Health check masstransit-bus with status Healthy completed after 0.0912ms with message 'Ready'
19:45:06.528-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:06.528-D Health check processing with combined status Healthy completed after 0.239ms
19:45:07.539-D Running health checks
19:45:07.539-D Running health check masstransit-bus
19:45:07.539-D Health check masstransit-bus with status Healthy completed after 0.081ms with message 'Ready'
19:45:07.539-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:07.539-D Health check processing with combined status Healthy completed after 0.1809ms
19:45:08.551-D Running health checks
19:45:08.551-D Running health check masstransit-bus
19:45:08.551-D Health check masstransit-bus with status Healthy completed after 0.0868ms with message 'Ready'
19:45:08.551-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:08.551-D Health check processing with combined status Healthy completed after 0.2657ms
19:45:09.555-D Running health checks
19:45:09.555-D Running health check masstransit-bus
19:45:09.555-D Health check masstransit-bus with status Healthy completed after 0.0608ms with message 'Ready'
19:45:09.555-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:09.555-D Health check processing with combined status Healthy completed after 0.1661ms
19:45:10.565-D Running health checks
19:45:10.565-D Running health check masstransit-bus
19:45:10.566-D Health check masstransit-bus with status Healthy completed after 0.0904ms with message 'Ready'
19:45:10.566-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:10.566-D Health check processing with combined status Healthy completed after 0.1981ms
19:45:11.578-D Running health checks
19:45:11.578-D Running health check masstransit-bus
19:45:11.578-D Health check masstransit-bus with status Healthy completed after 0.0746ms with message 'Ready'
19:45:11.578-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_qtbyyyguhzcfh4ihbdphw6k9n7: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:45:11.578-D Health check processing with combined status Healthy completed after 0.1712ms
19:45:12.486-D Stopping bus instances: IBus
19:45:12.487-D Stopping bus: loopback://localhost/
19:45:12.490-D Endpoint Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:45:12.491-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Stop Receive Transport)
19:45:12.495-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:45:12.499-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:45:12.502-D Endpoint Faulted: loopback://localhost/kafka/health-check/HealthCheck_Specs

MassTransit.KafkaConnectionException: ReceiveTransport faulted: health-check
 ---> System.AggregateException: One or more errors occurred. (One or more errors occurred. (One or more errors occurred. (One or more errors occurred. (Local: Broker handle destroyed))))
 ---> System.AggregateException: One or more errors occurred. (One or more errors occurred. (One or more errors occurred. (Local: Broker handle destroyed)))
 ---> System.AggregateException: One or more errors occurred. (One or more errors occurred. (Local: Broker handle destroyed))
 ---> System.AggregateException: One or more errors occurred. (Local: Broker handle destroyed)
 ---> Confluent.Kafka.KafkaException: Local: Broker handle destroyed
   at Confluent.Kafka.Impl.SafeKafkaHandle.ConsumerClose()
   at Confluent.Kafka.Consumer`2.Close()
   at MassTransit.KafkaIntegration.KafkaMessageConsumer`2.ActiveAndActualAgentsCompleted(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\KafkaMessageConsumer.cs:line 117
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Middleware.Supervisor.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Supervisor.cs:line 102
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Middleware.Supervisor.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Supervisor.cs:line 102
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.TransportPipeContextSupervisor`1.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\TransportPipeContextSupervisor.cs:line 41
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveTransport.cs:line 105
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.ReceiveEndpoint.Stop(Boolean removed, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveEndpoint.cs:line 175
   at MassTransit.Transports.ReceiveEndpointCollection.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveEndpointCollection.cs:line 106
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.KafkaIntegration.KafkaRider.RiderAgent.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\KafkaRider.cs:line 113
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.RiderCollection.Handle.StopAsync(Boolean remove, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\RiderCollection.cs:line 179
   at MassTransit.Transports.RiderCollection.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\RiderCollection.cs:line 138
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.BaseHost.Stop(CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\BaseHost.cs:line 152
   at MassTransit.MassTransitBus.Handle.StopAsync(CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\MassTransitBus.cs:line 384
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at MassTransit.KafkaIntegration.Middleware.KafkaConsumerFilter`2.Send(ConsumerContext context, IPipe`1 next) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\Middleware\KafkaConsumerFilter.cs:line 34
   at MassTransit.KafkaIntegration.Middleware.KafkaConsumerFilter`2.Send(ConsumerContext context, IPipe`1 next) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\Middleware\KafkaConsumerFilter.cs:line 43
   at MassTransit.Middleware.ReceiveEndpointDependencyFilter`1.Send(TContext context, IPipe`1 next) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Middleware\ReceiveEndpointDependencyFilter.cs:line 23
   at MassTransit.Agents.PipeContextSupervisor`1.Send(IPipe`1 pipe, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Agents\PipeContextSupervisor.cs:line 55
   at MassTransit.Agents.PipeContextSupervisor`1.Send(IPipe`1 pipe, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Agents\PipeContextSupervisor.cs:line 61
   at MassTransit.Agents.PipeContextSupervisor`1.Send(IPipe`1 pipe, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Agents\PipeContextSupervisor.cs:line 68
   at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.RunTransport() in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveTransport.cs:line 195
   --- End of inner exception stack trace ---
19:45:12.520-D ReceiveTransport Cannot Retry: loopback://localhost/kafka/health-check/HealthCheck_Specs

MassTransit.KafkaConnectionException: ReceiveTransport faulted: health-check
 ---> System.AggregateException: One or more errors occurred. (One or more errors occurred. (One or more errors occurred. (One or more errors occurred. (Local: Broker handle destroyed))))
 ---> System.AggregateException: One or more errors occurred. (One or more errors occurred. (One or more errors occurred. (Local: Broker handle destroyed)))
 ---> System.AggregateException: One or more errors occurred. (One or more errors occurred. (Local: Broker handle destroyed))
 ---> System.AggregateException: One or more errors occurred. (Local: Broker handle destroyed)
 ---> Confluent.Kafka.KafkaException: Local: Broker handle destroyed
   at Confluent.Kafka.Impl.SafeKafkaHandle.ConsumerClose()
   at Confluent.Kafka.Consumer`2.Close()
   at MassTransit.KafkaIntegration.KafkaMessageConsumer`2.ActiveAndActualAgentsCompleted(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\KafkaMessageConsumer.cs:line 117
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Middleware.Supervisor.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Supervisor.cs:line 102
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Middleware.Supervisor.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Supervisor.cs:line 102
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.TransportPipeContextSupervisor`1.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\TransportPipeContextSupervisor.cs:line 41
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveTransport.cs:line 105
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.ReceiveEndpoint.Stop(Boolean removed, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveEndpoint.cs:line 175
   at MassTransit.Transports.ReceiveEndpointCollection.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveEndpointCollection.cs:line 106
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.KafkaIntegration.KafkaRider.RiderAgent.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\KafkaRider.cs:line 113
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.RiderCollection.Handle.StopAsync(Boolean remove, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\RiderCollection.cs:line 179
   at MassTransit.Transports.RiderCollection.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\RiderCollection.cs:line 138
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.BaseHost.Stop(CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\BaseHost.cs:line 152
   at MassTransit.MassTransitBus.Handle.StopAsync(CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\MassTransitBus.cs:line 384
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at MassTransit.KafkaIntegration.Middleware.KafkaConsumerFilter`2.Send(ConsumerContext context, IPipe`1 next) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\Middleware\KafkaConsumerFilter.cs:line 34
   at MassTransit.KafkaIntegration.Middleware.KafkaConsumerFilter`2.Send(ConsumerContext context, IPipe`1 next) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\Middleware\KafkaConsumerFilter.cs:line 43
   at MassTransit.Middleware.ReceiveEndpointDependencyFilter`1.Send(TContext context, IPipe`1 next) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Middleware\ReceiveEndpointDependencyFilter.cs:line 23
   at MassTransit.Agents.PipeContextSupervisor`1.Send(IPipe`1 pipe, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Agents\PipeContextSupervisor.cs:line 55
   at MassTransit.Agents.PipeContextSupervisor`1.Send(IPipe`1 pipe, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Agents\PipeContextSupervisor.cs:line 61
   at MassTransit.Agents.PipeContextSupervisor`1.Send(IPipe`1 pipe, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Agents\PipeContextSupervisor.cs:line 68
   at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.RunTransport() in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveTransport.cs:line 195
   --- End of inner exception stack trace ---
   at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.RunTransport() in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveTransport.cs:line 208
   at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.Run() in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveTransport.cs:line 128
19:45:12.493-W Bus stop faulted: loopback://localhost/

System.AggregateException: One or more errors occurred. (One or more errors occurred. (Local: Broker handle destroyed))
 ---> System.AggregateException: One or more errors occurred. (Local: Broker handle destroyed)
 ---> Confluent.Kafka.KafkaException: Local: Broker handle destroyed
   at Confluent.Kafka.Impl.SafeKafkaHandle.ConsumerClose()
   at Confluent.Kafka.Consumer`2.Close()
   at MassTransit.KafkaIntegration.KafkaMessageConsumer`2.ActiveAndActualAgentsCompleted(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\KafkaMessageConsumer.cs:line 117
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Middleware.Supervisor.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Supervisor.cs:line 102
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Middleware.Supervisor.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Supervisor.cs:line 102
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.TransportPipeContextSupervisor`1.StopSupervisor(StopSupervisorContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\TransportPipeContextSupervisor.cs:line 41
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveTransport.cs:line 105
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.ReceiveEndpoint.Stop(Boolean removed, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveEndpoint.cs:line 175
   at MassTransit.Transports.ReceiveEndpointCollection.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\ReceiveEndpointCollection.cs:line 106
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.KafkaIntegration.KafkaRider.RiderAgent.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\Transports\MassTransit.KafkaIntegration\KafkaIntegration\KafkaRider.cs:line 113
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.RiderCollection.Handle.StopAsync(Boolean remove, CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\RiderCollection.cs:line 179
   at MassTransit.Transports.RiderCollection.StopAgent(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\RiderCollection.cs:line 138
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87
   at MassTransit.Transports.BaseHost.Stop(CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\Transports\BaseHost.cs:line 152
   at MassTransit.MassTransitBus.Handle.StopAsync(CancellationToken cancellationToken) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit\MassTransitBus.cs:line 384

----- sometimes this:

  failed after: 0 retries
  Expected: True
  But was:  False
   at MassTransit.KafkaIntegration.Tests.HealthCheck_Specs.should_be_degraded_when_lost_connection() in C:\Users\Nico\source\repos\MassTransit\tests\MassTransit.KafkaIntegration.Tests\HealthCheck_Specs.cs:line 96

   at MassTransit.KafkaIntegration.Tests.HealthCheck_Specs.should_be_degraded_when_lost_connection() in C:\Users\Nico\source\repos\MassTransit\tests\MassTransit.KafkaIntegration.Tests\HealthCheck_Specs.cs:line 96
   at MassTransit.KafkaIntegration.Tests.HealthCheck_Specs.should_be_degraded_when_lost_connection() in C:\Users\Nico\source\repos\MassTransit\tests\MassTransit.KafkaIntegration.Tests\HealthCheck_Specs.cs:line 93
   at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
   at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
   at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.<>c__DisplayClass1_0.<Execute>b__0()
   at NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)

19:48:01.835-D Running health checks
19:48:01.838-D Running health check masstransit-bus
19:48:01.849-E Health check masstransit-bus with status Unhealthy completed after 10.5955ms with message 'Not ready: not started'
19:48:01.850-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4: Unhealthy - not ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Unhealthy - not ready
    HealthCheckName: masstransit-bus

19:48:01.853-D Health check processing with combined status Unhealthy completed after 17.3761ms
{
  "status": "Unhealthy",
  "results": {
    "masstransit-bus": {
      "status": "Unhealthy",
      "description": "Not ready: not started",
      "data": {
        "Endpoints": {
          "loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4": {
            "status": "Unhealthy",
            "description": "not ready"
          },
          "loopback://localhost/kafka/health-check/HealthCheck_Specs": {
            "status": "Unhealthy",
            "description": "not ready"
          }
        }
      }
    }
  }
}
19:48:02.912-I Creating topics: health-check with 1 partitions and 1 replicas
19:48:03.051-D Starting bus instances: IBus
19:48:03.051-D Starting bus: loopback://localhost/
19:48:03.052-D Endpoint Ready: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4
19:48:03.067-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:03.067-I Bus started: loopback://localhost/
19:48:03.193-D Running health checks
19:48:03.194-D Running health check masstransit-bus
19:48:03.194-D Health check masstransit-bus with status Healthy completed after 0.3872ms with message 'Ready'
19:48:03.194-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:48:03.194-D Health check processing with combined status Healthy completed after 0.6254ms
{
  "status": "Healthy",
  "results": {
    "masstransit-bus": {
      "status": "Healthy",
      "description": "Ready",
      "data": {
        "Endpoints": {
          "loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4": {
            "status": "Healthy",
            "description": "ready"
          },
          "loopback://localhost/kafka/health-check/HealthCheck_Specs": {
            "status": "Healthy",
            "description": "ready"
          }
        }
      }
    }
  }
}
19:48:04.505-W Consumer [rdkafka-f32937a4-4f1b-486d-8f91-8ca69b597931] error (Local_Transport): GroupCoordinator: localhost:9092: Disconnected (after 1404ms in state UP) on health-check
19:48:04.505-W Consumer [rdkafka-f32937a4-4f1b-486d-8f91-8ca69b597931] error (Local_Transport): localhost:9092/1: Disconnected: verify that security.protocol is correctly configured, broker might require SASL authentication (after 1418ms in state UP) on health-check
19:48:04.505-W Consumer [rdkafka-f32937a4-4f1b-486d-8f91-8ca69b597931] error (Local_AllBrokersDown): 2/2 brokers are down on health-check
19:48:04.506-W Consumer [rdkafka-f32937a4-4f1b-486d-8f91-8ca69b597931] error (Local_Transport): GroupCoordinator: localhost:9092: Disconnected (after 1ms in state APIVERSION_QUERY, 1 identical error(s) suppressed) on health-check
19:48:04.522-W Consumer [rdkafka-f32937a4-4f1b-486d-8f91-8ca69b597931] error (Local_Transport): localhost:9092/1: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 0ms in state APIVERSION_QUERY) on health-check
19:48:04.584-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:48:04.590-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:04.594-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:05.596-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:05.598-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 1ms in state APIVERSION_QUERY) on health-check
19:48:05.598-W Consumer [] error (Local_AllBrokersDown): 1/1 brokers are down on health-check
19:48:05.702-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:48:05.703-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:05.703-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:06.716-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:06.718-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 0ms in state APIVERSION_QUERY) on health-check
19:48:06.718-W Consumer [] error (Local_AllBrokersDown): 1/1 brokers are down on health-check
19:48:06.823-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:48:06.824-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:06.824-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:07.838-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:07.840-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 1ms in state APIVERSION_QUERY) on health-check
19:48:07.840-W Consumer [] error (Local_AllBrokersDown): 1/1 brokers are down on health-check
19:48:07.945-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:48:07.946-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:07.946-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:08.951-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:08.953-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 1ms in state APIVERSION_QUERY) on health-check
19:48:08.953-W Consumer [] error (Local_AllBrokersDown): 1/1 brokers are down on health-check
19:48:09.058-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:48:09.059-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:09.059-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:10.073-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:10.075-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 1ms in state APIVERSION_QUERY) on health-check
19:48:10.075-W Consumer [] error (Local_AllBrokersDown): 1/1 brokers are down on health-check
19:48:10.181-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:48:10.181-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:10.181-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:11.196-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:11.198-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 0ms in state APIVERSION_QUERY) on health-check
19:48:11.198-W Consumer [] error (Local_AllBrokersDown): 1/1 brokers are down on health-check
19:48:11.305-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:48:11.306-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:11.306-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:12.316-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:12.318-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 0ms in state APIVERSION_QUERY) on health-check
19:48:12.318-W Consumer [] error (Local_AllBrokersDown): 1/1 brokers are down on health-check
19:48:12.423-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:48:12.424-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:12.424-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:13.432-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:13.434-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 0ms in state APIVERSION_QUERY) on health-check
19:48:13.434-W Consumer [] error (Local_AllBrokersDown): 1/1 brokers are down on health-check
19:48:13.538-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:48:13.539-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:13.539-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:14.550-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:14.976-D Running health checks
19:48:14.976-D Running health check masstransit-bus
19:48:14.976-D Health check masstransit-bus with status Healthy completed after 0.0565ms with message 'Ready'
19:48:14.976-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:48:14.976-D Health check processing with combined status Healthy completed after 0.1565ms
19:48:15.985-D Running health checks
19:48:15.985-D Running health check masstransit-bus
19:48:15.985-D Health check masstransit-bus with status Healthy completed after 0.0775ms with message 'Ready'
19:48:15.985-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:48:15.985-D Health check processing with combined status Healthy completed after 0.2062ms
19:48:16.606-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Connect to ipv4#<IP_ADDRESS>:9092 failed: Unknown error (after 2056ms in state CONNECT) on health-check
19:48:16.606-W Consumer [] error (Local_AllBrokersDown): 1/1 brokers are down on health-check
19:48:16.621-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
19:48:16.622-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:16.622-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:16.992-D Running health checks
19:48:16.992-D Running health check masstransit-bus
19:48:16.993-W Health check masstransit-bus with status Degraded completed after 0.3667ms with message 'Degraded Endpoints: HealthCheck_Specs'
19:48:16.993-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Degraded - stopped (delivered 0 messages)
    HealthCheckName: masstransit-bus

19:48:16.993-D Health check processing with combined status Degraded completed after 0.5306ms
19:48:17.629-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
{
  "status": "Degraded",
  "results": {
    "masstransit-bus": {
      "status": "Degraded",
      "description": "Degraded Endpoints: HealthCheck_Specs",
      "data": {
        "Endpoints": {
          "loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4": {
            "status": "Healthy",
            "description": "ready"
          },
          "loopback://localhost/kafka/health-check/HealthCheck_Specs": {
            "status": "Degraded",
            "description": "stopped (delivered 0 messages)"
          }
        }
      }
    }
  }
}
19:48:18.002-D Running health checks
19:48:18.002-D Running health check masstransit-bus
19:48:18.002-D Health check masstransit-bus with status Healthy completed after 0.0661ms with message 'Ready'
19:48:18.002-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

19:48:18.002-D Health check processing with combined status Healthy completed after 0.1551ms
19:48:18.017-D Stopping bus instances: IBus
19:48:18.018-D Stopping bus: loopback://localhost/
19:48:18.021-D Endpoint Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:18.022-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Stop Receive Transport)
19:48:18.065-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
19:48:18.065-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
19:48:18.068-D Endpoint Stopping: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4
19:48:18.068-D Consumer Stopping: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4 (Stop Receive Transport)
19:48:18.071-D Endpoint Completed: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4
19:48:18.071-D Consumer Completed: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_a1ioyyguhzcf79g8bdphw6qiy4: 0 received, 0 concurrent
19:48:18.073-I Bus stopped: loopback://localhost/

Link to repository that demonstrates/reproduces the issue
https://github.com/nicomoya123/MassTransit/blob/8f5cbc94cd78db43181532b0f95c4a968b20ebee/tests/MassTransit.KafkaIntegration.Tests/HealthCheck_Specs.cs#L55C11-L55C13

the issue with Kafka client, as even without connection .Subscribe() call succeed:
https://github.com/MassTransit/MassTransit/blob/a04955c2712c565612c8da3c19e8fa38d2bcd52d/src/Transports/MassTransit.KafkaIntegration/KafkaIntegration/KafkaMessageConsumer.cs#L48
Not sure what we can do about it...

@phatboyg there is kind of a fix:
https://github.com/MassTransit/MassTransit/compare/develop...NooNameR:make_kafka_ready_on_assigment?expand=1
But it might lead to other issue, if consumer doesn't get any partition due to number of consumers > partitions. We'll keep kafka consumer not ready, but it might be even more correct to indicate bad behaviours

@NooNameR How abot this execption ?
System.AggregateException : One or more errors occurred. (One or more errors occurred. (Local: Broker handle destroyed))
  ----> System.AggregateException : One or more errors occurred. (Local: Broker handle destroyed)
  ----> Confluent.Kafka.KafkaException : Local: Broker handle destroyed
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87

Is it related ?

@nicomoya123 you should try the latest pre-release packages to verify the issue has been resolved.

@phatboyg @NooNameR
I have pulled the changes are not passing yet

  failed after: 0 retries
  Expected: True
  But was:  False
   at MassTransit.KafkaIntegration.Tests.HealthCheck_Specs.should_be_degraded_when_lost_connection() in C:\Users\Nico\source\repos\MassTransit\tests\MassTransit.KafkaIntegration.Tests\HealthCheck_Specs.cs:line 96

   at MassTransit.KafkaIntegration.Tests.HealthCheck_Specs.should_be_degraded_when_lost_connection() in C:\Users\Nico\source\repos\MassTransit\tests\MassTransit.KafkaIntegration.Tests\HealthCheck_Specs.cs:line 96
   at MassTransit.KafkaIntegration.Tests.HealthCheck_Specs.should_be_degraded_when_lost_connection() in C:\Users\Nico\source\repos\MassTransit\tests\MassTransit.KafkaIntegration.Tests\HealthCheck_Specs.cs:line 93
   at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
   at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
   at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.<>c__DisplayClass1_0.<Execute>b__0()
   at NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)

11:10:42.699-D Running health checks
11:10:42.701-D Running health check masstransit-bus
11:10:42.712-E Health check masstransit-bus with status Unhealthy completed after 10.0019ms with message 'Not ready: not started'
11:10:42.714-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h: Unhealthy - not ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Unhealthy - not ready
    HealthCheckName: masstransit-bus

11:10:42.717-D Health check processing with combined status Unhealthy completed after 18.4578ms
{
  "status": "Unhealthy",
  "results": {
    "masstransit-bus": {
      "status": "Unhealthy",
      "description": "Not ready: not started",
      "data": {
        "Endpoints": {
          "loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h": {
            "status": "Unhealthy",
            "description": "not ready"
          },
          "loopback://localhost/kafka/health-check/HealthCheck_Specs": {
            "status": "Unhealthy",
            "description": "not ready"
          }
        }
      }
    }
  }
}
11:10:43.778-I Creating topics: health-check with 1 partitions and 1 replicas
11:10:43.894-D Starting bus instances: IBus
11:10:43.895-D Starting bus: loopback://localhost/
11:10:43.895-D Endpoint Ready: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h
11:10:43.914-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:43.915-I Bus started: loopback://localhost/
11:10:44.082-D Running health checks
11:10:44.082-D Running health check masstransit-bus
11:10:44.083-D Health check masstransit-bus with status Healthy completed after 0.464ms with message 'Ready'
11:10:44.083-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

11:10:44.083-D Health check processing with combined status Healthy completed after 0.6994ms
{
  "status": "Healthy",
  "results": {
    "masstransit-bus": {
      "status": "Healthy",
      "description": "Ready",
      "data": {
        "Endpoints": {
          "loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h": {
            "status": "Healthy",
            "description": "ready"
          },
          "loopback://localhost/kafka/health-check/HealthCheck_Specs": {
            "status": "Healthy",
            "description": "ready"
          }
        }
      }
    }
  }
}
11:10:45.417-W Consumer [rdkafka-e2342106-bbcf-4d96-b269-f9bd09b64135] error (Local_Transport): GroupCoordinator: localhost:9092: Disconnected (after 1494ms in state UP) on health-check
11:10:45.454-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
11:10:45.464-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:45.468-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:46.485-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:46.487-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 0ms in state APIVERSION_QUERY) on health-check
11:10:46.594-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
11:10:46.595-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:46.595-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:47.602-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:47.604-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 1ms in state APIVERSION_QUERY) on health-check
11:10:47.709-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
11:10:47.709-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:47.709-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:48.724-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:48.726-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 1ms in state APIVERSION_QUERY) on health-check
11:10:48.824-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
11:10:48.825-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:48.825-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:49.835-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:49.836-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 0ms in state APIVERSION_QUERY) on health-check
11:10:49.941-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
11:10:49.942-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:49.942-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:50.954-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:50.957-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 1ms in state APIVERSION_QUERY) on health-check
11:10:51.063-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
11:10:51.064-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:51.064-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:52.071-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:52.072-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 0ms in state APIVERSION_QUERY) on health-check
11:10:52.177-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
11:10:52.178-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:52.178-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:53.191-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:53.192-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 0ms in state APIVERSION_QUERY) on health-check
11:10:53.298-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
11:10:53.298-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:53.298-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:54.302-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:54.304-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 0ms in state APIVERSION_QUERY) on health-check
11:10:54.410-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
11:10:54.411-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:54.411-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:55.418-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:56.276-D Running health checks
11:10:56.276-D Running health check masstransit-bus
11:10:56.276-D Health check masstransit-bus with status Healthy completed after 0.0899ms with message 'Ready'
11:10:56.276-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

11:10:56.276-D Health check processing with combined status Healthy completed after 0.2158ms
11:10:57.279-D Running health checks
11:10:57.279-D Running health check masstransit-bus
11:10:57.279-D Health check masstransit-bus with status Healthy completed after 0.0919ms with message 'Ready'
11:10:57.279-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

11:10:57.279-D Health check processing with combined status Healthy completed after 0.2123ms
11:10:57.464-W Consumer [] error (Local_Transport): localhost:9092/bootstrap: Connect to ipv4#<IP_ADDRESS>:9092 failed: Unknown error (after 2045ms in state CONNECT) on health-check
11:10:57.479-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Consume Loop Exited)
11:10:57.479-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:57.479-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:58.286-D Running health checks
11:10:58.286-D Running health check masstransit-bus
11:10:58.286-W Health check masstransit-bus with status Degraded completed after 0.3775ms with message 'Degraded Endpoints: HealthCheck_Specs'
11:10:58.286-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Degraded - stopped (delivered 0 messages)
    HealthCheckName: masstransit-bus

11:10:58.286-D Health check processing with combined status Degraded completed after 0.5558ms
11:10:58.489-D Endpoint Ready: loopback://localhost/kafka/health-check/HealthCheck_Specs
{
  "status": "Degraded",
  "results": {
    "masstransit-bus": {
      "status": "Degraded",
      "description": "Degraded Endpoints: HealthCheck_Specs",
      "data": {
        "Endpoints": {
          "loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h": {
            "status": "Healthy",
            "description": "ready"
          },
          "loopback://localhost/kafka/health-check/HealthCheck_Specs": {
            "status": "Degraded",
            "description": "stopped (delivered 0 messages)"
          }
        }
      }
    }
  }
}
11:10:59.292-D Running health checks
11:10:59.292-D Running health check masstransit-bus
11:10:59.292-D Health check masstransit-bus with status Healthy completed after 0.0576ms with message 'Ready'
11:10:59.292-D Health check data for masstransit-bus:
    Endpoints: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h: Healthy - ready, loopback://localhost/kafka/health-check/HealthCheck_Specs: Healthy - ready
    HealthCheckName: masstransit-bus

11:10:59.292-D Health check processing with combined status Healthy completed after 0.1648ms
11:10:59.322-D Stopping bus instances: IBus
11:10:59.324-D Stopping bus: loopback://localhost/
11:10:59.326-D Endpoint Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:59.327-D Consumer Stopping: loopback://localhost/kafka/health-check/HealthCheck_Specs (Stop Receive Transport)
11:10:59.356-D Endpoint Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs
11:10:59.356-D Consumer Completed: loopback://localhost/kafka/health-check/HealthCheck_Specs: 0 received, 0 concurrent
11:10:59.359-D Endpoint Stopping: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h
11:10:59.359-D Consumer Stopping: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h (Stop Receive Transport)
11:10:59.362-D Endpoint Completed: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h
11:10:59.362-D Consumer Completed: loopback://localhost/DESKTOPFVPA0MK_ReSharperTestRunner_bus_ztbyyyguhzcf7squbdph4it38h: 0 received, 0 concurrent
11:10:59.363-I Bus stopped: loopback://localhost/

I have pulled the changes are not passing yet

worked fine for me, but I didn't use docker package, and just stopped container manually.
I'll double check later today, but logically if you receive partitions assignments - it is ready

I have pulled the changes are not passing yet

worked fine for me, but I didn't use docker package, and just stopped container manually.
I'll double check later today, but logically if you receive partitions assignment - it is ready

Are you stopping the contatiners post partitions assignment ?

Are you stopping the contatiners post partitions assignment ?

Starting all
healthy
Stopping containers
should not become healthy anymore

I pretty much sure your test was doing the same thing

okay, I have found it, it is really silly one...

seems good now: https://gist.github.com/NooNameR/c92f2b7f5d5611b9942250ebd951ef64

@nicomoya123 last version is merged, and you can try latest prerelease and see if it works, I tested few times

Tests are passing now.
I will test the pre release package 8.1.2-develop.1564

@nicomoya123 is it resolved? should we close the issue?

@NooNameR I think so, I will comment here otherwise

@NooNameR How about this execption ?
System.AggregateException : One or more errors occurred. (One or more errors occurred. (Local: Broker handle destroyed))
  ----> System.AggregateException : One or more errors occurred. (Local: Broker handle destroyed)
  ----> Confluent.Kafka.KafkaException : Local: Broker handle destroyed
   at MassTransit.Middleware.Agent.Stop(StopContext context) in C:\Users\Nico\source\repos\MassTransit\src\MassTransit.Abstractions\Middleware\Middleware\Agent.cs:line 87

Is it related ?

@NooNameR  This is still happing
2023-10-20   17:34:02.3458|WARN|MassTransit|Stop Faulted|Confluent.Kafka.KafkaException:   Local: Broker handle destroyed        at   Confluent.Kafka.Impl.SafeKafkaHandle.ConsumerClose()        at   Confluent.Kafka.Consumer2.Close()        at   MassTransit.KafkaIntegration.KafkaMessageConsumer2.ActiveAndActualAgentsCompleted(StopContext   context) in /_/src/Transports/MassTransit.KafkaIntegration/KafkaIntegration/KafkaMessageConsumer.cs:line   132
2023-10-20   17:34:02.5038|WARN|MassTransit|Bus stop faulted:   loopback://localhost/|Confluent.Kafka.KafkaException: Local: Broker handle   destroyed        at   Confluent.Kafka.Impl.SafeKafkaHandle.ConsumerClose()        at   Confluent.Kafka.Consumer2.Close()        at   MassTransit.KafkaIntegration.KafkaMessageConsumer2.ActiveAndActualAgentsCompleted(StopContext   context) in /_/src/Transports/MassTransit.KafkaIntegration/KafkaIntegration/KafkaMessageConsumer.cs:line   132
2023-10-20   17:34:02.5688|ERROR|Program|Stopped program because of   exception|Confluent.Kafka.KafkaException: Local: Broker handle   destroyed        at   Confluent.Kafka.Impl.SafeKafkaHandle.ConsumerClose()        at   Confluent.Kafka.Consumer2.Close()        at   MassTransit.KafkaIntegration.KafkaMessageConsumer2.ActiveAndActualAgentsCompleted(StopContext   context) in /_/src/Transports/MassTransit.KafkaIntegration/KafkaIntegration/KafkaMessageConsumer.cs:line   132
https://gist.github.com/nicomoya123/48d900d19202a9ccf61ae3684fff751e

@NooNameR This is still happing

well, if you have issue connecting to kafka broker, you expect to get an error in the logs, doesn't you?
endpoint is trying to restart and recover

The entire program stopped and bus faulted, one of 2 consumer died and didn't recover

I do not think that's what killed your application. These logs are expected when you have issue connecting to a broker, they are handled internally and won't be causing exception popping up

Why not ? It says over here
2023-10-20 17:34:02.5688|ERROR|Program|Stopped program because of exception|Confluent.Kafka.KafkaException: Local: Broker handle destroyed    at Confluent.Kafka.Impl.SafeKafkaHandle.ConsumerClose()    at Confluent.Kafka.Consumer2.Close()        at   MassTransit.KafkaIntegration.KafkaMessageConsumer2.ActiveAndActualAgentsCompleted(StopContext context) in /_/src/Transports/MassTransit.KafkaIntegration/KafkaIntegration/KafkaMessageConsumer.cs:line 132

okay, I see. It might be the case, I'll try to take a look later. Does it do the same with your test?

@NooNameR I have only managed to reproduce it with my test only some few times but I did see it once in a while
Also in dotnet 6 there was a breaking change to background service error handling:
https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/hosting-exception-handling
I don't know if it relevant to masstrasnit registration as IHostedService

@nicomoya123 wrapped into try/catch, I can't reproduce it really but knowing confluent client, it is better to be wrapped:
https://github.com/MassTransit/MassTransit/pull/4717
btw, it has nothing to do with background service

@NooNameR I think I have managed to reproduce it:
https://gist.github.com/nicomoya123/7eac44b3d324aa5b3529427235c824ed#file-gistfile1-txt-L125
The broker comes back online but consumer is still degraded

@NooNameR I think I have managed to reproduce it:
https://gist.github.com/nicomoya123/7eac44b3d324aa5b3529427235c824ed#file-gistfile1-txt-L125 The broker comes back online but consumer is still degraded

Is this using the latest develop package with the most recent fix? https://www.nuget.org/packages/MassTransit/8.1.2-develop.1576

I did now, it had the same result

@nicomoya123  can you test the latest?

@NooNameR will do, thanks !

@NooNameR The issue cameback again 3 times in this week,
All I see in the logs is:
2023-11-29 21:17:30.8018|WARN|MassTransit|Consumer [xxx] error (Local_Transport): xxxxx:9092/12: Connect to ipv4#xxxxx:9092 failed: Connection refused (after 94142608ms in state CONNECT) on topic name. IsFatal(False) then the consumer stops but service is still healthy

maybe related ? https://github.com/confluentinc/confluent-kafka-dotnet/issues/1162

it might be, It means that we need to recycle consumer for any error, which is not desired as it might cause rebalancing loop


Document that Install Cloud SDK only works on Windows.

Issue brought to light by issue #56.

PTAL


Transfer mongoid-observers to github/mongoid?

Hi, related simi/mongoid_paranoia#49
@chamnap what do you thing?

I think preserving these for posterity is better than not. Happy to take this gem. Transfer it to me and I'll move it into the mongoid org. Thanks!

I totally agree for the sake of community. @dblock, I'll transfer to you now.

@dblock, it's done.

Alright! It's now part of the @mongoid org. You are still admin on the repo, so you can add people and what not. Next steps is to change links in READMEs, etc. Also add the project to http://mongoid.github.io/ maybe?

Also, add me, @estolfo and @durran to gem owners!
See http://mongoid.github.io/misc/adding

I'll do it this weekend, a bit busy recently.


add circular photo of headshot to top of HERO

added a profile image but may want to make a new professional headshot


Wrong size when text is long on macOS

Describe the bug
When text is long, the window is expanded with extra space and cannot be resized. However, if the text is short, everything is fine.
Checklist

[x] I can reproduce this issue with a vanilla SwiftUI project.
[x] I can reproduce this issue using the main branch of this package.
[x] This bug hasn't been addressed in an existing GitHub issue.

Steps to reproduce
When text is very long:
import SwiftUI
import MarkdownUI

struct ContentView: View {
    var body: some View {
        Markdown("1232313123123123131312323131231231231313123231312312312313131232313123123123131312323131231231").border(Color.pink)
    }
}

The layout becomes weird. The window is actually way longer than my screen and I couldn't capture the whole window.

However, if I delete some text, everything is fine and I can resize the window with no issue.

Version information

MarkdownUI: main
OS: macOS 14
Xcode: 15

This issue is introduced in version 2.0.0. Version 1.1.1 has no such issue.
Any help will be appreciated!

Hi @BeBeBerr,
What is happening is that the current theme is applying the fixedSize(horizontal: false, vertical: true) on the paragraph contents.
You can workaround this issue by overriding the current paragraph style. For instance:
struct ContentView: View {
    var body: some View {
        Markdown("1232313123123123131312323131231231231313123231312312312313131232313123123123131312323131231231")
          .markdownBlockStyle(\.paragraph) { configuration in
            configuration.label
              .relativeLineSpacing(.em(0.15))
              .markdownMargin(top: .zero, bottom: .em(1))
          }
          .border(Color.pink)
          .padding()
    }
}

Thanks for replying! Is this considered as a bug and is there any plans to fix it? @gonzalezreal

I am not sure this is a bug. It can be argued what is best as the default behaviour. There were multiple bugs in the past related to not applying the fixedSize(horizontal: false, vertical: true) modifier by default in the themes that come with MarkdownUI, like #251 or #219.


Metrics absolute average fold error

Changelogs

Add metric Balanced average precision from sklearn
Add metric Absolute Average Fold Error implementation from https://pubs.acs.org/doi/10.1021/acs.chemrestox.3c00305

Checklist:

[ ] Add tests to cover the fixed bug(s) or the newly introduced feature(s) (if appropriate).
[ ] Update the API documentation if a new function is added, or an existing one is deleted.
[x] Write concise and explanatory changelogs above.
[x] If possible, assign one of the following labels to the PR: feature, fix or test (or ask a maintainer to do it for you).

discussion related to that PR

Ah I see you created https://github.com/polaris-hub/polaris-hub/issues/317.

Thanks, @zhu0619
For this to be merged, there needs to be a similar PR on the Hub side as well that adds support for these new metrics. Is this something you would feel comfortable doing, @zhu0619 ? If not, I can look into it!

I will do it.


Extend lbcblocknotify to support custom command and multiple destinations.

So far, the users of the lbcdblocknotify programs are predominantly mining pools. For reliability, some pools have multiple instances of backend and frontend services that all act upon the notification. In this case, users have to set up multiple instances of lbcdblocknotify
It is desired to have multiple subscribers for the notification where each of them can customize their command and end points.

Support running a custom command with '--run' seems enough as user can wrap the rest in their custom script.


windows 10 latest rust nightly rustc_term v0.0.1 error[E0658]: use of unstable library feature 'rustc_private'

windows 10 bug surfaced when building tarpc:
davidm@IO-04 2019-05-03_10:53:25_EDT : /c/Users/davidm/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc_term-0.0.1
$ cargo build --release
   Compiling rustc_term v0.0.1 (C:\Users\davidm\.cargo\registry\src\github.com-1ecc6299db9ec823\rustc_term-0.0.1)
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
 --> win.rs:5:1
  |
5 | extern crate libc;
  | ^^^^^^^^^^^^^^^^^^
  |
  = note: for more information, see https://github.com/rust-lang/rust/issues/27812
  = help: add #![feature(rustc_private)] to the crate attributes to enable

FIX:
added #![feature(rustc_private)] to top of
cd /c/Users/davidm/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc_term-0.0.1/lib.rs

BTW there was a similar line commented out.
cd ~/tarpc
cargo build --release

builds successfully after that.

Thanks for the report! If I understand correctly, this is a problem with rustc_term? You may want to file against https://github.com/rust-lang/libtest?

Closing due to lack of activity, but if you are still having this issue, please feel free to reopen!


Define a custom class for highlighted elements

Does anyone know how to achieve it? And if is possible define a custom class for each element individually

We now add driver-active-element to the active element.
Also, we just released v1.0 of driver.js which has been rewritten from the ground up. This issue should no longer exist. Please have a look at the docs and do let me know if you face any issues.


About how to migrate RDIou to other models

Excellent work！Unexpectedly, the decoupling orientation can bring such a significant performance improvement！
Now I am very interested in your excellent work. In addition to the model structure in the code you provided, I want to try to introduce RDiou into other models such as PointPillar. Do I just need to set the NAME field under DENSE_HEAD in the yaml file to be AnchorHeadRDIoU_3CAT? Of course I noticed that in anchor_head_rdiou_3cat.py, small changes were made to some functions introduced, such as loss_utils.
Any advice would be appreciated

@GongDianCheng  Hi, were you able to integrate with other networks succesfully?


Update Set-Mailbox.md

Issue #9953

Docs Build status updates of commit cc18a8b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Set-Mailbox.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[research] Data Layer: how next.js connects to backends

How should we get (meta)data / content? What is the "data layer" for this system?
SUMMARY: atm we are strongly inclining to graphql based approach.
Overview (in progress)
Next.js data fetching can be done in two ways:

getStaticProps - fetches data at build time
getServersideProps - fetches data at runtime

We want to use the getServersideProps method for our use case. There's a repo with helpful examples to see how data fetching works in Next. https://github.com/vercel/next.js/blob/canary/examples
What we want ...
fetch could use graphql, raw queries it doesn't matter ...
graph TD

external[External Data Source e.g. CKAN or Wordpress]
react[React Component]
page[Rendered Page]

external --fetch--> react
external --fetch --> redux
external --fetch --> store[Store - non redux]
redux--> react
store --graphql--> react

react --render--> page

gatsby ...
graph TD

external[External] --> source[Source plugin]
source --> store[Internal Store - nodes]
store --graphql--> component[Component]
component --render--> page

Inbox (misc)

Official Next.js example using wordpress: https://github.com/shuding/next-cms

Inbox on Graphql approach

https://medium.com/disdj/next-js-redux-in-an-easy-way-fae083aa037c - short guide to using redux in nextjs
What about using graqhql

apollo
https://relay.dev/ - this basically replaces redux.
urlq https://github.com/FormidableLabs/urql

https://github.com/zeit/next.js/discussions/10946 - Using GraphQL API in getStaticProps or getServerSideProps
Mentions https://github.com/lfades/next-with-apollo
Lots of examples

https://github.com/zeit/next.js/tree/canary/examples
https://github.com/zeit/next.js/tree/canary/examples/with-apollo

Summary

A local graphql layer can replace redux as local state management solution

https://engineering.circle.com/https-medium-com-mattdionis-move-over-redux-apollo-client-as-a-state-management-solution-1f9325f96cdd
Relay supports this: https://relay.dev/docs/en/local-state-management
Apollo supports this https://www.apollographql.com/docs/react/data/local-state/

And stuff like apollo has multiple sources out of the box that convert other APIs into local graphql ...

https://www.apollographql.com/docs/tutorial/data-source/

This is an attractive approach

Fixes one of long-standing pain points for redux (local vs nonlocal state)
Nice query interface to local state

Apollo is better than relay (?)

Jan 2019 - https://blog.bitsrc.io/apollo-and-relay-side-by-side-adb5e3844935

I found the Relay documentation to be opaque, incomplete, and downright confusing at times. The docs were often missing the why behind certain decisions; instead, you had to follow along and figure it out yourself. Apollo’s documentation isn’t perfect, but it is much more thorough and beginner-friendly. [ed: i would agree based on brief perusal]

https://gist.github.com/nikolasburk/36cae3e7f79074a34c4d64f1428c96ac - https://www.prisma.io/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534 - 3y old and old version of relay
Con: gatsby uses relay internally
Artsy explaining use of relay: https://artsy.github.io/blog/2019/04/10/omakase-relay/

Well engineered. Was not alternative
Apollo is now much bigger ecosystem and friendlier ...

next.js support

https://github.com/vercel/next.js/tree/canary/examples/with-relay-modern
https://github.com/vercel/next.js/tree/canary/examples/with-apollo

Excellent critique of next.js SSR approach: https://en.paqmind.com/blog/ssr-is-not-the-future and recommendations on how to approach (jan 20 2020)
This section of gatsby doc is useful https://www.gatsbyjs.org/docs/graphql-concepts/#why-is-graphql-so-cool
For a more in-depth look, read why Gatsby uses GraphQL.

Eliminate frontend data boilerplate — no need to worry about requesting & waiting for data. Just ask for the data you need with a GraphQL query and it’ll show up when you need it
Push frontend complexity into queries — many data transformations can be done at build-time within your GraphQL queries
It’s the perfect data querying language for the often complex/nested data dependencies of modern applications
Improve performance by removing data bloat — GraphQL enables you to select only the data you need, not whatever an API returns

Hi @rufuspollock should we wait for this to complete before we can start wiring up CKAN API with, e.g., Apollo?

Closing this since we've implemented #29


Confused by warmupTrigger docs - how to actually use in practice?

I'm quite confused by the warmupTrigger docs for Python. I want to ensure our function apps are warm/ready before they get requests and I thought this could be used. But it's not clear how to use warmupTrigger if we already have a function app with a httpTrigger.
As far as I can tell the warmup trigger can be used for scaling out to have instances warm before use, but then you can't use any other triggers in the function. If we have multiple functions within one app with different triggers, I'm not sure what the best way to lazy load data/models with the two functions, when the warmup trigger may not always run.
Docs are here and here on GH.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: c8bd5164-c40a-241a-d0ea-ccce7659f9ab
Version Independent ID: f6a565b3-c03b-12bd-4bf4-a4ca19645811
Content: Azure Functions warmup trigger
Content Source: articles/azure-functions/functions-bindings-warmup.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@empowerNate
Thanks for your feedback! We will investigate and update as appropriate.

So I figured out how to use it somewhat; add it as another function in the function app. However, even after doing that it doesn't seem to be firing.

Ok, I figured out that I think this trigger only works on the elastic premium plan, not dedicated or other plans. Is that correct? If so I think that should be noted in the docs. It's also a bit confusing because the dedicated plan has premium instances like P3V3, but they are a different "premium" vs the EP premium instances on the elastic premium plan.


Adding netlify badge

First thing, PLEASE READ THIS: ReactPlay Code Review Checklist

Description
Netlify badge to be added at the footer
Fixes # (issue)

Here is the screenshot after implementation.

@atapas , ready for review and merge.


add hexadecimal/gray code converter

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
i would like to add this converter

i already added this feature in different issue


Viewer.destroy() doesn't remove inline CSS on target and destroys entire target contents

https://openseadragon.github.io/docs/OpenSeadragon.Viewer.html#destroy
When calling Viewer.destroy() the entire OpenSeadragon element is removed. However, stylie="position:relative;" is added to the target (element option). This relative positioning isn't removed.
Also, what this does is not only removing div.openseadragon-container but the entire target element. This is a problem if you want to append OpenSeadragon to an element and this works, but removing it inside this appended container doesn't work since it destroys also other elements inside the target.

Good point! Thank you for reporting this.
Would you be up for writing a patch to fix it?

Yeah I'm open for it, but we should discuss the solution before I'm starting with it.
From my point of view, the safest solution would be not to manipulate the provided target at all. There may be the case that position relative is already set or is set during OpenSeadragon is active, so there's no guarantee that it'd remove an inline style that is set by OpenSeadragon – it could break an application.
Another approach would be to create the required container with position relative by OpenSeadragon including width:100%;height:100%;. Then it'd be possible to safely remove this container too upon destroying and we wouldn't need to manipulate the actual target.

If we create the container with width: 100%, we don't know what its positioning parent is. I think we do need to set position relative on the container we're given, but we can record what its position style is prior to doing so, so we can reset it in destroy. Does that sounds reasonable?

we don't know what its positioning parent is

I'm not sure if I'm understanding the problem with my solution approach. Why do we need to know the positioning of the target (element option)? Why wouldn't it be enough to know that the container we've inserted into the target has position:relative?

but we can record what its position style is prior to doing so

As mentioned there may be the case that the positioning is changed during the lifetime of OpenSeadragon, thus we have no guarantee that it's the position relative of OpenSeadragon we're destroying or the positioning of the application we're running in. But to be fair, the risk is very low.

I'm not sure if I'm understanding the problem with my solution approach. Why do we need to know the positioning of the target (element option)? Why wouldn't it be enough to know that the container we've inserted into the target has position:relative?

The goal is to match the position of the element we're given. We're going to width: 100% inside of it so our canvas is the same width as the element we're given. The only way that'll work is if the element we're given isn't position: static because if it is static, the 100% won't be relative to it. See https://css-tricks.com/absolute-positioning-inside-relative-positioning/ for more info.
I agree that there's a chance that the positioning can be changed during the lifetime of the OSD viewer, but since we have this requirement, it's certainly not a good idea for someone to do so. In practice, I don't think it comes up (considering this is how it's already been for years now). Of course if there's an even cleaner solution, I'm open to exploring it!


Spring Boot projects could provide a sample REST endpoint

It would be nice if a REST endpoint could be provided as a sample when a new project is created using Project:New (when such feature is enabled)

What do you mean?
You can add the actuator-web dependency and spring boot comes with /health for health check etc.

if you use the spring boot wizard (or start.spring.io) to create a web mvc kinda app, there's no REST endpoint with a sample controller generated. So its kinda sucky for use in demos - after creating the project you have to add a bunch of code to the project to generate a controller.
So I tend to use our microservice quickstart instead  - as that comes with a controller:
https://github.com/fabric8-quickstarts/spring-boot-webmvc/blob/master/src/main/java/io/fabric8/quickstarts/springbootmvc/HomeController.java
It might be nice to have a Forge wizard option that detects web-mvc and asks if you want a sample controller added


Support Read-Only For Insecure Providers

If a provider allows full access (i.e., is not defended by a permission and is not using grantUriPermissions), allow it, but make all supported paths be read-only.

Use case: http://stackoverflow.com/q/43895664/115145

Addressed in v0.5.2.


How to ignore trim the value between the tags?

Asking for the clarity
I've read to README, entirety. I didn't find any question/thread regarding this.
How to ignore trim the value between the tags?
example:
this is a link https://google.co  Risal
it's the same if I use renderers function or use the default render, the space between tag  is trimmed somehow.
It's possible to ignore the trimming?
libs:
"react-native-render-html": "^4.1.2",
"react": "16.5.0",
"react-native": "latest",

You can replace all whitespaces in your text by this way
.replace(//a>\s <a')
Looks ugly, but it works for me

@ibnukipa I think you are referring to this issue: #118. Closing as I believe is duplicate. If you don't agree, feel free to answer.


Add asdf version manager plugin

asdf is an extendable version manager with support for Ruby, Node.js, Elixir, and more.
asdf plugin-add nodejs git@github.com:asdf-vm/asdf-nodejs.git
asdf install nodejs 5.9.1

This plugin simply loads asdf if it finds it. asdf provides the zsh completion for us. The corresponding issue for this is https://github.com/robbyrussell/oh-my-zsh/issues/4942 .

:clap:


Take NodeConfig.validator_cycle into account

It started as a minor refactor until I realized things were not working quite well and the config option was flat out ignored.
See each commit message for an explanation.

I need the preimages from the enrollment manager in https://github.com/bpfkorea/agora/pull/1008/files, specifically this commit does this: https://github.com/bpfkorea/agora/pull/1008/commits/4c63a7404f11e805c9d7155b949c48f38da668f4
I couldn't think of a better solution yet.

Since we use well-known keypairs, you can just do something like this:
https://github.com/bpfkorea/agora/blob/dd84a839910444b22719a5ef5d3fd905a14ff871/source/agora/consensus/Genesis.d#L215-L231

@linked0 what do you think?

I'm not sure this was correct? It's generating the exact same random_seed for all the enrollments..

diff --git a/source/agora/test/Base.d b/source/agora/test/Base.d
index 09c10691..dd0b051f 100644
--- a/source/agora/test/Base.d
+++ b/source/agora/test/Base.d
@@ -1159,6 +1159,8 @@ private immutable(Block) makeGenesisBlock (in KeyPair[] key_pairs,
         const utxo = UTXOSetValue.getHash(tx.hashFull(), 0);
         enrolls ~= EnrollmentManager.makeEnrollment(
             key_pair, utxo, validator_cycle);
+        import std.stdio;
+        writefln("Enrollment: %s", enrolls[$ - 1]);
     }

     enrolls.sort!("a.utxo_key < b.utxo_key");

The second value is the seed:
Enrollment: Enrollment(0xb82cb96710af2e9804c59d1f1e1679f8b8b69f4c0f6cd79c8c12f365dd766c09aaa4febcc18b3665d33301cb248ac7afd343ac7b98b27beaf246ad12d3b3219a, 0xeea3fe41624a1071e073ba7b95ab277a3d358c57fd08daa4f5c67da5e47c9b1a2df84d201171d817db6169264c3ddc336e9401ccb53d18f3c3a5cf841c6c5b68, 10, 0x08948b2beb8d7c670f76308ea91bada39f21e04aaa98e6faad57bd9ac03fe72459681feeb9a3b68b18bca05ac811c75bf557a1029f110dd8b34ecb9720affe00)
Enrollment: Enrollment(0x4028965b7408566a66e4cf8c603a1cdebc7659a3e693d36d2fdcb39b196da967914f40ef4966d5b4b1f4b3aae00fbd68ffe8808b070464c2a101d44f4d7b0170, 0xeea3fe41624a1071e073ba7b95ab277a3d358c57fd08daa4f5c67da5e47c9b1a2df84d201171d817db6169264c3ddc336e9401ccb53d18f3c3a5cf841c6c5b68, 10, 0x0e6793d9c42301b03ba720f71d97ab6bade27c445e63e5ac51dda8d7f437ab2ee363196eed3f7b1efafe646bc5ef7816b3203cc4fdaa8c6d70260cb46391d06a)
Enrollment: Enrollment(0x190dd12450d9f1972e21e39d676d9e5bb690071d98ed5c0859077e409741912a4baf07dabc2c879725f0af67f783bbb0161c68d55ef6835639eaaedff2317561, 0xeea3fe41624a1071e073ba7b95ab277a3d358c57fd08daa4f5c67da5e47c9b1a2df84d201171d817db6169264c3ddc336e9401ccb53d18f3c3a5cf841c6c5b68, 10, 0x04f4cd55789338558fef622f8f331ee23f75960ad9be8d9ec9d135f0b644caece70b0b8f35a4d70a8bfd8c53183816ddaae73eefcbdc8ad715452b0ed62fedf0)
Enrollment: Enrollment(0x81a326afa790003c32517a2a2556613004e6147edac28d576cf7bcc2daadf4bb60be1f644c229b775e7894844ec66b2d70ddf407b8196b46bc1dfe42061c7497, 0xeea3fe41624a1071e073ba7b95ab277a3d358c57fd08daa4f5c67da5e47c9b1a2df84d201171d817db6169264c3ddc336e9401ccb53d18f3c3a5cf841c6c5b68, 10, 0x07244880b9eae2486e0a8a451a111872fda78f684f6b06e96c562c6d4d45852ba52bfc3af80cfff8f516625c469ecf18d7355239c66f2274bfec59dc952111f7)

Good catch. Fix here: https://github.com/bpfkorea/agora/pull/1013