[jira] [Commented] (HBASE-10637) rpcClient: Setup the iostream when doing the write
[ https://issues.apache.org/jira/browse/HBASE-10637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13918376#comment-13918376 ] Devaraj Das commented on HBASE-10637: - Makes sense. +1 > rpcClient: Setup the iostream when doing the write > -- > > Key: HBASE-10637 > URL: https://issues.apache.org/jira/browse/HBASE-10637 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.99.0 >Reporter: Nicolas Liochon >Assignee: Nicolas Liochon > Fix For: 0.99.0, hbase-10070 > > Attachments: 10637.v1.patch > > > Since HBASE-10525, we can write in a different thread than the client. This > allows the client thread to be interrupted w/o any impact on the shared tcp > connection. We should setup the iostream on the second thread as well, i.e. > when we do the write, and not when we do the getConnection. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-10637) rpcClient: Setup the iostream when doing the write
[ https://issues.apache.org/jira/browse/HBASE-10637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13918367#comment-13918367 ] Nicolas Liochon commented on HBASE-10637: - the connection is protected by a lock (a synchronized). So, today the first thread which needs a new connection setup the streams. the code is: clientThead: getConnection() -> setupStream -> write since 10525 clientThead: getConnection() -> setupStream -> post message to writerThread writerThread: write with this patch clientThead: getConnection() -> post message to writerThread writerThread: setupStream -> write So you can interrupt the client thread: it does not touch the tcp connection. the pre 10525 being kept by default (with the allowsInterrupt option) > rpcClient: Setup the iostream when doing the write > -- > > Key: HBASE-10637 > URL: https://issues.apache.org/jira/browse/HBASE-10637 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.99.0 >Reporter: Nicolas Liochon >Assignee: Nicolas Liochon > Fix For: 0.99.0, hbase-10070 > > Attachments: 10637.v1.patch > > > Since HBASE-10525, we can write in a different thread than the client. This > allows the client thread to be interrupted w/o any impact on the shared tcp > connection. We should setup the iostream on the second thread as well, i.e. > when we do the write, and not when we do the getConnection. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-10637) rpcClient: Setup the iostream when doing the write
[ https://issues.apache.org/jira/browse/HBASE-10637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13918352#comment-13918352 ] Devaraj Das commented on HBASE-10637: - [~nkeywal], quick question - if the tcp connection is shared between the threads, why do the setup in the thread at all? Is it because by the time the thread gets scheduled the connection might have closed, etc.? > rpcClient: Setup the iostream when doing the write > -- > > Key: HBASE-10637 > URL: https://issues.apache.org/jira/browse/HBASE-10637 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.99.0 >Reporter: Nicolas Liochon >Assignee: Nicolas Liochon > Fix For: 0.99.0, hbase-10070 > > Attachments: 10637.v1.patch > > > Since HBASE-10525, we can write in a different thread than the client. This > allows the client thread to be interrupted w/o any impact on the shared tcp > connection. We should setup the iostream on the second thread as well, i.e. > when we do the write, and not when we do the getConnection. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-10637) rpcClient: Setup the iostream when doing the write
[ https://issues.apache.org/jira/browse/HBASE-10637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13918326#comment-13918326 ] Nicolas Liochon commented on HBASE-10637: - :-) I've updated the description to give more context. Thanks a lot for the review! > rpcClient: Setup the iostream when doing the write > -- > > Key: HBASE-10637 > URL: https://issues.apache.org/jira/browse/HBASE-10637 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.99.0 >Reporter: Nicolas Liochon >Assignee: Nicolas Liochon > Fix For: 0.99.0, hbase-10070 > > Attachments: 10637.v1.patch > > > Since HBASE-10525, we can write in a different thread than the client. This > allows the client thread to be interrupted w/o any impact on the shared tcp > connection. We should setup the iostream on the second thread as well, i.e. > when we do the write, and not when we do the getConnection. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-10637) rpcClient: Setup the iostream when doing the write
[ https://issues.apache.org/jira/browse/HBASE-10637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13918321#comment-13918321 ] stack commented on HBASE-10637: --- This is hard work. Patch looks good but I do not follow how it relates to the subject of the issue. So +1 on patch after you do a better subject on this issue (smile). > rpcClient: Setup the iostream when doing the write > -- > > Key: HBASE-10637 > URL: https://issues.apache.org/jira/browse/HBASE-10637 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.99.0 >Reporter: Nicolas Liochon >Assignee: Nicolas Liochon > Fix For: 0.99.0, hbase-10070 > > Attachments: 10637.v1.patch > > > This helps as we can be interrupted there as well. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-10637) rpcClient: Setup the iostream when doing the write
[ https://issues.apache.org/jira/browse/HBASE-10637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13917942#comment-13917942 ] Nicolas Liochon commented on HBASE-10637: - TestZKSecretWatcher works locally (tried 10 times) Reviews welcome. Thanks! > rpcClient: Setup the iostream when doing the write > -- > > Key: HBASE-10637 > URL: https://issues.apache.org/jira/browse/HBASE-10637 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.99.0 >Reporter: Nicolas Liochon >Assignee: Nicolas Liochon > Fix For: 0.99.0, hbase-10070 > > Attachments: 10637.v1.patch > > > This helps as we can be interrupted there as well. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-10637) rpcClient: Setup the iostream when doing the write
[ https://issues.apache.org/jira/browse/HBASE-10637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13915798#comment-13915798 ] Hadoop QA commented on HBASE-10637: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12631724/10637.v1.patch against trunk revision . ATTACHMENT ID: 12631724 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:red}-1 tests included{color}. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop1.1{color}. The patch compiles against the hadoop 1.1 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 findbugs{color}. The patch appears to introduce 2 new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.security.token.TestZKSecretWatcher Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8850//console This message is automatically generated. > rpcClient: Setup the iostream when doing the write > -- > > Key: HBASE-10637 > URL: https://issues.apache.org/jira/browse/HBASE-10637 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.99.0 >Reporter: Nicolas Liochon >Assignee: Nicolas Liochon > Fix For: 0.99.0 > > Attachments: 10637.v1.patch > > > This helps as we can be interrupted there as well. -- This message was sent by Atlassian JIRA (v6.1.5#6160)