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.TSetIpAddressProcessor<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 TSetIpAddressProcessor<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)
           
protected  void setIpAddress(org.apache.thrift.protocol.TProtocol in)
           
 
Methods inherited from class org.apache.hadoop.hive.metastore.TSetIpAddressProcessor
setIpAddress
 
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 TSetIpAddressProcessor<ThriftHiveMetastore.Iface>
Throws:
org.apache.thrift.TException

setIpAddress

protected void setIpAddress(org.apache.thrift.protocol.TProtocol in)
Overrides:
setIpAddress in class TSetIpAddressProcessor<ThriftHiveMetastore.Iface>


Copyright © 2011 The Apache Software Foundation