Support Questions

Find answers, ask questions, and share your expertise

Hue 3.10.0 + HiveServer2 ​with hive.server2.thrift.sasl.qop=auth-conf sometimes(or always on certain conditions) reports a SASL error.

avatar
Contributor

Hue 3.10.0 + HiveServer2 with hive.server2.thrift.sasl.qop=auth-conf sometimes(or always on certain conditions) reports a SASL error shown below:

Error in sasl_decode (-1) SASL(-1): generic failure: Unable to find a callback: 32775 (code THRIFTTRANSPORT): TTransportException('Error in sasl_decode (-1) SASL(-1): generic failure: Unable to find a callback: 32775',)

I can see this message when executing, for example, "select * from db.table limit 12;", but cannot see when executing "select * from db.table limit 11;"... These queries are same only except for "limit" clause.

I searched with that error message, so I found this post:

https://groups.google.com/a/cloudera.org/forum/#!topic/hue-user/0LfySJBERsc

A poster said "Seems hue doesn't play nice with hive.server2.thrift.sasl.qop set to auth-conf. Works OK with only auth though." in this post. Is that also true on Hue 3.10.0? Is it impossible to use sasl.qop=auth-conf on Hue 3.10.0?

1 ACCEPTED SOLUTION

avatar
Contributor

I found a solution... but it's just a quick hack, not an appropriate fix I think.

  1. modify hue/desktop/core/ext-py/sasl-0.1.1/sasl/saslwrapper.cpp to increase maxBufSize.
  2. build it with "python setup.py build" and get a new _saslwrapper.so
  3. replace hue/build/env/lib/python2.6/site-packages/sasl-0.1.1-py2.6-linux-x86_64.egg/_saslwrapper.so with it
  4. restart Hue.

Detail of step 1 and 2 below.

Step 1.

In hue/desktop/core/ext-py/sasl-0.1.1/sasl/saslwrapper.cpp you can find a line "ClientImpl() : conn(0), cbIndex(0), maxBufSize(65535), minSsf(0), maxSsf(65535), externalSsf(0), secret(0) {}" around line 35, so modified maxBufSize to larger value.

Step 2.

In hue/desktop/core/ext-py/sasl-0.1.1, execute "python setup.py build", so you've got _saslwrapper.so in hue/desktop/core/ext-py/sasl-0.1.1/uild/lib.linux-x86_64-2.6/_saslwrapper.so

View solution in original post

4 REPLIES 4

avatar
Contributor

I found a solution... but it's just a quick hack, not an appropriate fix I think.

  1. modify hue/desktop/core/ext-py/sasl-0.1.1/sasl/saslwrapper.cpp to increase maxBufSize.
  2. build it with "python setup.py build" and get a new _saslwrapper.so
  3. replace hue/build/env/lib/python2.6/site-packages/sasl-0.1.1-py2.6-linux-x86_64.egg/_saslwrapper.so with it
  4. restart Hue.

Detail of step 1 and 2 below.

Step 1.

In hue/desktop/core/ext-py/sasl-0.1.1/sasl/saslwrapper.cpp you can find a line "ClientImpl() : conn(0), cbIndex(0), maxBufSize(65535), minSsf(0), maxSsf(65535), externalSsf(0), secret(0) {}" around line 35, so modified maxBufSize to larger value.

Step 2.

In hue/desktop/core/ext-py/sasl-0.1.1, execute "python setup.py build", so you've got _saslwrapper.so in hue/desktop/core/ext-py/sasl-0.1.1/uild/lib.linux-x86_64-2.6/_saslwrapper.so

avatar

Thank you very much for providing an answer.

I'm having some difficulty to understand why SSF is also needed to increase. I'm just wondering accepting (or offering?) higher factor wouldn't require more buffer?

avatar
Contributor

To tell the truth, I don't know what is SSF and what increasing SSF means... There's no need to increase SSF possibly. I'll try later, sorry.

avatar
Contributor

I confirmed that it's not necessary to increase maxSsf, only maxBufSize should be increased for this solution. Thanks @Hajime for your comment! And I'll edit my first answer.