trafodion-codereview mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sandhyasun <...@git.apache.org>
Subject [GitHub] incubator-trafodion pull request #1230: Trafodion-2735 :LOB: Drop table/sche...
Date Mon, 11 Sep 2017 18:10:55 GMT
GitHub user sandhyasun opened a pull request:

    https://github.com/apache/incubator-trafodion/pull/1230

    Trafodion-2735 :LOB: Drop table/schema returns 8616 error but the drop statement can't
be retried

    
    
    LOB drop table is not supported by DTM currently. 
    Each LOB tables contains 3 underlying Hbase tables and one or more HDFS data files that
contain the LOB data.
    During drop the code used to delete all the HDFS files first and then drop the LOB hbase
tables.
    This PR chnages that by doing 2 things  1. Move the code drop HDFS files below the calls
that drop the Hase tables. This way if there are any errors during the Hbase drop tables,
the TM will protect them and roll them back. The HDFS files will stay intact. 2. Ignore errors
from "File Not Found" errors when dropping a LOB table. 
    The issue is that twhen a conflict  occured between 2 sessions and the LOB table lost
its HDFS data but the LOB Hbase descriptor tables got rolled back. A subsequenct drop from
another session, expected the HDFS files to be there and raised an error. SInce the HDFS files
are not protected by TM, there is currently no way to roll them back.   So the current fix
doe snot fully addressthe issue but alleviates the issue and allows 2 streams of tests to
run and handle conflict errors just fine. 
    
    
    The real fix need to be in TM where the LOB data files are also  protected by a transaction.



You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/sandhyasun/incubator-trafodion san_2.2traf_misc

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-trafodion/pull/1230.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1230
    
----
commit e8c09ebb678ab6560130bf687dc1e52c9b04d64a
Author: Sandhya Sundaresan <sandhya@apache.org>
Date:   2017-09-11T17:57:02Z

    Changes to handle errors during drop of lob tables that leave the table inconsistent.
    (cherry picked from commit 749295ad774620d49db79d961b1bbacac8d589c7)

----


---

Mime
View raw message