Hi Ted, I'm not familiar with this code--maybe someone else from hive-dev knows the answer, but it looks like Thrift-generated code (I can't access the patch at the moment because JIRA seems to be inaccessible).
JVS On Apr 9, 2010, at 11:36 AM, Ted Yu wrote: John: I see the following code in hive- 417-2009-07-18.patch<https://issues.apache.org/jira/secure/attachment/12413928/hive-417%EF%BC%8D2009-07-18.patch>: + private class create_index implements ProcessFunction { + public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException + { + create_index_args args = new create_index_args(); + args.read(iprot); + iprot.readMessageEnd(); + create_index_result result = new create_index_result(); + try { + iface_.create_index(args. index); + } catch (AlreadyExistsException o1) { + result.o1 = o1; + } catch (InvalidObjectException o2) { + result.o2 = o2; What's the rational behind using multiple fields to send back exception information ? Thanks