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

Enis Soztutar commented on HBASE-18086:
---------------------------------------

- This method is not used, did you mean to use it?: 
{code}
 +std::string Row(const std::string &prefix, uint64_t i) {
{code}
- We should accumulate the cells for every family, and do 1 put per row, 
instead of 1 put per-row per-family:
{code}
+    for (auto family : families) {
+      auto n_cols = Random::rand32(1, cols);
+      auto put = Put{row};
+      put.AddColumn(family, kNumColumn, std::to_string(n_cols));
+      for (unsigned int k = 1; k <= n_cols; k++) {
+        put.AddColumn(family, std::to_string(k), row);
+      }
+      table->Put(put);
+    }
{code}
- You should not call the methods with passing {{FLAGS_num_rows - 1}}, because 
total_rows is 10000, rather than 9999, etc. Instead total_rows should be sent 
as it, but if you want to get the width of the max element, then you can send 
total_rows to the PrefixZero function, and internally inside the function you 
can do this logic of {{total_rows - 1}}. 
- Why are we doing Deletes before Append / Increment? Are append and increments 
going to rows that always have previous Puts? What happens when Delete and 
Append comes with the same timestamp? 
- The problem with doing scans and get verification differently is that we are 
complicating this logic unnecessarily. Can we please make it so that we do a 
round of multi-gets and a round of Scans. The test should be simple to 
understand and simple to debug. Having half of the threads doing one thing, and 
the other half doing the other just complicates the logic for no good reason. 
Please make it so that both scans and Gets can verify the same set of rows, and 
uses the same {{VerifyResult()}} like function to verify the data. 
- Same thing with the Puts / Increments. We would want to have the Puts and 
Increment / Appends as separate (optional) steps as it is in the LoadTestTool. 
bq. w.r.t. letting multi-get requests go to different regions, in patch v16 
iteration i would issue gets for iteration i+2 (scans and gets are interleaved).
I am not sure whether this helps. The rows for the multi-gets still go to the 
same region, but the regions are shifted now. Am I missing something? 

> Create native client which creates load on selected cluster
> -----------------------------------------------------------
>
>                 Key: HBASE-18086
>                 URL: https://issues.apache.org/jira/browse/HBASE-18086
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>         Attachments: 18086.v11.txt, 18086.v12.txt, 18086.v14.txt, 
> 18086.v17.txt, 18086.v1.txt, 18086.v3.txt, 18086.v4.txt, 18086.v5.txt, 
> 18086.v6.txt, 18086.v7.txt, 18086.v8.txt
>
>
> This task is to create a client which uses multiple threads to conduct Puts 
> followed by Gets against selected cluster.
> Default is to run the tool against local cluster.
> This would give us some idea on the characteristics of native client in terms 
> of handling high load.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to