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

stack commented on HBASE-2248:
------------------------------

This is a big patch.  Can we have a bit more detail than what is given above on 
what it does to help w/ review?

Here's some comments so far:

In KV, this looks like a fix to the comparator:

{code}
+      if (rcolumnlength == 0 && rtype == Type.Minimum.getCode()) {
+        return -1;
+      }
{code}

If we had a getScan datamember flag -- true if this scan is a Get scan -- we 
could set it if the constructor that takes a Get is invoked and avoid comparing 
start and end rows.  If flag is not set, go ahead and do the compare.

Want to remove this?

{code}
+//    if (LOG.isDebugEnabled()) {
+//      LOG.debug("compareResult=" + compareResult + " " + 
Bytes.toString(data, offset, length));
+//    }
{code}

This has to be public?

{code}
+  public ReadWriteConsistencyControl getRWCC() {
{code}

Is this unused?

{code}
+  @SuppressWarnings({"UnusedDeclaration"})
   public final static byte [] REGIONINFO_FILE_BYTES =
     Bytes.toBytes(REGIONINFO_FILE);
{code}

Remove it then?

Same here:

{code}
+  @SuppressWarnings({"UnusedDeclaration"})
   public long getRegionId() {
{code}

There are a bunch of them.

I'm about 1/5th done.  So far patch looks great.

> Provide new non-copy mechanism to assure atomic reads in get and scan
> ---------------------------------------------------------------------
>
>                 Key: HBASE-2248
>                 URL: https://issues.apache.org/jira/browse/HBASE-2248
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.3
>            Reporter: Dave Latham
>            Priority: Blocker
>             Fix For: 0.20.4
>
>         Attachments: HBASE-2248-demonstrate-previous-impl-bugs.patch, 
> HBASE-2248-GetsAsScans3.patch, HBASE-2248-rr-alpha1.txt, 
> HBASE-2248-rr-alpha2.txt, HBASE-2248-rr-alpha3.txt, HBASE-2248-ryan.patch, 
> hbase-2248.gc, HBASE-2248.patch, hbase-2248.txt, readownwrites-lost.2.patch, 
> readownwrites-lost.patch, Screen shot 2010-02-23 at 10.33.38 AM.png, 
> threads.txt
>
>
> HBASE-2037 introduced a new MemStoreScanner which triggers a 
> ConcurrentSkipListMap.buildFromSorted clone of the memstore and snapshot when 
> starting a scan.
> After upgrading to 0.20.3, we noticed a big slowdown in our use of short 
> scans.  Some of our data repesent a time series.   The data is stored in time 
> series order, MR jobs often insert/update new data at the end of the series, 
> and queries usually have to pick up some or all of the series.  These are 
> often scans of 0-100 rows at a time.  To load one page, we'll observe about 
> 20 such scans being triggered concurrently, and they take 2 seconds to 
> complete.  Doing a thread dump of a region server shows many threads in 
> ConcurrentSkipListMap.biuldFromSorted which traverses the entire map of key 
> values to copy it.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to