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

ASF GitHub Bot commented on TRAFODION-1729:
-------------------------------------------

GitHub user mashengchen reopened a pull request:

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

    TRAFODION-1729

    change the coprocessor deployment method, to avoid intrusive into 
underlying HBase system.

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

    $ git pull https://github.com/mashengchen/incubator-trafodion master

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

    https://github.com/apache/incubator-trafodion/pull/258.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 #258
    
----
commit 12d7342bb3d63991d31933139f5b3fee216ab8b7
Author: mashengchen <mashengc...@gmail.com>
Date:   2015-12-14T06:16:25Z

    Merge pull request #1 from apache/master
    
    update head

commit 3450fb15d4ae86c20c0a31f7e0750709f433af59
Author: mashengchen <mashengc...@gmail.com>
Date:   2015-12-21T05:26:00Z

    Merge pull request #2 from apache/master
    
    update head

commit c8fef619f858ff24b8076e4abc2f556d9fb42acb
Author: mashengchen <mashengc...@gmail.com>
Date:   2015-12-23T13:09:41Z

    Merge pull request #3 from apache/master
    
    update

commit 0042344cfb67900a1c815da932e5ea4c7ba93a19
Author: mashengchen <mashengc...@gmail.com>
Date:   2015-12-30T10:32:40Z

    Merge pull request #4 from apache/master
    
    update head

commit 11f9686b5df87f70b79edac5621da0610c7e70b8
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-11T02:49:44Z

    jira1729

commit cac96bc7ea69a3f1293e9ddef5e752f8785fb886
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-11T03:19:05Z

    Merge pull request #5 from apache/master
    
    update head

commit 62237083f0db8230e257b6a8a12b5ca21c3831d8
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-11T04:03:24Z

    Merge branch 'master' of github.com:apache/incubator-trafodion

commit 5292fdc470db2317f4ab1133d298e98b97992e1e
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-11T04:19:31Z

    Merge branch 'master' of github.com:mashengchen/incubator-trafodion

commit 0ea8552120bd12d8c5ed1757325276cca3eac172
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-11T05:39:43Z

    Update HBaseClient.java
    
    remove unnecessary log.

commit 6e0193a1837148fe5fecd3653402ddaff61f54ce
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-11T05:41:00Z

    Update CoprocessorUtils.java
    
    change log level

commit 0dbaf3b3164069587a854968869211d1b69c3434
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-11T05:52:45Z

    jira1729

commit d8b594f2b585de224a007e48ba735f0f5db860be
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-12T04:15:12Z

    add copyright

commit e1af6b9b94b237ab98c8e40677ada757a9b76f18
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-12T05:38:26Z

    rename & update code

commit 411b703f557bdcff63b971261715d9a2caecb989
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-12T05:50:13Z

    Merge branch 'master' of github.com:apache/incubator-trafodion

commit c1b8448c90533a5a2b039cce116ee57563c77299
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-12T05:54:31Z

    remove trafcoprocess.properties

commit b8e6e9c920039c2fd7c0a175214b93ed2335d3e9
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-14T07:54:08Z

    Update traf_coprocessor.properties
    
    use TrxRegionEndpoint as default

commit b01d8cb00abcfcadf48125649bdb69aac8616ffd
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-15T04:16:02Z

    Update CoprocessorUtils.java

commit a005ebf5ccf75a374f034f8b63891a396c651ae9
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-15T06:18:14Z

    Update HBaseClient.java
    
    change CoprocessorUtils.addCoprocessor, add isMVCC as param

commit d11e9d4ecf4263b7999d4bf8e6460ba78da04150
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-15T06:22:24Z

    Update CoprocessorUtils.java
    
    change addCoprocessor add isMVCC as param.

commit 5751399d9334b77bbaca629b9c93d55355b49f00
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-15T06:27:01Z

    Update traf_coprocessor.properties
    
    make mvcc & sscc as a separate ones

commit 379f8aefaf12476b8bc0f7960636a33b1b341449
Author: mashengchen <mashengc...@gmail.com>
Date:   2016-01-15T06:28:45Z

    Update CoprocessorUtils.java

----


