org.apache.hadoop.hive.metastore
Class TUGIBasedProcessor<I extends ThriftHiveMetastore.Iface>

java.lang.Object
  extended by org.apache.thrift.TBaseProcessor
      extended by com.facebook.fb303.FacebookService.Processor
          extended by org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Processor<ThriftHiveMetastore.Iface>
              extended by org.apache.hadoop.hive.metastore.TUGIBasedProcessor<I>
All Implemented Interfaces:
org.apache.thrift.TProcessor

public class TUGIBasedProcessor<I extends ThriftHiveMetastore.Iface>
extends ThriftHiveMetastore.Processor<ThriftHiveMetastore.Iface>

TUGIBasedProcessor is used in unsecure mode for thrift metastore client server communication. This processor checks whether the first rpc call after connection is set up is set_ugi() through which client sends ugi to server. Processor then perform all subsequent rpcs on the connection using ugi.doAs() so all actions are performed in client user context. Note that old clients will never call set_ugi() and thus ugi will never be received on server side, in which case server exhibits previous behavior and continues as usual.


Constructor Summary
TUGIBasedProcessor(I iface)
           
 
Method Summary
 boolean process(org.apache.thrift.protocol.TProtocol in, org.apache.thrift.protocol.TProtocol out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TUGIBasedProcessor

public TUGIBasedProcessor(I iface)
                   throws SecurityException,
                          NoSuchFieldException,
                          IllegalArgumentException,
                          IllegalAccessException,
                          NoSuchMethodException,
                          InvocationTargetException
Throws:
SecurityException
NoSuchFieldException
IllegalArgumentException
IllegalAccessException
NoSuchMethodException
InvocationTargetException
Method Detail

process

public boolean process(org.apache.thrift.protocol.TProtocol in,
                       org.apache.thrift.protocol.TProtocol out)
                throws org.apache.thrift.TException
Specified by:
process in interface org.apache.thrift.TProcessor
Overrides:
process in class org.apache.thrift.TBaseProcessor
Throws:
org.apache.thrift.TException


Copyright © 2011 The Apache Software Foundation