eolivelli commented on a change in pull request #10428:
URL: https://github.com/apache/pulsar/pull/10428#discussion_r635953777



##########
File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/util/SchemaUtil.java
##########
@@ -88,8 +90,10 @@ public static Schema extractAvroSchema(SchemaDefinition 
schemaDefinition, Class
         try {
             return 
parseAvroSchema(pojo.getDeclaredField("SCHEMA$").get(null).toString());
         } catch (NoSuchFieldException | IllegalAccessException | 
IllegalArgumentException ignored) {
-            return schemaDefinition.getAlwaysAllowNull() ? 
ReflectData.AllowNull.get().getSchema(pojo)
-                    : ReflectData.get().getSchema(pojo);
+            ReflectData reflectData = schemaDefinition.getAlwaysAllowNull() ? 
ReflectData.AllowNull.get()
+                    : ReflectData.get();
+            AvroSchema.addLogicalTypeConversions(reflectData, 
schemaDefinition.isJsr310ConversionEnabled());

Review comment:
       @vroyer 
   I share @sijie's concern.
   I didn't notice that we are modifying a singleton.
   we could initialise it only once 
   
   but I cannot understand how it can work with 
`schemaDefinition.isJsr310ConversionEnabled())`, that depends on a particular 
schema.
   if we have two schemas with different values for isJsr310ConversionEnabled, 
we will have a race and it may happen that we use the wrong configuration 
(redarding isJsr310ConversionEnabled) 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to