Review Request 45525: HIVE-12484 : Show meta operations on HS2 web UI

2016-03-30 Thread Mohit Sabharwal

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45525/
---

Review request for hive.


Bugs: HIVE-12484
https://issues.apache.org/jira/browse/HIVE-12484


Repository: hive-git


Description
---

HIVE-12484 : Show meta operations on HS2 web UI

Expands display availablity to meta operations
as well as "set" ("command") operations. 

Moves OperationDisplay to Operation level.

Added getDisplayQuery() method for all meta 
operations to specify the query string to 
display in the UI.


Diffs
-

  
itests/hive-unit/src/test/java/org/apache/hive/service/cli/session/TestQueryDisplay.java
 418f71eb87cdd519677b2f5a59c67099f704ec80 
  ql/src/java/org/apache/hadoop/hive/ql/QueryDisplay.java 
d582bc063fc150002a01d63451ae6632fca29ac1 
  service/src/jamon/org/apache/hive/tmpl/QueryProfileTmpl.jamon 
8d51a73f7ac6c5eb5fe44c5525ed840b641c5c6b 
  
service/src/java/org/apache/hive/service/cli/operation/GetCatalogsOperation.java
 8868ec18e0f50f6a434eb0498e4a923b0a151b97 
  
service/src/java/org/apache/hive/service/cli/operation/GetColumnsOperation.java 
35b6c5209025a0e9b5c3732493afd9d30d4f4a1f 
  
service/src/java/org/apache/hive/service/cli/operation/GetFunctionsOperation.java
 8db2e62604345a2d3b9193c497080f3f2977f2ac 
  
service/src/java/org/apache/hive/service/cli/operation/GetSchemasOperation.java 
d6f6280f1c398fa0239cb52070ff8c40168215bf 
  
service/src/java/org/apache/hive/service/cli/operation/GetTableTypesOperation.java
 a09b39a4e0855152925085e46b2e0a703b32de7f 
  
service/src/java/org/apache/hive/service/cli/operation/GetTablesOperation.java 
740b85158a6008ecece592d72cd743d8f5a433f4 
  
service/src/java/org/apache/hive/service/cli/operation/GetTypeInfoOperation.java
 2a0fec27715daba4307f661a6f65c3cd4d43c975 
  
service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java
 f5a9771449a7cc1fb5ac5c0b6f2fd6ab032a2162 
  service/src/java/org/apache/hive/service/cli/operation/MetadataOperation.java 
285b4f94ec828a357da4c2e7dc96c64bd459ff80 
  service/src/java/org/apache/hive/service/cli/operation/Operation.java 
d9a273b1b95adf7a6a68fa013042da2408904d64 
  service/src/java/org/apache/hive/service/cli/operation/OperationDisplay.java 
PRE-CREATION 
  
service/src/java/org/apache/hive/service/cli/operation/OperationDisplayCache.java
 PRE-CREATION 
  service/src/java/org/apache/hive/service/cli/operation/OperationManager.java 
56a9c18bc118b8d67f87e5500ec7d4442a90a869 
  service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java 
04d816a72afcadbff26f5eb5d68003a7344e31c9 
  
service/src/java/org/apache/hive/service/cli/operation/SQLOperationDisplay.java 
d2ca1e7b79e9722ad0ce990e96bf3fc9297ca7fd 
  
service/src/java/org/apache/hive/service/cli/operation/SQLOperationDisplayCache.java
 4a33d37a88a7216d832a5b9ab4b7534091129be7 
  service/src/java/org/apache/hive/service/servlet/QueryProfileServlet.java 
8fa447a386c5a7a000b04453618f502e1681364e 
  service/src/resources/hive-webapps/hiveserver2/hiveserver2.jsp 
8b46550b603a51ba6143c36746029475d7e11a40 

Diff: https://reviews.apache.org/r/45525/diff/


Testing
---

Tested with different sql, metadata and set operations.
Added tests to TestQueryDisplay


