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

Hive QA commented on HIVE-18747:
--------------------------------



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

{color:red}ERROR:{color} -1 due to build exiting with an error

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

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Executing org.apache.hive.ptest.execution.PrepPhase
Tests exited with: NonZeroExitCodeException
Command 'bash /data/hiveptest/working/scratch/source-prep.sh' failed with exit 
status 1 and output '+ date '+%Y-%m-%d %T.%3N'
2018-03-24 04:41:12.516
+ [[ -n /usr/lib/jvm/java-8-openjdk-amd64 ]]
+ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+ JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+ export 
PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
+ 
PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
+ export 'ANT_OPTS=-Xmx1g -XX:MaxPermSize=256m '
+ ANT_OPTS='-Xmx1g -XX:MaxPermSize=256m '
+ export 'MAVEN_OPTS=-Xmx1g '
+ MAVEN_OPTS='-Xmx1g '
+ cd /data/hiveptest/working/
+ tee /data/hiveptest/logs/PreCommit-HIVE-Build-9789/source-prep.txt
+ [[ false == \t\r\u\e ]]
+ mkdir -p maven ivy
+ [[ git = \s\v\n ]]
+ [[ git = \g\i\t ]]
+ [[ -z master ]]
+ [[ -d apache-github-source-source ]]
+ [[ ! -d apache-github-source-source/.git ]]
+ [[ ! -d apache-github-source-source ]]
+ date '+%Y-%m-%d %T.%3N'
2018-03-24 04:41:12.519
+ cd apache-github-source-source
+ git fetch origin
+ git reset --hard HEAD
HEAD is now at f1d4fcf HIVE-18982: Provide a CLI option to manually trigger 
failover (Prasanth Jayachandran reviewed by Sergey Shelukhin)
+ git clean -f -d
+ git checkout master
Already on 'master'
Your branch is up-to-date with 'origin/master'.
+ git reset --hard origin/master
HEAD is now at f1d4fcf HIVE-18982: Provide a CLI option to manually trigger 
failover (Prasanth Jayachandran reviewed by Sergey Shelukhin)
+ git merge --ff-only origin/master
Already up-to-date.
+ date '+%Y-%m-%d %T.%3N'
2018-03-24 04:41:16.604
+ rm -rf ../yetus_PreCommit-HIVE-Build-9789
+ mkdir ../yetus_PreCommit-HIVE-Build-9789
+ git gc
+ cp -R . ../yetus_PreCommit-HIVE-Build-9789
+ mkdir /data/hiveptest/logs/PreCommit-HIVE-Build-9789/yetus
+ patchCommandPath=/data/hiveptest/working/scratch/smart-apply-patch.sh
+ patchFilePath=/data/hiveptest/working/scratch/build.patch
+ [[ -f /data/hiveptest/working/scratch/build.patch ]]
+ chmod +x /data/hiveptest/working/scratch/smart-apply-patch.sh
+ /data/hiveptest/working/scratch/smart-apply-patch.sh 
/data/hiveptest/working/scratch/build.patch
error: a/metastore/scripts/upgrade/derby/hive-txn-schema-3.0.0.derby.sql: does 
not exist in index
error: a/metastore/scripts/upgrade/derby/upgrade-2.3.0-to-3.0.0.derby.sql: does 
not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Cleaner.java: does 
not exist in index
error: a/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Initiator.java: 
does not exist in index
error: a/ql/src/test/org/apache/hadoop/hive/ql/TestTxnCommands2.java: does not 
exist in index
error: 
a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/CompactionTxnHandler.java:
 does not exist in index
error: 
a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnDbUtil.java:
 does not exist in index
error: 
a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
 does not exist in index
error: 
a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnStore.java:
 does not exist in index
error: a/standalone-metastore/src/main/sql/derby/hive-schema-3.0.0.derby.sql: 
does not exist in index
error: 
a/standalone-metastore/src/main/sql/derby/upgrade-2.3.0-to-3.0.0.derby.sql: 
does not exist in index
error: a/standalone-metastore/src/main/sql/mssql/hive-schema-3.0.0.mssql.sql: 
does not exist in index
error: 
a/standalone-metastore/src/main/sql/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql: 
does not exist in index
error: a/standalone-metastore/src/main/sql/mysql/hive-schema-3.0.0.mysql.sql: 
does not exist in index
error: 
a/standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql: 
does not exist in index
error: a/standalone-metastore/src/main/sql/oracle/hive-schema-3.0.0.oracle.sql: 
does not exist in index
error: 
a/standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql: 
does not exist in index
error: 
a/standalone-metastore/src/main/sql/postgres/hive-schema-3.0.0.postgres.sql: 
does not exist in index
error: 
a/standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql:
 does not exist in index
