*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]