Thanks,

Mohit Sabharwal



[jira] [Created] (HIVE-13397) ORC CompressedStream.read implementation not compatible with SerializationUtils in exceptional case

2016-03-30 Thread Yuxing Yao (JIRA)
Yuxing Yao created HIVE-13397:
-

 Summary: ORC CompressedStream.read implementation not compatible 
with SerializationUtils in exceptional case
 Key: HIVE-13397
 URL: https://issues.apache.org/jira/browse/HIVE-13397
 Project: Hive
  Issue Type: Bug
Reporter: Yuxing Yao


I used a orc file with some bytes corrupt to test whether the reader is 
vulnerable to attacks. And I found there's a point in CompressedStream not 
acting correctly when handling the exceptional case, and will cause a infinite 
loop.
In
org.apache.hadoop.hive.ql.io.orc.InStream$CompressedStream.read(byte[] data, 
int offset, int length)
when the data is incorrect, it will return -1 to mark that is exceptional case, 
(Not throwing exception which is the right behavior for this buffered read).
and in 
SerializationUtils.readLongBE(InStream in, long[] buffer, int start, int 
numHops, int numBytes)
// bulk read to buffer
int bytesRead = in.read(readBuffer, 0, toRead);
while (bytesRead != toRead) {
  bytesRead += in.read(readBuffer, bytesRead, toRead - bytesRead);
}
it do not check the -1 return value. and add the the bytesRead directly, which 
caused the infinite loop.
Either change the read to throw exception or add -1 check here can fix this.




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


[jira] [Created] (HIVE-13396) LLAP: Include hadoop-metrics2.properties file LlapServiceDriver

2016-03-30 Thread Prasanth Jayachandran (JIRA)
Prasanth Jayachandran created HIVE-13396:


 Summary: LLAP: Include hadoop-metrics2.properties file 
LlapServiceDriver
 Key: HIVE-13396
 URL: https://issues.apache.org/jira/browse/HIVE-13396
 Project: Hive
  Issue Type: Bug
  Components: llap
Affects Versions: 2.1.0
Reporter: Prasanth Jayachandran
Assignee: Prasanth Jayachandran
 Attachments: HIVE-13396.1.patch

LlapServiceDriver should package hadoop-metrics2.properties file to support 
dumping llap daemon metrics to hadoop metric sinks. 



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


[jira] [Created] (HIVE-13395) Lost Update problem in ACID

2016-03-30 Thread Eugene Koifman (JIRA)
Eugene Koifman created HIVE-13395:
-

 Summary: Lost Update problem in ACID
 Key: HIVE-13395
 URL: https://issues.apache.org/jira/browse/HIVE-13395
 Project: Hive
  Issue Type: Bug
  Components: Transactions
Affects Versions: 2.0.0, 1.2.0
Reporter: Eugene Koifman
Assignee: Eugene Koifman
Priority: Critical


ACID users can run into Lost Update problem.
In Hive 1.2, Driver.recordValidTxns() (which records the snapshot to use for 
the query) is called in Driver.compile().

Now suppose to concurrent "update T set x = x + 1" are executed.  (for 
simplicity assume there is exactly 1 row in T)

What can happen is that both compile at the same time (more precisely before 
acquireLocksAndOpenTxn() in runInternal() is called) and thus will lock in the 
same snapshot, say the value of x = 7 in this snapshot.

Now 1 will get the lock on the row, the second will block.  
Now 1, makes x = 8 and commits.
Now 2 proceeds and makes x = 8 again since in it's snapshot x is still 7.

This specific issue is solved in Hive 1.3/2.0 (HIVE-11077 which is a large 
patch that deals with multi-statement txns) by moving recordValidTxns() after 
locks are acquired which reduces the likelihood of this but doesn't eliminate 
the problem.

