Github user zentol commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4545#discussion_r133218223
  
    --- Diff: flink-connectors/flink-connector-cassandra/pom.xml ---
    @@ -83,6 +85,10 @@ under the License.
                                                                                
<exclude>com.google.inject.**</exclude>
                                                                        
</excludes>
                                                                </relocation>
    +                                                           <relocation>
    +                                                                   
<pattern>io.netty</pattern>
    +                                                                   
<shadedPattern>org.apache.flink.shaded.netty4.io.netty</shadedPattern>
    --- End diff --
    
    you are relocating cassandra indirect netty dependency into the same 
namespace as Flink direct netty dependency, which will lead to dependency 
conflicts (because the sole way of distinguishing between class veresions, the 
package declaration, is identical).
    
    The `shadedPattern` should be `org.apache.flink.cassandra.shaded.io.netty` 
instead.
    
    * This is in line with the guava relocation (in the same file).
    * the cassandra prefix introduces another layer of uniqueness which makes 
dependency conflicts less likely.
    * I want to reserve the `org.apache.flink.shaded` namespace for 
dependencies from `flink-shaded`, to avoid accidental dependency clashes from 
being created (which would have happened had we merged the PR as is)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to