You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2015/12/15 22:59:46 UTC

[jira] [Created] (PHOENIX-2531) Phoenix thin-client jar has incorrect META-INF/services/java.sql.Driver file

Josh Elser created PHOENIX-2531:
-----------------------------------

             Summary: Phoenix thin-client jar has incorrect META-INF/services/java.sql.Driver file
                 Key: PHOENIX-2531
                 URL: https://issues.apache.org/jira/browse/PHOENIX-2531
             Project: Phoenix
          Issue Type: Bug
            Reporter: Josh Elser
            Assignee: Josh Elser
            Priority: Blocker
             Fix For: 4.7.0


Trying to hook up the thin-client to pherf, I was having some troubles with being unable to find the thin-client Driver. I knew that we should be getting it loaded by the service definition contained in the jar {{META-INF/services/java.sql.Driver}}.

Upon inspection of the "normal" jar produced by {{phoenix-server-client}}, the contents of the file were as we expect {{org.apache.phoenix.queryserver.client.Driver}}. However, the top-level "thin-client" jar we bundle in the tarball had a value of {{org.apache.calcite.avatica.remote.Driver}} instead.

It seems like when we built {{phoenix-$VERSION-thin-client.jar}} (jar-with-dependencies is all it is, really), Avatica's {{META-INF/services/java.sql.Driver}} was overwriting the copy we had in {{phoenix-server-client/src/main/resources}}. I'm not sure how/why we didn't notice this yet (for example, why did sqlline-thin.py work?), but it's definitely busted for how it _should_ work.

It's a simple enough fix to explicitly set the file in the assembly descriptor.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)