Even in 1.3 version of the code, you could have the same issue.  Assume the 
same 2 queries:
Both start a txn, say txnid 9 and 10.  Say 10 gets the lock first, 9 blocks.
10 updates the row (so x = 8) and thus ReaderKey.currentTransactionId=10.
10 commits.
Now 9 can proceed and it will get a snapshot that includes 10, i.e. it will see 
x = 8 and it will write x = 9, but it will set ReaderKey.currentTransactionId = 
9.  Thus when merge logic runs, it will see x = 8 is the later version of this 
row, i.e. lost update.

The problem is that locks alone are insufficient for MVCC architecture.  

At lower level Row ID has (originalTransactionId, rowid, bucket id, 
currentTransactionId) and since on update/delete we do a table scan, we could 
check that we are about to write a row with currentTransactionId < 
(currentTransactionId of row we've read) and fail the query.  Currently, 
currentTransactionId is not surfaced at higher level where this check can be 
made.

This would not work (efficiently) longer term where we want to support fast 
update on user defined PK vis streaming ingest.

Also, this would not work with multi statement txns since in that case we'd 
lock in the snapshot at the start of the txn, but then 2nd, 3rd etc queries 
would use the same snapshot and the locks for these queries would be acquired 
after the snapshot is locked in so this would be the same situation as pre 
HIVE-11077.

 
A more robust solution (commonly used with MVCC) is to keep track of start and 
commit time (logical counter) or each transaction to detect if two txns 
overlap.  The 2nd part is to keep track of write-set, i.e. which data (rows, 
partitions, whatever appropriate level of granularity is) were modified by any 
txn and if 2 txns overlap in time and wrote the same element, abort later one.  
This is called first-committer-wins rule.  This requires a MS DB schema change

It would be most convenient to use the same sequence for txnId, start and 
commit time (in which case txnid=start time).  In this case we'd need to add 1 
filed to TXNS table.  The complication here is that we'll be using elements of 
the sequence faster and they are used as part of file name of delta and base 
dir and currently limited to 7 digits which can be exceeded.  So this would 
require some thought to handling upgrade/migration.

Also, write-set tracking requires either additional metastore table or keeping 
info in HIVE_LOCKS around longer with new state.


In the short term, on SQL side of things we could (in auto commit mode only)
acquire the locks first and then open the txn AND update these locks with txn 
id.
This implies another Thrift change to pass in lockId to openTxn.

The same would not work for Streaming API since it opens several txns at once 
and then acquires locks for each.
(Not sure if that's is an issue or not since Streaming only does Insert).

Either way this feels hacky.

Here is one simple example why we need Write-Set tracking for multi-statement 
txns

Consider transactions T ~1~ and T ~2~:
T ~1~: r ~1~\[x] -> w ~1~\[y] -> c ~1~ 
T ~2~: w ~2~\[x] -> w ~2~\[y] -> c ~2~  

Suppose the order of operations is r ~1~\[x] w ~2~\[x] then a conventional 
R/W lock manager w/o MVCSS will block the write from T ~2~ 

With MVCC we don't want readers to interfere with writers and so the following 
schedule is possible (because Hive's semi-shared (write) don't conflict with 
shared (read) locks) in Hive's current implementation.

r ~1~\[x] w ~2~\[x] w ~2~\[y] c ~2~ w ~1~\[y] c ~1~

By the time w ~1~\[y] happens, T ~2~ has committed and released it's locks.  

[jira] [Created] (HIVE-13394) Analyze table fails in tez on empty partitions

2016-03-30 Thread Vikram Dixit K (JIRA)
Vikram Dixit K created HIVE-13394:
-

 Summary: Analyze table fails in tez on empty partitions
 Key: HIVE-13394
 URL: https://issues.apache.org/jira/browse/HIVE-13394
 Project: Hive
  Issue Type: Bug
  Components: Tez
Affects Versions: 2.0.0, 1.2.1
Reporter: Vikram Dixit K
Assignee: Vikram Dixit K


{code}
at 
org.apache.hadoop.hive.ql.exec.tez.ReduceRecordSource$GroupIterator.next(ReduceRecordSource.java:352)
at 
org.apache.hadoop.hive.ql.exec.tez.ReduceRecordSource.pushRecord(ReduceRecordSource.java:237)
at 
org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.run(ReduceRecordProcessor.java:252)
at 
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:150)
... 14 more
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: 
java.lang.ArrayIndexOutOfBoundsException: 0
at 
org.apache.hadoop.hive.ql.exec.GroupByOperator.process(GroupByOperator.java:766)
at 
org.apache.hadoop.hive.ql.exec.tez.ReduceRecordSource$GroupIterator.next(ReduceRecordSource.java:343)
... 17 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at 
org.apache.hadoop.hive.ql.udf.generic.NumDistinctValueEstimator.deserialize(NumDistinctValueEstimator.java:219)
at 
org.apache.hadoop.hive.ql.udf.generic.NumDistinctValueEstimator.(NumDistinctValueEstimator.java:112)
at 
org.apache.hadoop.hive.ql.udf.generic.GenericUDAFComputeStats$GenericUDAFNumericStatsEvaluator.merge(GenericUDAFComputeStats.java:556)
at 
org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator.aggregate(GenericUDAFEvaluator.java:188)
at 
org.apache.hadoop.hive.ql.exec.GroupByOperator.updateAggregations(GroupByOperator.java:612)
at 
org.apache.hadoop.hive.ql.exec.GroupByOperator.processAggr(GroupByOperator.java:851)
at 
org.apache.hadoop.hive.ql.exec.GroupByOperator.processKey(GroupByOperator.java:695)
at 
org.apache.hadoop.hive.ql.exec.GroupByOperator.process(GroupByOperator.java:761)
... 18 more
]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 
killedTasks:0, Vertex vertex_145591034_27748_1_01 [Reducer 2] killed/failed 
due to:OWN_TASK_FAILURE]DAG did not succeed due to VERTEX_FAILURE. 
failedVertices:1 killedVertices:0
{code}



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


