hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11647) MOB integration testing
Date Fri, 22 Aug 2014 23:46:12 GMT

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

Jonathan Hsieh commented on HBASE-11647:
----------------------------------------

I like where these tests are going.  Can you post some examples of how you kick off the test
in the jira?

As an aside, the documentation in the IntegrationTestIngest could be improved, as could the
docs in this the IntegrationTestIngestMOB. 

Explicitly call out this his an extension of the IntegrationTestIngest. that uses LoadTestTool
to generate and writes mob sized data into hbase and verify it.
{quote}
+/**
+ * Integration Test for MOB ingest.
+ */
+@Category(IntegrationTests.class)
+public class IntegrationTestIngestMOB extends IntegrationTestIngest {
{quote}

Please provide some way of getting usage instructions and what the LoadTestDataGeneraetyorMob:x:y:z:w
args are!
{quote}
+  public static void main(String[] args) throws Exception {
+    Configuration conf = HBaseConfiguration.create();
+    IntegrationTestingUtility.setUseDistributedCluster(conf);
+    int ret = ToolRunner.run(conf, new IntegrationTestIngestMOB(), args);
+    System.exit(ret);
+  }
{quote}

Add a comment here saying we add a another value generator that has different cols data size
bounds to expcicitly test the mobs.
{quote}
+/**
+ * A load test data generator for MOB
+ */
+public class LoadTestDataGeneratorMOB
+    extends MultiThreadedAction.DefaultDataGenerator {
+
{quote}

This instanceof is a bad smell -- it breaks encapsulation -- can we do this in a cleaner way?
 Maybe add in a "String..." or "Object..." arg so that we can handle all of these and without
having to do the instanceof?  At the least, please  leave a TODO here to refactor so that
we just use an interface and inheritance properly to avoid the instanceof.
{quote}
         }
+      } else if(dataGen instanceof LoadTestDataGeneratorMOB) {
+        LOG.info("Using LoadTestDataGeneratorMOB");
+        String mobCf = clazzAndArgs[1];
+        int minMobDataSize = Integer.parseInt(clazzAndArgs[2]);
+        int maxMobDataSize = Integer.parseInt(clazzAndArgs[3]);
+        LoadTestDataGeneratorMOB mobDatGen = (LoadTestDataGeneratorMOB)dataGen;
+        mobDatGen.configureMob(mobCf.getBytes(), minMobDataSize, maxMobDataSize);
+        args = clazzAndArgs.length==4? new String[0] : Arrays.copyOfRange(clazzAndArgs, 4,
clazzAndArgs.length);
       } else {
{quote}



> MOB integration testing
> -----------------------
>
>                 Key: HBASE-11647
>                 URL: https://issues.apache.org/jira/browse/HBASE-11647
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Performance, test
>            Reporter: Jingcheng Du
>            Assignee: Jingcheng Du
>         Attachments: HBASE-11647.diff
>
>
> The integration testings include the integration function testing and performance testing.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message