> change the coprocessor deployment method
> ----------------------------------------
>
>                 Key: TRAFODION-1729
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-1729
>             Project: Apache Trafodion
>          Issue Type: Improvement
>          Components: dtm
>            Reporter: liu ming
>            Assignee: mashengchen
>
> I have a proposal to change our current HBase coprocessor configuration 
> method. 
> There are three ways to add a coprocessor to a HBase table:
> 1.       Via editing hbase-site.xml, which will load coprocessor for ALL 
> tables (Trafodion is using this method now)
> 2.       Via HBase shell command
> 3.       Via HTableDescriptor.addCoprocessor() java API
> Trafodion now is using the first method. I proposed to use method 3, I 
> finished a prototype and test seems works well.
>  
> Here are the reasons I propose for this change:
> At present, the Trafodion installer needs to modify the hbase-site.xml and 
> then restart HBase instance for the configuration to take effect. This step 
> not only complicate the installer but also let user think Trafodion is 
> intrusive into underlying HBase system. It will be ideal if we can avoid this 
> step. Another problem: in CDH, there is a concept called ‘region server 
> group’ or something, so the settings will have to carefully handled by 
> installer to apply to all groups. As we saw recently in WebRoot deployment, 
> Trafodion failed due to this reason. All these are very error prone and 
> complicate the Trafodion installer. Once CDH or HDP changed something, 
> Trafodion may fail again.
>  
> So I spent time to investigate why we need to restart HBase in order to 
> install Trafodion.  
> As I understand, there are 3 major reasons 
> 1.       To add hbase-trx coprocessors
> 2.       To overload HRegion with TransactionalRegion
> 3.       Various configuration settings, need to check one by one.
> The first configuration can be avoided by applying my proposed change.
> The second one, I look through the TransactionalRegion.java, and find out the 
> only reason (now) is to overload the getScanner() method to be public so can 
> be invoked by the coprocessor. And there are only 1 or 2 places that API is 
> invoked in Trafodion code. I checked with Kevin and he proposed by using 
> ‘java reflection’ we can also avoid this. 
> All other configuration items to some extent look like ‘best to have’, but 
> not ‘must to have’. And I also find two config items seems never been used:
> hbase.bulkload.staging.dir     /hbase-staging         (Suresh can confirm, 
> but I search in all code, seems this is never used)
> hbase.regionserver.region.transactional.tlog   true     (Narendra can 
> confirm, this is NEVER used, maybe a legacy config item?)
> Yes, by now, there are still some other config items seems cannot be avoided, 
> but I hope we can find some way to remove them in the future. I am not trying 
> to solve all issues right now, just want to start the effort to remove 
> unnecessary hbase reconfiguration.
> For this example, Coprocessors can be added to a table at run time, no need 
> to edit the hbase-site.xml and restart hbase. This is only the first step to 
> try to remove the deep impact to the current HBase config and restart HBase.
>  
> So I asked for your opinions about this change. If you think this is 
> necessary, I will continue to file a JIRA and fix it. 
>  
> I strongly recommend to get rid of the step of ‘modify hbase-site.xml and 
> restart your hbase’ for Trafodion installation, it should be an option , to 
> tune the system to best suit Trafodion, but should not be a forced step. To 
> be note: Apache Phoenix is also a SQL on HBase, its installation will change 
> nothing of underlying HBase, very lightweight, no ‘intrude into’ the existing 
> HBase system. Trafodion is considered to be heavy and intrusive in this 
> manner, and I feel maybe we can change this.
>  
> Should I start this discussion in the dev mail list?
>  
> P.S. a list of changed config items. My proposal will remove the last one, 
> hope we can get rid of all of them:
> hbase.master.distributed.log.splitting      false
> hbase.snapshot.master.timeoutMillis      600000
> hbase_regionserver_lease_period         600000
> hbase.hregion.impl                     
> org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegion
> hbase.regionserver.region.split.policy      
> org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy
> hbase.snapshot.enabled                 true
> hbase.bulkload.staging.dir                /hbase-staging
> hbase.regionserver.region.transactional.tlog  true
> hbase.snapshot.region.timeout            600000
> hbase_coprocessor_region_classes  
> org.apache.hadoop.hbase.coprocessor.transactional.TrxRegionObserver,org.apache.hadoop.hbase.coprocessor.transactional.TrxRegionEndpoint,org.apache.hadoop.hbase.coprocessor.AggregateImplementation
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to