[jira] [Created] (HIVE-13393) Beeline: Print help message for the --incremental option

2016-03-30 Thread Vaibhav Gumashta (JIRA)
Vaibhav Gumashta created HIVE-13393:
---

 Summary: Beeline: Print help message for the --incremental option
 Key: HIVE-13393
 URL: https://issues.apache.org/jira/browse/HIVE-13393
 Project: Hive
  Issue Type: Bug
  Components: Beeline
Affects Versions: 2.0.0, 1.2.1
Reporter: Vaibhav Gumashta
Assignee: Vaibhav Gumashta


beeline --help doesn't print the usage tips for the --incremental option.



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


[jira] [Created] (HIVE-13392) disable speculative execution for ACID Compactor

2016-03-30 Thread Eugene Koifman (JIRA)
Eugene Koifman created HIVE-13392:
-

 Summary: disable speculative execution for ACID Compactor
 Key: HIVE-13392
 URL: https://issues.apache.org/jira/browse/HIVE-13392
 Project: Hive
  Issue Type: Bug
  Components: Transactions
Affects Versions: 1.0.0
Reporter: Eugene Koifman
Assignee: Eugene Koifman


https://developer.yahoo.com/hadoop/tutorial/module4.html
Speculative execution is enabled by default. You can disable speculative 
execution for the mappers and reducers by setting the 
mapred.map.tasks.speculative.execution and 
mapred.reduce.tasks.speculative.execution JobConf options to false, 
respectively.

CompactorMR is currently not set up to handle speculative execution and may 
lead to something like

{code}
2016-02-08 22:56:38,256 WARN [main] org.apache.hadoop.mapred.YarnChild: 
Exception running child : 
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException):
 Failed to CREATE_FILE 
/apps/hive/warehouse/service_logs_v2/ds=2016-01-20/_tmp_6cf08b9f-c2e2-4182-bc81-e032801b147f/base_13858600/bucket_4
 for DFSClient_attempt_1454628390210_27756_m_01_1_131224698_1 on 
