phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Young <yomaiq...@gmail.com>
Subject Re: Phoenix Query Server tenant_id
Date Thu, 23 Feb 2017 18:58:29 GMT
The missing quotes was the issue.  That fixed it.  Thanks!


On Wed, Feb 22, 2017 at 8:16 PM, Josh Elser <elserj@apache.org> wrote:

> 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;Tenan
>> tId=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;serializatio
>> n=PROTOBUF
>>         none none org.apache.phoenix.queryserver.client.Driver
>>         Connecting to
>>         jdbc:phoenix:thin:url=http://pqs1.mydomain:8765;serializatio
>> n=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.Log4jLoggerFac
>> tory]
>>         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;serializatio
>> n=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/5181563f9f26d1533a7d9
>> 8ecca8443077e7b7efa/avatica/core/src/main/java/org/apache/
>> calcite/avatica/remote/Service.java#L1759-L1768
>>         <https://github.com/apache/calcite/blob/5181563f9f26d1533a7d
>> 98ecca8443077e7b7efa/avatica/core/src/main/java/org/apache/
>> calcite/avatica/remote/Service.java#L1759-L1768>
>>         <https://github.com/apache/calcite/blob/5181563f9f26d1533a7d
>> 98ecca8443077e7b7efa/avatica/core/src/main/java/org/apache/
>> calcite/avatica/remote/Service.java#L1759-L1768
>>         <https://github.com/apache/calcite/blob/5181563f9f26d1533a7d
>> 98ecca8443077e7b7efa/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