Nitiraj Singh Rathore created AMBARI-16242:
----------------------------------------------
Summary: Hive View and Pig View : one user overriding job details
of other user in database
Key: AMBARI-16242
URL: https://issues.apache.org/jira/browse/AMBARI-16242
Project: Ambari
Issue Type: Bug
Components: ambari-views
Affects Versions: 2.2.2
Reporter: Nitiraj Singh Rathore
Assignee: Nitiraj Singh Rathore
Fix For: 2.4.0
Steps to reproduce.
0. create a new hive view for better understanding. Note the table names
created in DB for this instance.
1. Login with user one (admin).
2. execute one hive query
3. go to database and note the new entries in ds_jobimpl_ and
dsf_storedoperationhandle_ tables.
4. Login in with another use say (testUser)
5. execute one hive query
6. go to database and check the entries in ds_jobimpl_ and
dsf_storedoperationhandle_ tables.
you will find that the entries of admin were overridden by queries of testUser
instead of creating 2 separate entries.
Reason :
For creating any entity in database. Hive and Pig view are generating the IDs
in the code itself.
The code that generates IDs is wrong. It keeps a key for each entity and
increments the counter for it for next entity. This key value pair is stored in
context.putInstanceData.
This instance data is inherently User dependent. So there is separate counter
for each user. But the tables ds_jobimpl etc of hive and pig assumes unique ID
across all users. So the queries of one user are getting overridden by another.
Implications :
The implications of this can be very bad. The results will be not very visible
if users execute queries serially but if they execute queries simultaneously
then on the fly the users will keep replacing the entries which have state
session data and operation handle of each other and will results in many
exceptions and errors.
Probably, many of the current exceptions of hive view might be because of this
bug.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)