172.18.129.12 because this file lease is currently owned by 
DFSClient_attempt_1454628390210_27756_m_01_0_-2027182532_1 on 172.18.129.18
at 
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.recoverLeaseInternal(FSNamesystem.java:2937)
at 
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:2562)
at 
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2451)
at 
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:2335)
at 
org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:688)
at 
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:397)
at 
org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
at 
org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:969)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2151)
{code}

Short term: disable speculative execution for this job
Longer term perhaps make each task write to dir with UUID...





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


[jira] [Created] (HIVE-13391) add an option to LLAP to use keytab to read data

2016-03-30 Thread Sergey Shelukhin (JIRA)
Sergey Shelukhin created HIVE-13391:
---

 Summary: add an option to LLAP to use keytab to read data
 Key: HIVE-13391
 URL: https://issues.apache.org/jira/browse/HIVE-13391
 Project: Hive
  Issue Type: Bug
Reporter: Sergey Shelukhin
Assignee: Sergey Shelukhin


This can be used for non-doAs case to allow access to clients who don't 
propagate HDFS tokens.



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


[jira] [Created] (HIVE-13390) HiveServer2: Add more test to ZK service discovery using MiniHS2

2016-03-30 Thread Vaibhav Gumashta (JIRA)
Vaibhav Gumashta created HIVE-13390:
---

 Summary: HiveServer2: Add more test to ZK service discovery using 
MiniHS2
 Key: HIVE-13390
 URL: https://issues.apache.org/jira/browse/HIVE-13390
 Project: Hive
  Issue Type: Bug
Reporter: Vaibhav Gumashta
Assignee: Vaibhav Gumashta






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


[jira] [Created] (HIVE-13389) LLAP external submission client ends up attempting to find an LLAP instance based on the submitting user instead of the hive user

2016-03-30 Thread Jason Dere (JIRA)
Jason Dere created HIVE-13389:
-

 Summary: LLAP external submission client ends up attempting to 
find an LLAP instance based on the submitting user instead of the hive user
 Key: HIVE-13389
 URL: https://issues.apache.org/jira/browse/HIVE-13389
 Project: Hive
  Issue Type: Sub-task
  Components: llap
Reporter: Jason Dere
Assignee: Jason Dere


In the LLAP external client, the LLAP Zookeeper registry creates the Zk path 
based on the current user, but the user specified here should really be the 
user running LLAP.



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


[jira] [Created] (HIVE-13388) Fix inconsistent content due to Thrift changes

2016-03-30 Thread Wei Zheng (JIRA)
Wei Zheng created HIVE-13388:


 Summary: Fix inconsistent content due to Thrift changes
 Key: HIVE-13388
 URL: https://issues.apache.org/jira/browse/HIVE-13388
 Project: Hive
  Issue Type: Bug
  Components: Hive
Affects Versions: 2.1.0
Reporter: Wei Zheng
Assignee: Wei Zheng


HIVE-12442 and HIVE-12862 are related here.

If one wants to make some thrift change by following instruction here:
https://cwiki.apache.org/confluence/display/Hive/HowToContribute#HowToContribute-GeneratingThriftCode
When they first execute (i.e. in a clean environment)
{code}
mvn clean install -Pthriftif -DskipTests -Dthrift.home=/usr/local -Phadoop-2
{code}
The following content will show up
{code}
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add ..." to include in what will be committed)

service-rpc/src/gen/thrift/gen-py/__init__.py
service/src/gen/

nothing added to commit but untracked files present (use "git add" to track)
{code}

They should have been included in the codebase.



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


[jira] [Created] (HIVE-13387) Beeline fails silently from missing dependency

2016-03-30 Thread Reuben Kuhnert (JIRA)
Reuben Kuhnert created HIVE-13387:
-

 Summary: Beeline fails silently from missing dependency
 Key: HIVE-13387
 URL: https://issues.apache.org/jira/browse/HIVE-13387
 Project: Hive
  Issue Type: Task
