phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <els...@apache.org>
Subject Re: Phoenix Query Server tenant_id
Date Thu, 23 Feb 2017 04:16:25 GMT
Also, remember that Bash is going to interpret that semi-colon in your 
URL if you don't quote it. It will be treated as two separate commands:

`/usr/hdp/2.5.0.0-1245/phoenix/bin/sqlline-thin.py 
http://pqs1.mydomain.com:8765` and `TenantId=myTenant`

Please try `/usr/hdp/2.5.0.0-1245/phoenix/bin/sqlline-thin.py 
'http://pqs1.mydomain.com:8765;TenantId=myTenant'`, and, if that still 
does not work, feel free to open a JIRA issue to investigate why this is 
happening.

Michael Young wrote:
> In response to your question:
>  >>So, just that I'm on the same page as you, when you invoke the Java
> application yourself, it works fine, but when you use sqlline-thin.py,
> the extra argument is dropped?
> Yes. The property gets passed when invoking the Java application, but
> not when adding it to the sqllin-thin.py command line.
> It is simple to fix in my local dev test environment, but not in our
> production environment, unfortunately.
> We are using Phoenix 4.7 (from HDP 2.5 Community release).
>
> On Wed, Feb 22, 2017 at 4:07 PM, Josh Elser <elserj@apache.org
> <mailto:elserj@apache.org>> wrote:
>
>     So, just that I'm on the same page as you, when you invoke the Java
>     application yourself, it works fine, but when you use
>     sqlline-thin.py, the extra argument is dropped?
>
>     If so, that just sounds like a bug in sqlline-thin.py that we could
>     fix...
>
>     If you're skilled in Python (or even just adventurous), I'd guess it
>     would be a relatively simple fix :)
>
>     Michael Young wrote:
>
>         Hi Josh,
>
>         you are right, the TenantId property does get passed through
>         when I run
>         the command by hand (see below).
>
>         Phoenix Version: phoenix-4.7.0.2.5.0.0-1245
>
>         java $PHOENIX_OPTS \
>         -cp $CLASSPATH \
>         -Dlog4j.configuration=file:/usr/hdp/2.5.0.0-1245/phoenix/bin/log4j.properties
>         \
>         org.apache.phoenix.queryserver.client.SqllineWrapper \
>         -d org.apache.phoenix.queryserver.client.Driver \
>         -u
>         "jdbc:phoenix:thin:url=http://pqs1.mydomain.com:8765
>         <http://pqs1.mydomain.com:8765>;serialization=PROTOBUF;TenantId=myTenant"
>         \
>         -n none -p none --color=true --fastConnect=false --verbose=true
>         --incremental=false --isolation=TRANSACTION_READ_COMMITTED
>
>         However, with Phoenix version 4.7.0.2.5.0.0-1245 (which comes
>         with HDP
>         2.5), the python script doesn't pass any property along.
>           Here's the
>         obfuscated output when I connect to PQS:
>
>         [prompt]$ /usr/hdp/2.5.0.0-1245/phoenix/bin/sqlline-thin.py
>         http://pqs1.mydomain.com:8765;TenantId=myTenant
>
>         Setting property: [incremental, false]
>         Setting property: [isolation, TRANSACTION_READ_COMMITTED]
>         issuing: !connect
>         jdbc:phoenix:thin:url=http://pqs1.mydomain:8765;serialization=PROTOBUF
>         none none org.apache.phoenix.queryserver.client.Driver
>         Connecting to
>         jdbc:phoenix:thin:url=http://pqs1.mydomain:8765;serialization=PROTOBUF
>         SLF4J: Class path contains multiple SLF4J bindings.
>         SLF4J: Found binding in
>         [jar:file:/usr/hdp/2.5.0.0-1245/phoenix/phoenix-4.7.0.2.5.0.0-1245-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>         SLF4J: Found binding in
>         [jar:file:/usr/hdp/2.5.0.0-1245/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>         SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings
>         <http://www.slf4j.org/codes.html#multiple_bindings> for an
>         explanation.
>         SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
>         Connected to: Apache Phoenix (version unknown version)
>         Driver: Phoenix Remote JDBC Driver (version unknown version)
>         Autocommit status: true
>         Transaction isolation: TRANSACTION_READ_COMMITTED
>         Building list of tables and columns for tab-completion (set
>         fastconnect
>         to true to skip)...
>         7603/7603 (100%) Done
>         Done
>         sqlline version 1.1.8
>         0: jdbc:phoenix:thin:url=http://pqs1.mydomain
>         <http://pqs1.mydomain>> !list
>         1 active connection:
>            #0  open
>         jdbc:phoenix:thin:url=http://pqs1.mydomain:8765;serialization=PROTOBUF
>
>
>         Is this something that has changed in newer versions of Phoenix?
>
>         On Mon, Feb 20, 2017 at 1:47 PM, Josh Elser <elserj@apache.org
>         <mailto:elserj@apache.org>
>         <mailto:elserj@apache.org <mailto:elserj@apache.org>>> wrote:
>
>              See
>         https://github.com/apache/calcite/blob/5181563f9f26d1533a7d98ecca8443077e7b7efa/avatica/core/src/main/java/org/apache/calcite/avatica/remote/Service.java#L1759-L1768
>         <https://github.com/apache/calcite/blob/5181563f9f26d1533a7d98ecca8443077e7b7efa/avatica/core/src/main/java/org/apache/calcite/avatica/remote/Service.java#L1759-L1768>
>         <https://github.com/apache/calcite/blob/5181563f9f26d1533a7d98ecca8443077e7b7efa/avatica/core/src/main/java/org/apache/calcite/avatica/remote/Service.java#L1759-L1768
>         <https://github.com/apache/calcite/blob/5181563f9f26d1533a7d98ecca8443077e7b7efa/avatica/core/src/main/java/org/apache/calcite/avatica/remote/Service.java#L1759-L1768>>
>
>              This should be passed down just fine. If you can provide
>         details as
>              to how it isn't, that'd be great.
>
>
>              Josh Elser wrote:
>
>                  I thought arbitrary properties would be passed through,
>         but I'm
>                  not sure
>                  off the top of my head anymore....
>
>                  Would have to dig through the Avatica JDBC driver to
>         (re)figure
>                  this one
>                  out.
>
>                  Michael Young wrote:
>
>                      Is it possible to pass the TenantID attribute on
>         the URL
>                      when using the
>                      phoenix query server? For example,
>
>                      /usr/hdp/2.5.0.0-1245/phoenix/bin/sqlline-thin.py
>         http://pqshost.myhost.com:8765;TenantId=tenant1
>
>                      This works fine for me when connecting via jdbc.
>         Just didn't
>                      seem to
>                      work with the query server.
>
>                      Thanks,
>                      -Michael
>
>
>
>
>

Mime
View raw message