[
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.