error: patch failed: 
standalone-metastore/src/main/sql/derby/upgrade-2.3.0-to-3.0.0.derby.sql:161
Falling back to three-way merge...
Applied patch to 
'standalone-metastore/src/main/sql/derby/upgrade-2.3.0-to-3.0.0.derby.sql' with 
conflicts.
error: patch failed: 
standalone-metastore/src/main/sql/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql:214
Falling back to three-way merge...
Applied patch to 
'standalone-metastore/src/main/sql/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql' with 
conflicts.
error: patch failed: 
standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql:204
Falling back to three-way merge...
Applied patch to 
'standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql' with 
conflicts.
error: patch failed: 
standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql:224
Falling back to three-way merge...
Applied patch to 
'standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql' 
with conflicts.
error: patch failed: 
standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql:239
Falling back to three-way merge...
Applied patch to 
'standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql'
 with conflicts.
Going to apply patch with: git apply -p1
error: patch failed: 
standalone-metastore/src/main/sql/derby/upgrade-2.3.0-to-3.0.0.derby.sql:161
Falling back to three-way merge...
Applied patch to 
'standalone-metastore/src/main/sql/derby/upgrade-2.3.0-to-3.0.0.derby.sql' with 
conflicts.
error: patch failed: 
standalone-metastore/src/main/sql/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql:214
Falling back to three-way merge...
Applied patch to 
'standalone-metastore/src/main/sql/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql' with 
conflicts.
error: patch failed: 
standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql:204
Falling back to three-way merge...
Applied patch to 
'standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql' with 
conflicts.
error: patch failed: 
standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql:224
Falling back to three-way merge...
Applied patch to 
'standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql' 
with conflicts.
error: patch failed: 
standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql:239
Falling back to three-way merge...
Applied patch to 
'standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql'
 with conflicts.
U standalone-metastore/src/main/sql/derby/upgrade-2.3.0-to-3.0.0.derby.sql
U standalone-metastore/src/main/sql/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql
U standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql
U standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql
U standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql
+ exit 1
'
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12915762 - PreCommit-HIVE-Build

> Cleaner for TXN_TO_WRITE_ID table entries using MIN_HISTORY_LEVEL.
> ------------------------------------------------------------------
>
>                 Key: HIVE-18747
>                 URL: https://issues.apache.org/jira/browse/HIVE-18747
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Transactions
>    Affects Versions: 3.0.0
>            Reporter: Sankar Hariappan
>            Assignee: Sankar Hariappan
>            Priority: Minor
>              Labels: ACID, pull-request-available
>             Fix For: 3.0.0
>
>         Attachments: HIVE-18747.01.patch, HIVE-18747.02.patch
>
>
> Per table write ID implementation (HIVE-18192) maintains a map between txn ID 
> and table write ID in TXN_TO_WRITE_ID meta table. 
> The entries in this table is used to generate ValidWriteIdList for the given 
> ValidTxnList to ensure snapshot isolation. 
> When table or database is dropped, then these entries are cleaned-up. But, it 
> is necessary to clean-up for active tables too for better performance.
> TXN_TO_WRITE_ID table keeps a mapping of Transaction ID to Write ID.  The 
> state of each Write ID (open, committed, aborted) is determined by the state 
> of the parent transaction.  In order to be able to get a WriteIdList that is 
> accurate wrt ValidTxnList that is locked in at the start of the transaction, 
> we have to retain txnid<->writeid mapping even after the transaction ends. 
> This is because a reader at Snapshot Isolation that started when transaction 
> X was open, should continue to ignore the data written by X even after X 
> commits.
> So we need a mechanism to know when it is safe to remove TXN_TO_WRITE_ID.  
> There are 2 parts to it. When txn X is opened, it records Y=select 
> min(txn_id) from TXNS where txn_state=’o’ in MIN_HISTORY(txnid,opentxnid) 
> table, i.e. it adds (X, Y) to MIN_HISTORY.  On commit (and abort) of X, it 
> removes its own entry from MIN_HISTORY. In the absence of Aborted 
> transactions, MIN_HISTORY gives us the smallest open txnid across all active 
> reader snapshots.  Let Z=select min(opentxnid) from MIN_HISTORY. We can 
> delete entries from TXN_TO_WRITE_ID once TXN_TO_WRITE_ID.T2W_TXNID < Z since 
> every active reader sees txns < Z as committed.
> If S is aborted txns, we retain the metadata about it in TXNS as long as any 
> data written S may be visible to some reader in the system so that the reader 
> knows to skip this data.  The rules for when that is are complex but wrt to 
> TXN_TO_WRITE_ID, if A=select min(TXN_ID) from TXNS where TXN_STATE=’a’, then 
> it’s safe to delete from TXN_TO_WRITE_ID when TXN_TO_WRITE_ID.T2W_TXNID < 
> min(Z,A).  
> If no open or aborted txns exist in the system, then we need to enable 
> cleanup using latest allocated value of NEXT_TXN_ID table. Delete condition 
> would be TXN_TO_WRITE_ID.T2W_TXNID < min(Z,A,NEXT_TXN_ID.ntxn_next).  
> Also, it is proposed to trigger cleanup on TXN_TO_WRITE_ID from initiator 
> immediately after cleaning up aborted txns metadata from TXNS table.
>  



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

Reply via email to