lhotari commented on code in PR #23600:
URL: https://github.com/apache/pulsar/pull/23600#discussion_r1845971020


##########
pulsar-client/pom.xml:
##########
@@ -207,6 +207,16 @@
       <scope>test</scope>
     </dependency>
 
+    <dependency>
+      <groupId>org.roaringbitmap</groupId>
+      <artifactId>RoaringBitmap</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>it.unimi.dsi</groupId>
+      <artifactId>fastutil</artifactId>
+    </dependency>

Review Comment:
   It will be necessary to update `pulsar-client-shaded` and 
`pulsar-client-all` shading configuration to shade these libraries since they 
haven't been used on the client by now. 
   
   Avoiding client jar growth is something that we would need to address when 
adding new dependencies.
   
   I realized that including the `fastuti` library will increase the client jar 
file size significantly. One detail about fastutil is that there's a smaller 
library alternative `fastutil-core` which includes a subset of the classes. 
`fastutil` is about 23MB and `fastutil-core` is about 6MB. 
   
   Picking only the classes that are needed from fastutil is possible with 
`minimizeJar` with maven's shade plugin, but since `minimizeJar` is a global 
setting, it would require building a minimized version of fastutil for the 
client usage to pick only the classes are needed since applying `minimizeJar` 
to the complete Pulsar client jar would be a very large change which could 
break things.



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to