Details

    • Hadoop Flags:
      Reviewed
    1. 10817.v4.patch
      15 kB
      Nick Dimiduk
    2. 10817.v3.patch
      11 kB
      Nicolas Liochon
    3. 10817.v2.patch
      11 kB
      Nicolas Liochon
    4. 10817.v1.patch
      11 kB
      Nicolas Liochon
    5. 0028-HBASE-10817-Add-some-tests-on-a-real-cluster-for-rep.patch
      16 kB
      Enis Soztutar

      Issue Links

        Activity

        Hide
        Enis Soztutar added a comment -

        Closing this issue after 0.99.0 release.

        Show
        Enis Soztutar added a comment - Closing this issue after 0.99.0 release.
        Hide
        Hudson added a comment -

        FAILURE: Integrated in HBase-TRUNK #5245 (See https://builds.apache.org/job/HBase-TRUNK/5245/)
        HBASE-10817 Add some tests on a real cluster for replica: multi master, replication (enis: rev e04e61ed77a59bf54408db1f072f8dd1fb61e7d7)

        • hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicaWithCluster.java
        • hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java
        Show
        Hudson added a comment - FAILURE: Integrated in HBase-TRUNK #5245 (See https://builds.apache.org/job/HBase-TRUNK/5245/ ) HBASE-10817 Add some tests on a real cluster for replica: multi master, replication (enis: rev e04e61ed77a59bf54408db1f072f8dd1fb61e7d7) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicaWithCluster.java hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java
        Hide
        Enis Soztutar added a comment -

        Committed to master as part of hbase-10070 branch merge

        Show
        Enis Soztutar added a comment - Committed to master as part of hbase-10070 branch merge
        Hide
        Enis Soztutar added a comment -

        Attaching rebased patch for master that is committed

        Show
        Enis Soztutar added a comment - Attaching rebased patch for master that is committed
        Hide
        Nicolas Liochon added a comment -

        Committed to hbase-10070, thanks for the help, Nick. Thanks for the review, Devaraj.

        Show
        Nicolas Liochon added a comment - Committed to hbase-10070, thanks for the help, Nick. Thanks for the review, Devaraj.
        Hide
        Devaraj Das added a comment -

        +1 for committing.

        Show
        Devaraj Das added a comment - +1 for committing.
        Hide
        Nicolas Liochon added a comment -

        I haven't seen that Nick added the v4. I will commit it to the 10070 branch if there is no objection.

        Show
        Nicolas Liochon added a comment - I haven't seen that Nick added the v4. I will commit it to the 10070 branch if there is no objection.
        Hide
        Nick Dimiduk added a comment -

        Allow me to coop this patch slightly and add a simple bulkload test. This method can act as a stop-gap until Scans support region replicas and we can replace it with HBASE-10818.

        Show
        Nick Dimiduk added a comment - Allow me to coop this patch slightly and add a simple bulkload test. This method can act as a stop-gap until Scans support region replicas and we can replace it with HBASE-10818 .
        Hide
        Nicolas Liochon added a comment -

        This looks similar to the Coproc in TestReplicasClient. Maybe there's some reuse between them, or a shared library of coprocs for tests?

        It's totally similar
        But it's always difficult to share code between tests.

        nit: Should just use the constant

        done.

        Better to add some kind of max iteration count here to protect our poor jenkins box from itself.

        Agreed. I added Waiter.waitFor

        disableTable and enableTable are both synchronous, but modifyTable is asynchronous

        I'm not sure that modifyTable is really asynchronous (despite the doc): we release the lock synchronously, so I expect it will work. I think that we have an issue if it does not.

        v3 on his way.

        Show
        Nicolas Liochon added a comment - This looks similar to the Coproc in TestReplicasClient. Maybe there's some reuse between them, or a shared library of coprocs for tests? It's totally similar But it's always difficult to share code between tests. nit: Should just use the constant done. Better to add some kind of max iteration count here to protect our poor jenkins box from itself. Agreed. I added Waiter.waitFor disableTable and enableTable are both synchronous, but modifyTable is asynchronous I'm not sure that modifyTable is really asynchronous (despite the doc): we release the lock synchronously, so I expect it will work. I think that we have an issue if it does not. v3 on his way.
        Hide
        Nick Dimiduk added a comment -
        +  public static class SlowMeCopro extends BaseRegionObserver
        

        This looks similar to the Coproc in TestReplicasClient. Maybe there's some reuse between them, or a shared library of coprocs for tests?

        +    hdt.setRegionReplication(2);
        

        nit: Should just use the constant NB_SERVERS?

        +    HTU.getHBaseAdmin().disableTable(hdt.getTableName());
        +    HTU.getHBaseAdmin().modifyTable(hdt.getTableName(), hdt);
        +    HTU.getHBaseAdmin().enableTable(hdt.getTableName());
        

        disableTable and enableTable are both synchronous, but modifyTable is asynchronous. Is there a race here? Better to wait for modify to complete? I'm not exactly sure about this, so I added a modifyTableSync in HBASE-10791 and moved/reused it in HBASE-10818.

        +    while (!ok) {
        

        Better to add some kind of max iteration count here to protect our poor jenkins box from itself.

        Show
        Nick Dimiduk added a comment - + public static class SlowMeCopro extends BaseRegionObserver This looks similar to the Coproc in TestReplicasClient. Maybe there's some reuse between them, or a shared library of coprocs for tests? + hdt.setRegionReplication(2); nit: Should just use the constant NB_SERVERS ? + HTU.getHBaseAdmin().disableTable(hdt.getTableName()); + HTU.getHBaseAdmin().modifyTable(hdt.getTableName(), hdt); + HTU.getHBaseAdmin().enableTable(hdt.getTableName()); disableTable and enableTable are both synchronous, but modifyTable is asynchronous. Is there a race here? Better to wait for modify to complete? I'm not exactly sure about this, so I added a modifyTableSync in HBASE-10791 and moved/reused it in HBASE-10818 . + while (!ok) { Better to add some kind of max iteration count here to protect our poor jenkins box from itself.
        Hide
        Nicolas Liochon added a comment -

        Actually a v2, with a stop master in it.

        Show
        Nicolas Liochon added a comment - Actually a v2, with a stop master in it.
        Hide
        Nicolas Liochon added a comment -

        ready for review. Won't compile on trunk.

        Show
        Nicolas Liochon added a comment - ready for review. Won't compile on trunk.

          People

          • Assignee:
            Nicolas Liochon
            Reporter:
            Nicolas Liochon
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development