[jira] [Commented] (HIVE-18285) StatsTask uses a cached ql.metadata.Table object

2017-12-21 Thread Eugene Koifman (JIRA)

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

Eugene Koifman commented on HIVE-18285:
---

this patch should not add any time to compilation since it only changes where 
StatsTask gets the Table object when it runs.  I believe this happens on the 
client side and long after compilation is done.

bq. Secondly, logic to convert table type based on config to me seems to belong 
to compiler. Metastore shall not govern that.
Table is a metadata object and whether a table supports Acid ops is a property 
of this metadata object.  Seems like Metastore is exactly the place to govern 
metadata objects.  Normally compiler just reads metadata objects.

Finally, perhaps most importantly: A large part of acid is in the metastore.  
The entire state of compactor, lock manger, transaction manager is currently 
managed by the metastore.  This is very specific to Hive.  If you don't think 
Hive specific logic belongs in the metastore, where do you see all this logic 
going once metastore becomes standalone? 

> StatsTask uses a cached ql.metadata.Table object
> 
>
> Key: HIVE-18285
> URL: https://issues.apache.org/jira/browse/HIVE-18285
> Project: Hive
>  Issue Type: Bug
>  Components: Metastore, Statistics
>Reporter: Eugene Koifman
>Assignee: Eugene Koifman
> Attachments: HIVE-18285.01.patch
>
>
> this then causes BasicStatsTask.aggregateStats(Hive) to call 
> Hive.alterTable() with a stale Table object.  (It misses any changes made by 
> any MetaStorePreEventListener)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HIVE-18285) StatsTask uses a cached ql.metadata.Table object

2017-12-21 Thread Ashutosh Chauhan (JIRA)

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

Ashutosh Chauhan commented on HIVE-18285:
-

I agree with Zoltan. We don't want to make extra metastore calls. 
All modifications on metadata objects shall be made on compiler side.  
Metastore should just be used to read and persist metadata objects. This is 
because of 2 reasons : a)  Making metastore calls add latencies to compilation. 
b) Having modifications being done on metadata objects in 2 different processes 
makes it hard to reason about what processes are making what changes.
Secondly, logic to convert table type based on config to me seems to belong to 
compiler. Metastore shall not govern that.
Lastly, with standalone-metastore ACID concept seems like specific to Hive and 
may not be applicable to other engines. So, Hive compiler seems like a logical 
place for that logic, instead of metastore which is deemed to be used by 
multiple engines.

> StatsTask uses a cached ql.metadata.Table object
> 
>
> Key: HIVE-18285
> URL: https://issues.apache.org/jira/browse/HIVE-18285
> Project: Hive
>  Issue Type: Bug
>  Components: Metastore, Statistics
>Reporter: Eugene Koifman
>Assignee: Eugene Koifman
> Attachments: HIVE-18285.01.patch
>
>
> this then causes BasicStatsTask.aggregateStats(Hive) to call 
> Hive.alterTable() with a stale Table object.  (It misses any changes made by 
> any MetaStorePreEventListener)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HIVE-18285) StatsTask uses a cached ql.metadata.Table object

2017-12-20 Thread Zoltan Haindrich (JIRA)

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

Zoltan Haindrich commented on HIVE-18285:
-

I just thinked about adding a testcase which triggers the path you have just 
found that it's broken...
set a preevent listener which changes somethingand then show that the 
listener is respected by the statstask.
but anyway I'm not against this change: +1

> StatsTask uses a cached ql.metadata.Table object
> 
>
> Key: HIVE-18285
> URL: https://issues.apache.org/jira/browse/HIVE-18285
> Project: Hive
>  Issue Type: Bug
>  Components: Metastore, Statistics
>Reporter: Eugene Koifman
>Assignee: Eugene Koifman
> Attachments: HIVE-18285.01.patch
>
>
> this then causes BasicStatsTask.aggregateStats(Hive) to call 
> Hive.alterTable() with a stale Table object.  (It misses any changes made by 
> any MetaStorePreEventListener)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HIVE-18285) StatsTask uses a cached ql.metadata.Table object