Reporter: Reuben Kuhnert
Assignee: Reuben Kuhnert
Priority: Minor


Beeline fails to connect because {{HiveSqlException}} dependency is not on 
classpath:

{code}
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at 
org.apache.hive.beeline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:52)
at 
org.apache.hive.beeline.BeeLine.execCommandWithPrefix(BeeLine.java:1077)
at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:1116)
at org.apache.hive.beeline.BeeLine.initArgs(BeeLine.java:762)
at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:841)
at 
org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:493)
at org.apache.hive.beeline.BeeLine.main(BeeLine.java:476)
Caused by: java.lang.NoClassDefFoundError: 
org/apache/hive/service/cli/HiveSQLException
at org.apache.hive.jdbc.HiveConnection.(HiveConnection.java:131)
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:187)
at 
org.apache.hive.beeline.DatabaseConnection.connect(DatabaseConnection.java:141)
at 
org.apache.hive.beeline.DatabaseConnection.getConnection(DatabaseConnection.java:205)
at org.apache.hive.beeline.Commands.connect(Commands.java:1393)
at org.apache.hive.beeline.Commands.connect(Commands.java:1314)
... 11 more
Caused by: java.lang.ClassNotFoundException: 
org.apache.hive.service.cli.HiveSQLException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 19 more
{code}

This happens when trying to run beeline as a standalone java application:

{code}
sircodesalot@excalibur:~/Dev/Cloudera/hive/beeline$ mvn exec:java 
-Dexec.args='-u jdbc:hive2://localhost:1 sircodesalot' 
-Dexec.mainClass="org.apache.hive.beeline.BeeLine"
[INFO] Scanning for projects...
[INFO] 
[INFO] 
[INFO] Building Hive Beeline 2.1.0-SNAPSHOT
[INFO] 
[INFO] 
[INFO] --- exec-maven-plugin:1.4.0:java (default-cli) @ hive-beeline ---
Connecting to jdbc:hive2://localhost:1
ERROR StatusLogger No log4j2 configuration file found. Using default 
configuration: logging only errors to the console.
org/apache/hive/service/cli/HiveSQLException
Beeline version ??? by Apache Hive

// HERE: This will never connect because of ClassNotFoundException. 
0: jdbc:hive2://localhost:1 (closed)>
{code}



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


[jira] [Created] (HIVE-13386) NPE when trying to read parquet file with null values created by Spark

2016-03-30 Thread Marek Pasieka (JIRA)
Marek Pasieka created HIVE-13386:


 Summary: NPE when trying to read parquet file with null values 
created by Spark
 Key: HIVE-13386
 URL: https://issues.apache.org/jira/browse/HIVE-13386
 Project: Hive
  Issue Type: Bug
Reporter: Marek Pasieka


Trying to "select * from table limit 1" from hive table throws:

Failed with exception java.io.IOException:java.lang.NullPointerException

Steps to reproduce:

1. Run spark sql/streaming job, write dataframe with fields that CONTAIN null 
values (null instead of String/null instead of number) as parquet file.
2. Create external partitioned hive table on top of the parquet files. MSCK 
repair table.
3. select query returns NPE as described.

Not sure if partitioning is relevant, but the tabled is partitioned by string 
value.



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


Re: Review Request 44524: HIVE-11484 : Fix ObjectInspector for Char and VarChar

2016-03-30 Thread Deepak Barr

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/44524/
---

(Updated March 30, 2016, 1:43 p.m.)


Review request for hive and Amareshwari Sriramadasu.


Changes
---

Added testcases


Bugs: HIVE-11484
https://issues.apache.org/jira/browse/HIVE-11484


Repository: hive-git


Description
---

Fixed ObjectInspectorConverter and Java ObjectInspector for Char and Varchar


