[ 
https://issues.apache.org/jira/browse/THRIFT-3964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15674867#comment-15674867
 ] 

ASF GitHub Bot commented on THRIFT-3964:
----------------------------------------

GitHub user garydgregory opened a pull request:

    https://github.com/apache/thrift/pull/1134

    [THRIFT-3964] Unsupported mechanism type ????? due to dependency on default 
OS-dependent charset

    See https://issues.apache.org/jira/browse/THRIFT-3964

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/garydgregory/thrift master

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/1134.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1134
    
----
commit 2d2be6e6104c81106124ad9724075d14b075c9cc
Author: Gary Gregory <[email protected]>
Date:   2016-11-17T21:15:51Z

    [THRIFT-3964]
    
    Unsupported mechanism type ????? due to dependency on default
    OS-dependent charset

commit 90e1f1aa50e6a5bc82b0299e56d8711de55345a7
Author: Gary Gregory <[email protected]>
Date:   2016-11-17T21:32:00Z

    Merge remote-tracking branch 'upstream/master'

----


> Unsupported mechanism type ????? due to dependency on default OS-dependent 
> charset
> ----------------------------------------------------------------------------------
>
>                 Key: THRIFT-3964
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3964
>             Project: Thrift
>          Issue Type: Bug
>          Components: Java - Library
>    Affects Versions: 0.9.3
>         Environment: Client:
> Java(TM) SE Runtime Environment (build pmz6480sr3-20160428_01(SR3))
> IBM J9 VM (build 2.8, JRE 1.8.0 z/OS s390x-64 Compressed References 
> 20160427_301573 (JIT enabled, AOT enabled)
> J9VM - R28_Java8_SR3_20160427_1620_B301573
> JIT  - tr.r14.java.green_20160329_114288
> GC   - R28_Java8_SR3_20160427_1620_B301573_CMPRSS
> J9CL - 20160427_301573)
> JCL - 20160421_01 based on Oracle jdk8u91-b14
> Server:
> java version "1.7.0_95"
> OpenJDK Runtime Environment (rhel-2.6.4.0.el6_7-x86_64 u95-b00)
> OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
>            Reporter: Gary Gregory
>            Priority: Blocker
>         Attachments: THRIFT-3964-ggregory.diff
>
>
> Thrift is bound to the OS dependent default charset which cause errors like 
> this on the client:
> {noformat}
> 20:44:51,638 WARN  
> [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (XNIO-1 task-4)  
> IJ000604: Throwable while attempting to get a new connection: null: 
> javax.resource.ResourceException: IJ031084: Unable to create connection
>         at 
> org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:336)
>         at 
> org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:343)
>         at 
> org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:278)
>         at 
> org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.createConnectionEventListener(SemaphoreArrayListManagedConnectionPool.java:1289)
>         at 
> org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:492)
>         at 
> org.jboss.jca.core.connectionmanager.pool.AbstractPool.internalTestConnection(AbstractPool.java:1071)
>         at 
> org.jboss.jca.core.connectionmanager.pool.strategy.OnePool.testConnection(OnePool.java:91)
>         at 
> org.jboss.as.connector.subsystems.common.pool.PoolOperations$TestConnectionInPool.invokeCommandOn(PoolOperations.java:232)
>         at 
> org.jboss.as.connector.subsystems.common.pool.PoolOperations$1.execute(PoolOperations.java:88)
>         at 
> org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:803)
>         at 
> org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:601)
>         at 
> org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:354)
>         at 
> org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:330)
>         at 
> org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1183)
>         at 
> org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:362)
>         at 
> org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:218)
>         at 
> org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:208)
>         at 
> io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
>         at 
> org.jboss.as.domain.http.server.security.SubjectDoAsHandler$1.run(SubjectDoAsHandler.java:72)
>         at 
> org.jboss.as.domain.http.server.security.SubjectDoAsHandler$1.run(SubjectDoAsHandler.java:68)
>         at 
> java.security.AccessController.doPrivileged(AccessController.java:686)
>         at javax.security.auth.Subject.doAs(Subject.java:569)
>         at 
> org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:92)
>         at 
> org.jboss.as.domain.http.server.security.SubjectDoAsHandler.handleRequest(SubjectDoAsHandler.java:68)
>         at 
> org.jboss.as.domain.http.server.security.SubjectDoAsHandler.handleRequest(SubjectDoAsHandler.java:63)
>         at 
> io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
>         at 
> org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:95)
>         at 
> io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
>         at 
> io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
>         at 
> io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>         at java.lang.Thread.run(Thread.java:785)
> Caused by: java.sql.SQLException: Could not open client transport with JDBC 
> Uri: jdbc:hive2://wal-vm-pglinux01:10000: Peer indicated failure: Unsupported 
> mechanism type ?????
>         at 
> org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:207)
>         at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:152)
>         at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
>         at 
> org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:312)
>         ... 32 more
> Caused by: org.apache.thrift.transport.TTransportException: Peer indicated 
> failure: Unsupported mechanism type ?????
>         at 
> org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:199)
>         at 
> org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:307)
>         at 
> org.apache.thrift.transport.TSaslClientTransport.open(TSaslClientTransport.java:37)
>         at 
> org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:181)
>         ... 35 more
> {noformat}
> and this on the server side:
> {noformat}
> 2016-11-07T20:06:03,001 ERROR 
> [b98a0b99-ae01-4183-b8e3-9f42b53f4df6b98a0b99-ae01-4183-b8e3-9f42b53f4df67b9491d1-bd65-4a08-bf18-ec88b93cb7407b9491d1-bd65-4a08-bf18-ec88b93cb7405a11fcc6-c922-487d-85be-4d940f7571f15a11fcc6-c922-487d-85be-4d940f7571f17f2106bf-8a1c-4536-9fdc-f1aee79f220a7f2106bf-8a1c-4536-9fdc-f1aee79f220a7a2e8f05-8386-49f7-b352-0e76cb3c89387a2e8f05-8386-49f7-b352-0e76cb3c8938HiveServer2-Handler-Pool:
>  Thread-84]: server.TThreadPoolServer (TThreadPoolServer.java:run(297)) - 
> Error occurred during processing of message.
> java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: 
> Unsupported mechanism type �����
>       at 
> org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
>  ~[hive-exec-2.0.0.jar:2.0.0]
>       at 
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:269)
>  [hive-exec-2.0.0.jar:2.0.0]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  [?:1.7.0_101]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [?:1.7.0_101]
>       at java.lang.Thread.run(Thread.java:745) [?:1.7.0_101]
> Caused by: org.apache.thrift.transport.TTransportException: Unsupported 
> mechanism type �����
>       at 
> org.apache.thrift.transport.TSaslTransport.sendAndThrowMessage(TSaslTransport.java:232)
>  ~[hive-exec-2.0.0.jar:2.0.0]
>       at 
> org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:138)
>  ~[hive-exec-2.0.0.jar:2.0.0]
>       at 
> org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:271) 
> ~[hive-exec-2.0.0.jar:2.0.0]
>       at 
> org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
>  ~[hive-exec-2.0.0.jar:2.0.0]
>       at 
> org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
>  ~[hive-exec-2.0.0.jar:2.0.0]
>       ... 4 more
> {noformat}
> The culprit is code like what Thrift has in 
> {{org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage()}}:
> {code:java}
>     // Get the mechanism name.
>     String mechanismName = new String(message.payload);
> {code}
> Instead of something like:
> {code:java}
>     // Get the mechanism name.
>     String mechanismName = new String(message.payload, "UTF-8");
> {code}



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

Reply via email to