2017-12-19 Thread Eugene Koifman (JIRA)

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

Eugene Koifman commented on HIVE-18285:
---

[~kgyrtkirk] a test to make sure someone doesn't start caching these object?  
I'm not sure how to do that.


> StatsTask uses a cached ql.metadata.Table object
> 
>
> Key: HIVE-18285
> URL: https://issues.apache.org/jira/browse/HIVE-18285
> Project: Hive
>  Issue Type: Bug
>  Components: Metastore, Statistics
>Reporter: Eugene Koifman
>Assignee: Eugene Koifman
> Attachments: HIVE-18285.01.patch
>
>
> this then causes BasicStatsTask.aggregateStats(Hive) to call 
> Hive.alterTable() with a stale Table object.  (It misses any changes made by 
> any MetaStorePreEventListener)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HIVE-18285) StatsTask uses a cached ql.metadata.Table object

2017-12-19 Thread Zoltan Haindrich (JIRA)

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

Zoltan Haindrich commented on HIVE-18285:
-

There were some efforts to reduce the used metastore calls; but ddltask sends 
the table object to metastore - and since statstask needs to update the stats 
(which are currently stored in properties ; sends a second table call I 
think this could be avoided later somehow ; when statstask makes less metastore 
calls ; I've opened HIVE-18302.

I don't feel right to change the table object fundamentally in metastore 
listeners...I've found examples where inputformat have been changed to some 
other...

[~ekoifman]: Could you please add a testcase to protect this usecase in the 
future?

> StatsTask uses a cached ql.metadata.Table object
> 
>
> Key: HIVE-18285
> URL: https://issues.apache.org/jira/browse/HIVE-18285
> Project: Hive
>  Issue Type: Bug
>  Components: Metastore, Statistics
>Reporter: Eugene Koifman
>Assignee: Eugene Koifman
> Attachments: HIVE-18285.01.patch
>
>
> this then causes BasicStatsTask.aggregateStats(Hive) to call 
> Hive.alterTable() with a stale Table object.  (It misses any changes made by 
> any MetaStorePreEventListener)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HIVE-18285) StatsTask uses a cached ql.metadata.Table object

2017-12-18 Thread Ashutosh Chauhan (JIRA)

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

Ashutosh Chauhan commented on HIVE-18285:
-

[~kgyrtkirk] Can you please review this?

> StatsTask uses a cached ql.metadata.Table object
> 
>
> Key: HIVE-18285
> URL: https://issues.apache.org/jira/browse/HIVE-18285
> Project: Hive
>  Issue Type: Bug
>  Components: Metastore, Statistics
>Reporter: Eugene Koifman
>Assignee: Eugene Koifman
> Attachments: HIVE-18285.01.patch
>
>
> this then causes BasicStatsTask.aggregateStats(Hive) to call 
> Hive.alterTable() with a stale Table object.  (It misses any changes made by 
> any MetaStorePreEventListener)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HIVE-18285) StatsTask uses a cached ql.metadata.Table object

2017-12-15 Thread Hive QA (JIRA)

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

Hive QA commented on HIVE-18285:




Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12902421/HIVE-18285.01.patch

{color:red}ERROR:{color} -1 due to no test(s) being added or modified.

{color:red}ERROR:{color} -1 due to 21 failed/errored test(s), 11503 tests 
executed
*Failed tests:*
{noformat}
org.apache.hadoop.hive.cli.TestCliDriver.org.apache.hadoop.hive.cli.TestCliDriver
 (batchId=88)
org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[mapjoin_hook] 
(batchId=12)
org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[ppd_join5] (batchId=35)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[bucketsortoptimize_insert_2]
 (batchId=152)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[hybridgrace_hashjoin_2]
 (batchId=157)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[insert_values_orig_table_use_metadata]
 (batchId=165)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[llap_acid] 
