From 537cd0219493040ab2651a4e6128aeddbd27e12b Mon Sep 17 00:00:00 2001 From: Pavol Loffay Date: Tue, 18 Sep 2018 15:32:02 +0200 Subject: [PATCH 1/3] Fix repeated resolving of sender in configuration Signed-off-by: Pavol Loffay --- jaeger-core/src/main/java/io/jaegertracing/Configuration.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/jaeger-core/src/main/java/io/jaegertracing/Configuration.java b/jaeger-core/src/main/java/io/jaegertracing/Configuration.java index c4a6933d9..7bf0ae38f 100644 --- a/jaeger-core/src/main/java/io/jaegertracing/Configuration.java +++ b/jaeger-core/src/main/java/io/jaegertracing/Configuration.java @@ -635,8 +635,7 @@ public Sender getSender() { if (null != sender) { return sender; } - - return SenderResolver.resolve(this); + return (sender = SenderResolver.resolve(this)); } /** From 3bf9ea6fab1f2c474d802b809c05181cfcdf3c2e Mon Sep 17 00:00:00 2001 From: Pavol Loffay Date: Tue, 18 Sep 2018 15:53:45 +0200 Subject: [PATCH 2/3] Add test Signed-off-by: Pavol Loffay --- .../src/test/java/io/jaegertracing/ConfigurationTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jaeger-core/src/test/java/io/jaegertracing/ConfigurationTest.java b/jaeger-core/src/test/java/io/jaegertracing/ConfigurationTest.java index c2472de62..1b7db3572 100644 --- a/jaeger-core/src/test/java/io/jaegertracing/ConfigurationTest.java +++ b/jaeger-core/src/test/java/io/jaegertracing/ConfigurationTest.java @@ -23,6 +23,7 @@ import io.jaegertracing.Configuration.CodecConfiguration; import io.jaegertracing.Configuration.ReporterConfiguration; import io.jaegertracing.Configuration.SamplerConfiguration; +import io.jaegertracing.Configuration.SenderConfiguration; import io.jaegertracing.internal.JaegerSpanContext; import io.jaegertracing.internal.JaegerTracer; import io.jaegertracing.internal.metrics.InMemoryMetricsFactory; @@ -183,6 +184,12 @@ public void testSenderBackwardsCompatibilityGettingAgentHostAndPort() { .getSenderConfiguration().getAgentPort()); } + @Test + public void testSenderInstanceIsCached() { + SenderConfiguration senderConfiguration = SenderConfiguration.fromEnv(); + assertEquals(senderConfiguration.getSender(), senderConfiguration.getSender()); + } + @Test public void testPropagationB3Only() { System.setProperty(Configuration.JAEGER_PROPAGATION, "b3"); From 61f27f76bb1323d40407509ae18c628f779278ac Mon Sep 17 00:00:00 2001 From: Pavol Loffay Date: Wed, 19 Sep 2018 11:43:49 +0200 Subject: [PATCH 3/3] resolve if null Signed-off-by: Pavol Loffay --- .../src/main/java/io/jaegertracing/Configuration.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/jaeger-core/src/main/java/io/jaegertracing/Configuration.java b/jaeger-core/src/main/java/io/jaegertracing/Configuration.java index 7bf0ae38f..70c83abad 100644 --- a/jaeger-core/src/main/java/io/jaegertracing/Configuration.java +++ b/jaeger-core/src/main/java/io/jaegertracing/Configuration.java @@ -631,11 +631,10 @@ public SenderConfiguration withAuthPassword(String password) { * @return the sender passed via the constructor or a properly configured sender */ public Sender getSender() { - // if we have a sender, that's the one we return - if (null != sender) { - return sender; + if (sender == null) { + sender = SenderResolver.resolve(this); } - return (sender = SenderResolver.resolve(this)); + return sender; } /**