Diffs (updated)
-

  common/src/java/org/apache/hadoop/hive/common/type/HiveBaseChar.java 3514726 
  common/src/java/org/apache/hadoop/hive/common/type/HiveVarchar.java 969d474 
  common/src/test/org/apache/hadoop/hive/common/type/TestHiveBaseChar.java 
2848465 
  
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaHiveCharObjectInspector.java
 f429709 
  
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaHiveVarcharObjectInspector.java
 a8e34ff 
  
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorConverter.java
 5eb41d5 
  
serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestObjectInspectorConverters.java
 dd18517 
  
serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestStandardObjectInspectors.java
 7d87666 

Diff: https://reviews.apache.org/r/44524/diff/


Testing
---

Yes.


Thanks,

Deepak Barr



[jira] [Created] (HIVE-13385) [Cleanup] Streamline Beeline instantiation

2016-03-30 Thread Reuben Kuhnert (JIRA)
Reuben Kuhnert created HIVE-13385:
-

 Summary: [Cleanup] Streamline Beeline instantiation
 Key: HIVE-13385
 URL: https://issues.apache.org/jira/browse/HIVE-13385
 Project: Hive
  Issue Type: Task
Reporter: Reuben Kuhnert
Assignee: Reuben Kuhnert


Janitorial. Remove circular dependencies in {{BeelineCommandLineCompleter}}. 
Stream line code readability.



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


[jira] [Created] (HIVE-13384) Failed to create HiveMetaStoreClient object with proxy user when Kerberos enabled

2016-03-30 Thread Bing Li (JIRA)
Bing Li created HIVE-13384:
--

 Summary: Failed to create HiveMetaStoreClient object with proxy 
user when Kerberos enabled
 Key: HIVE-13384
 URL: https://issues.apache.org/jira/browse/HIVE-13384
 Project: Hive
  Issue Type: Improvement
  Components: Metastore
Affects Versions: 1.2.1, 1.2.0
Reporter: Bing Li


I wrote a Java client to talk with HiveMetaStore. (Hive 1.2.0)
But found that it can't new a HiveMetaStoreClient object successfully via a 
proxy using in Kerberos env.

===
15/10/13 00:14:38 ERROR transport.TSaslTransport: SASL negotiation failure
javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: 
No valid credentials provided (Mechanism level: Failed to find any Kerberos 
tgt)]
at 
com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:211)
at 
org.apache.thrift.transport.TSaslClientTransport.handleSaslStartMessage(TSaslClientTransport.java:94)
at 
org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:271)
==

When I debugging on Hive, I found that the error came from open() method in 
HiveMetaStoreClient class.

Around line 406,
 transport = UserGroupInformation.getCurrentUser().doAs(new 
PrivilegedExceptionAction() {  //FAILED, because the current user 
doesn't have the cridential

But it will work if I change above line to
 transport = UserGroupInformation.getCurrentUser().getRealUser().doAs(new 
PrivilegedExceptionAction() {  //PASS

I found DRILL-3413 fixes this error in Drill side as a workaround. But if I 
submit a mapreduce job via Pig/HCatalog, it runs into the same issue again when 
initialize the object via HCatalog.

It would be better to fix this issue in Hive side.



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


[jira] [Created] (HIVE-13383) RetryingMetaStoreClient retries non retriable embedded metastore client

2016-03-30 Thread Thejas M Nair (JIRA)
Thejas M Nair created HIVE-13383:


 Summary: RetryingMetaStoreClient retries non retriable embedded 
metastore client 
 Key: HIVE-13383
 URL: https://issues.apache.org/jira/browse/HIVE-13383
 Project: Hive
  Issue Type: Bug
Reporter: Thejas M Nair
Assignee: Thejas M Nair


Embedded metastore clients can't be retried, they throw an exception - "For 
direct MetaStore DB connections, we don't support retries at the client level."

This tends to mask the real error that caused the attempts to retry. 
RetryingMetaStoreClient shouldn't even attempt to reconnect when 
direct/embedded metastore client is used.





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