(batchId=169)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[llap_acid_fast]
 (batchId=160)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[quotedid_smb]
 (batchId=157)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[sysdb] 
(batchId=160)
org.apache.hadoop.hive.cli.TestNegativeCliDriver.testCliDriver[archive_partspec2]
 (batchId=93)
org.apache.hadoop.hive.cli.TestNegativeCliDriver.testCliDriver[authorization_part]
 (batchId=93)
org.apache.hadoop.hive.cli.TestNegativeCliDriver.testCliDriver[materialized_view_authorization_create_no_grant]
 (batchId=93)
org.apache.hadoop.hive.cli.TestNegativeCliDriver.testCliDriver[stats_publisher_error_1]
 (batchId=93)
org.apache.hadoop.hive.cli.TestNegativeCliDriver.testCliDriver[subquery_notin_implicit_gby]
 (batchId=93)
org.apache.hadoop.hive.cli.TestSparkCliDriver.testCliDriver[auto_sortmerge_join_10]
 (batchId=138)
org.apache.hadoop.hive.cli.TestSparkCliDriver.testCliDriver[bucketsortoptimize_insert_7]
 (batchId=128)
org.apache.hadoop.hive.cli.TestSparkCliDriver.testCliDriver[ppd_join5] 
(batchId=120)
org.apache.hadoop.hive.cli.TestSparkCliDriver.testCliDriver[subquery_multi] 
(batchId=113)
org.apache.hadoop.hive.cli.control.TestDanglingQOuts.checkDanglingQOut 
(batchId=209)
org.apache.hadoop.hive.ql.parse.TestReplicationScenarios.testConstraints 
(batchId=226)
{noformat}

Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/8277/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/8277/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-8277/

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.YetusPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
Tests exited with: TestsFailedException: 21 tests failed
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12902421 - PreCommit-HIVE-Build

> StatsTask uses a cached ql.metadata.Table object
> 
>
> Key: HIVE-18285
> URL: https://issues.apache.org/jira/browse/HIVE-18285
> Project: Hive
>  Issue Type: Bug
>  Components: Metastore, Statistics
>Reporter: Eugene Koifman
>Assignee: Eugene Koifman
> Attachments: HIVE-18285.01.patch
>
>
> this then causes BasicStatsTask.aggregateStats(Hive) to call 
> Hive.alterTable() with a stale Table object.  (It misses any changes made by 
> any MetaStorePreEventListener)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HIVE-18285) StatsTask uses a cached ql.metadata.Table object

2017-12-15 Thread Hive QA (JIRA)

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

Hive QA commented on HIVE-18285:


| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
|| || || || {color:brown} Prechecks {color} ||
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
0s{color} | {color:blue} Findbugs executables are not available. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  7m 
 2s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  
1s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
34s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
54s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
17s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  
3s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m  
3s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
34s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
56s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
15s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 13m 51s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Optional Tests |  asflicense  javac  javadoc  findbugs  checkstyle  compile  |
| uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 
3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /data/hiveptest/working/yetus/dev-support/hive-personality.sh |
| git revision | master / f52e8b4 |
| Default Java | 1.8.0_111 |
| modules | C: ql U: ql |
| Console output | 
http://104.198.109.242/logs//PreCommit-HIVE-Build-8277/yetus.txt |
| Powered by | Apache Yetushttp://yetus.apache.org |


This message was automatically generated.



> StatsTask uses a cached ql.metadata.Table object
> 
>
> Key: HIVE-18285
> URL: https://issues.apache.org/jira/browse/HIVE-18285
> Project: Hive
>  Issue Type: Bug
>  Components: Metastore, Statistics
>Reporter: Eugene Koifman
>Assignee: Eugene Koifman
> Attachments: HIVE-18285.01.patch
>
>
> this then causes BasicStatsTask.aggregateStats(Hive) to call 
> Hive.alterTable() with a stale Table object.  (It misses any changes made by 
> any MetaStorePreEventListener)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)