[ 
https://issues.apache.org/jira/browse/HIVE-18739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410633#comment-16410633
 ] 

Sergey Shelukhin commented on HIVE-18739:
-----------------------------------------

Code looks ok to me modulo some whitespace, todos, etc.
However I'm -0 on the approach.

First there are potential security implications with shared database. I think 
it the minimum, the table has to be session-temporary. I'm not sure how safe 
those are in the first place, but right now we create a globally visible table 
in a shared DB, potentially giving users with access to any database and export 
access to data from every other database (by grabbing it during export). It's 
protected only by the obscurity of the table name. I'm -1 on that.

Overall it seems like using full compaction, so we could benefit every other 
reader of the table (and future export, see side note) would still be better, 
and also not multiply entities and have simpler code without compiling a query, 
having users set up a special DB, etc. No matter how compaction evolves it 
should still be possible to run full compaction by including all deltas; it 
will be a flag and minimal code difference from future improved compaction, 
during delta selection.
But I'm not going to stop this patch as long as security issue is addressed :) 
If continuing with this approach, I wonder if we could, instead of relying on 
custom db, create a new type of privilege check, and allow users to create the 
export table in the source db even if they don't have permissions to create 
normal tables there? Or we can use session scoped temp table. Or materialized 
view? 
cc [~ashutoshc] [~thejas] to review

As a side note, one optimization here is that if table is already fully 
compacted, we could just take the base and export it directly without using 
insert.

> Add support for Export from Acid table
> --------------------------------------
>
>                 Key: HIVE-18739
>                 URL: https://issues.apache.org/jira/browse/HIVE-18739
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Transactions
>            Reporter: Eugene Koifman
>            Assignee: Eugene Koifman
>            Priority: Major
>         Attachments: HIVE-18739.01.patch, HIVE-18739.04.patch, 
> HIVE-18739.04.patch, HIVE-18739.06.patch, HIVE-18739.08.patch, 
> HIVE-18739.09.patch, HIVE-18739.10.patch, HIVE-18739.11.patch, 
> HIVE-18739.12.patch
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to