*Motivation*

Fixes #2638.

```
22:58:30.363 
[pulsar-client-io-58-1:org.apache.pulsar.client.impl.ProducerStatsRecorderImpl@104]
 ERROR org.apache.pulsar.client.impl.ProducerStatsRecorderImpl - Failed to dump 
config info: {}
com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion 
(StackOverflowError) (through reference chain: 
org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pul
 
sarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.Pulsar
 
ClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl
 
.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider
 
"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]->org.apache.pulsar.client.impl.conf.ClientConfigurationData["serviceUrlProvider"]->org.apache.pulsar.client.api.ServiceUrlProviderTest$AutoChangedServiceUrlProvider["pulsarClient"]->org.apache.pulsar.client.impl.PulsarClientImpl["conf"]-
```

The problem is in the TestServiceUrlProvider it includes PulsarClient again, 
which will cause recursive reference.

*Changes*

Add `@JsonIgnore` to ignore serviceUrlProvider




[ Full content available at: https://github.com/apache/pulsar/pull/2644 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to