You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2018/09/24 23:32:04 UTC

[pulsar] branch master updated: Issue #2638: com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (#2644)

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 1905133  Issue #2638: com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (#2644)
1905133 is described below

commit 1905133edeea0c45b9812e28022c3820a45d4627
Author: Sijie Guo <gu...@gmail.com>
AuthorDate: Mon Sep 24 16:31:57 2018 -0700

    Issue #2638: com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (#2644)
    
    *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 [...]
    ```
    
    The problem is in the TestServiceUrlProvider it includes PulsarClient again, which will cause recursive reference.
    
    *Changes*
    
    Add `@JsonIgnore` to ignore serviceUrlProvider
---
 .../java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java
index 1ff24c9..f007782 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java
@@ -36,6 +36,7 @@ public class ClientConfigurationData implements Serializable, Cloneable {
     private static final long serialVersionUID = 1L;
 
     private String serviceUrl;
+    @JsonIgnore
     private ServiceUrlProvider serviceUrlProvider;
 
     @JsonIgnore