[
https://issues.apache.org/jira/browse/HBASE-5451?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13240722#comment-13240722
]
[email protected] commented on HBASE-5451:
------------------------------------------------------
bq. On 2012-03-24 07:38:03, Benoit Sigoure wrote:
bq. >
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java,
line 102
bq. > <https://reviews.apache.org/r/4096/diff/2/?file=86903#file86903line102>
bq. >
bq. > Argh, no, don't change this! I got other HBase devs to promise to
not change this as it makes backwards compatible clients impossibly complicated.
bq.
bq. Devaraj Das wrote:
bq. I see. This was the basis of the "graceful" failure for current
clients that are not aware of PB (clients would bail out if the versions of RPC
don't match, right). The response to your comment below "I don't see how this
is graceful." is actually this change in the version.
bq.
bq. Michael Stack wrote:
bq. Benoit's point is that this mechanism doesn't work so his point is
lets not bother changing the version. Previous, if you volunteered a hrpc
version other than what is expected, the connection was closed by the server
w/o saying what was wrong. We fixed hbase so it at least throws an exception
but it doesn't say what version its expecting.
bq.
bq. Devaraj Das wrote:
bq. Stack, if we don't change the server version number then even the
exception you're referring to won't be thrown. The exception/error will happen
later on in the processing of the RPC... Are we sure we want this as the
behavior? Please let me know.
bq.
bq. Michael Stack wrote:
bq. On ..."The exception/error will happen later on in the processing of
the RPC... Are we sure we want this as the behavior? Please let me know.", its
useless as is. Can we make this rationale? Like if version is bumped, it
tells client what version server is?
Hi Stack, not sure what you meant in your last comment. The VersionMismatch
exception that is sent to the client has an accompanying message that says
something like - "Server IPC version <current-version> cannot communicate .. ".
By parsing the exception the client can know what's wrong (hacky but works).
Once we have PB in the RPC we can actually remove this version check since
clients/servers talk PB and PB will handle compatibility in the RPC messages.
But I want to change things with more thought and as such want to keep the
version number around for at least this jira.
Given the above, I am not sure what to do: to me version change seems
sufficient to catch non-compliant clients early (and since the RPC is changing
in a major by switching to PB, makes sense to me to change the version number).
If on the other hand, we let the client pass this initial step by not changing
the version number, we'll let old clients pass this initial step. It'll fail
later on.
Thoughts?
- Devaraj
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4096/#review6302
-----------------------------------------------------------
On 2012-03-01 03:40:14, Devaraj Das wrote:
bq.
bq. -----------------------------------------------------------
bq. This is an automatically generated e-mail. To reply, visit:
bq. https://reviews.apache.org/r/4096/
bq. -----------------------------------------------------------
bq.
bq. (Updated 2012-03-01 03:40:14)
bq.
bq.
bq. Review request for .
bq.
bq.
bq. Summary
bq. -------
bq.
bq. Switch RPC call envelope/headers to PBs
bq.
bq.
bq. This addresses bug HBASE-5451.
bq. https://issues.apache.org/jira/browse/HBASE-5451
bq.
bq.
bq. Diffs
bq. -----
bq.
bq. http://svn.apache.org/repos/asf/hbase/trunk/pom.xml 1294899
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/io/DataOutputOutputStream.java
1294899
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
1294899
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
1294899
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/security/User.java
1294899
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/proto/RPCMessageProto.proto
PRE-CREATION
bq.
bq. Diff: https://reviews.apache.org/r/4096/diff
bq.
bq.
bq. Testing
bq. -------
bq.
bq.
bq. Thanks,
bq.
bq. Devaraj
bq.
bq.
> Switch RPC call envelope/headers to PBs
> ---------------------------------------
>
> Key: HBASE-5451
> URL: https://issues.apache.org/jira/browse/HBASE-5451
> Project: HBase
> Issue Type: Sub-task
> Components: ipc, master, migration, regionserver
> Affects Versions: 0.94.0
> Reporter: Todd Lipcon
> Assignee: Devaraj Das
> Fix For: 0.96.0
>
> Attachments: rpc-proto.2.txt, rpc-proto.3.txt, rpc-proto.patch.1_2
>
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira