hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7268) correct local region location cache information can be overwritten w/stale information from an old server
Date Fri, 07 Dec 2012 22:23:21 GMT

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

stack commented on HBASE-7268:
------------------------------

Should the below be the HConstants#LATEST_TIMESTAMP timestamp rather than 0 as default?

+    this(regionInfo, hostname, port, 0);

Or, should it be currentTimeMillis?

This patch is for trunk only?

Your mechanism will work if the cluster time is sync'd.

Would suggest using LATEST_TIMESTAMP instead of MAX_VALUE

+    long tmpTs = Long.MAX_VALUE;

I owe you more review Sergey.

Patch looks good so far boss.

Regards the below, can't you make the toString format something that easier to parse?

+      // TODO: this whole thing is extremely brittle.
       tmpHostname = s.substring(posHostname, s.indexOf(' ', posHostname));
       tmpPort = Integer.parseInt(s.substring(posPort, s.indexOf('.', posPort)));
+      tmpTs = Long.parseLong(s.substring(posTs, s.indexOf('.', posTs)));




                
> correct local region location cache information can be overwritten w/stale information
from an old server
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-7268
>                 URL: https://issues.apache.org/jira/browse/HBASE-7268
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.96.0
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>            Priority: Minor
>             Fix For: 0.96.0
>
>         Attachments: HBASE-7268-v0.patch, HBASE-7268-v0.patch, HBASE-7268-v1.patch
>
>
> Discovered via HBASE-7250; related to HBASE-5877.
> Test is writing from multiple threads.
> Server A has region R; client knows that.
> R gets moved from A to server B.
> B gets killed.
> R gets moved by master to server C.
> ~15 seconds later, client tries to write to it (on A?).
> Multiple client threads report from RegionMoved exception processing logic "R moved from
C to B", even though such transition never happened (neither in nor before the sequence described
below). Not quite sure how the client learned of the transition to C, I assume it's from meta
from some other thread...
> Then, put fails (it may fail due to accumulated errors that are not logged, which I am
investigating... but the bogus cache update is there nonwithstanding).
> I have a patch but not sure if it works, test still fails locally for yet unknown reason.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message