Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.1-dp3
-
Fix Version/s: 1.1.1
-
Component/s: library
-
Security Level: Public
-
Labels:None
-
Environment:Hide1939 - <manifest><remote name="couchbase" fetch="git://github.com/couchbase/"/><remote name="membase" fetch="git://github.com/membase/"/><remote name="apache" fetch="git://github.com/apache/"/><remote name="erlang" fetch="git://github.com/erlang/"/><default remote="couchbase" revision="master"/><project name="tlm" path="tlm" revision="12abea946eafd7411273d18a10ae1f84390db3d4"><copyfile src="Makefile.top" dest="Makefile"/></project><project name="bucket_engine" path="bucket_engine" revision="70b3624abc697b7d18bf3d57f331b7674544e1e7"/><project name="ep-engine" path="ep-engine" revision="68e3f7c57ae40c42dcb94e4d282bbd1648f9adc0"/><project name="libconflate" path="libconflate" revision="2cc8eff8e77d497d9f03a30fafaecb85280535d6"/><project name="libmemcached" path="libmemcached" revision="ca739a890349ac36dc79447e37da7caa9ae819f5" remote="membase"/><project name="libvbucket" path="libvbucket" revision="00d3763593c116e8e5d97aa0b646c42885727398"/><project name="membase-cli" path="membase-cli" revision="7fe4121e7e83952a4cb032e25a2cb9fca1709354" remote="membase"/><project name="memcached" path="memcached" revision="7ea975a93a0231393502af4ca98976eee8a83386" remote="membase"/><project name="moxi" path="moxi" revision="52a5fa887bfff0bf719c4ee5f29634dd8707500e"/><project name="ns_server" path="ns_server" revision="315aa6af297d7139c505e2fa9aa31dd429615a7d"/><project name="portsigar" path="portsigar" revision="1bc865e1622fb93a3fe0d1a4cdf18eb97ed9d600"/><project name="sigar" path="sigar" revision="63a3cd1b316d2d4aa6dd31ce8fc66101b983e0b0"/><project name="couchbase-examples" path="couchbase-examples" revision="544688dc56420faaf6f25946dd4b3ef3f7c15286"/><project name="couchbase-python-client" path="couchbase-python-client" revision="006c1aa8b76f6bce11109af8a309133b57079c4c"/><project name="couchdb" path="couchdb" revision="b68b5f40e0911db7de651b457e6a79a5937ff810"/><project name="couchdbx-app" path="couchdbx-app" revision="1130fa3c1f117527b761497cfa0c15a1e9968808"/><project name="couchstore" path="couchstore" revision="b5937c4479bf05dcc67264efe19abaf52870a127"/><project name="geocouch" path="geocouch" revision="849d5443689b1924f097548af864c539bffcc929"/><project name="mccouch" path="mccouch" revision="88701cc326bc3dde4ed072bb8441be83adcfb2a5"/><project name="testrunner" path="testrunner" revision="c4e82c929b3c7f2328f234fc9d79b38868268455"/><project name="otp" path="otp" revision="b6dc1a844eab061d0a7153d46e7e68296f15a504" remote="erlang"/><project name="icu4c" path="icu4c" revision="26359393672c378f41f2103a8699c4357c894be7" remote="couchbase"/><project name="snappy" path="snappy" revision="5681dde156e9d07adbeeab79666c9a9d7a10ec95" remote="couchbase"/><project name="v8" path="v8" revision="447decb75060a106131ab4de934bcc374648e7f2" remote="couchbase"/><project name="gperftools" path="gperftools" revision="8f60ba949fb8576c530ef4be148bff97106ddc59" remote="couchbase"/><project name="pysqlite" path="pysqlite" revision="0ff6e32ea05037fddef1eb41a648f2a2141009ea" remote="couchbase"/></manifest>Show1939 - <manifest><remote name="couchbase" fetch=" git://github.com/couchbase/ "/><remote name="membase" fetch=" git://github.com/membase/ "/><remote name="apache" fetch=" git://github.com/apache/ "/><remote name="erlang" fetch=" git://github.com/erlang/ "/><default remote="couchbase" revision="master"/><project name="tlm" path="tlm" revision="12abea946eafd7411273d18a10ae1f84390db3d4"><copyfile src="Makefile.top" dest="Makefile"/></project><project name="bucket_engine" path="bucket_engine" revision="70b3624abc697b7d18bf3d57f331b7674544e1e7"/><project name="ep-engine" path="ep-engine" revision="68e3f7c57ae40c42dcb94e4d282bbd1648f9adc0"/><project name="libconflate" path="libconflate" revision="2cc8eff8e77d497d9f03a30fafaecb85280535d6"/><project name="libmemcached" path="libmemcached" revision="ca739a890349ac36dc79447e37da7caa9ae819f5" remote="membase"/><project name="libvbucket" path="libvbucket" revision="00d3763593c116e8e5d97aa0b646c42885727398"/><project name="membase-cli" path="membase-cli" revision="7fe4121e7e83952a4cb032e25a2cb9fca1709354" remote="membase"/><project name="memcached" path="memcached" revision="7ea975a93a0231393502af4ca98976eee8a83386" remote="membase"/><project name="moxi" path="moxi" revision="52a5fa887bfff0bf719c4ee5f29634dd8707500e"/><project name="ns_server" path="ns_server" revision="315aa6af297d7139c505e2fa9aa31dd429615a7d"/><project name="portsigar" path="portsigar" revision="1bc865e1622fb93a3fe0d1a4cdf18eb97ed9d600"/><project name="sigar" path="sigar" revision="63a3cd1b316d2d4aa6dd31ce8fc66101b983e0b0"/><project name="couchbase-examples" path="couchbase-examples" revision="544688dc56420faaf6f25946dd4b3ef3f7c15286"/><project name="couchbase-python-client" path="couchbase-python-client" revision="006c1aa8b76f6bce11109af8a309133b57079c4c"/><project name="couchdb" path="couchdb" revision="b68b5f40e0911db7de651b457e6a79a5937ff810"/><project name="couchdbx-app" path="couchdbx-app" revision="1130fa3c1f117527b761497cfa0c15a1e9968808"/><project name="couchstore" path="couchstore" revision="b5937c4479bf05dcc67264efe19abaf52870a127"/><project name="geocouch" path="geocouch" revision="849d5443689b1924f097548af864c539bffcc929"/><project name="mccouch" path="mccouch" revision="88701cc326bc3dde4ed072bb8441be83adcfb2a5"/><project name="testrunner" path="testrunner" revision="c4e82c929b3c7f2328f234fc9d79b38868268455"/><project name="otp" path="otp" revision="b6dc1a844eab061d0a7153d46e7e68296f15a504" remote="erlang"/><project name="icu4c" path="icu4c" revision="26359393672c378f41f2103a8699c4357c894be7" remote="couchbase"/><project name="snappy" path="snappy" revision="5681dde156e9d07adbeeab79666c9a9d7a10ec95" remote="couchbase"/><project name="v8" path="v8" revision="447decb75060a106131ab4de934bcc374648e7f2" remote="couchbase"/><project name="gperftools" path="gperftools" revision="8f60ba949fb8576c530ef4be148bff97106ddc59" remote="couchbase"/><project name="pysqlite" path="pysqlite" revision="0ff6e32ea05037fddef1eb41a648f2a2141009ea" remote="couchbase"/></manifest>
Description
The code breaks abruptly when connection URI is not given in a proper format in the SDK client for connecting the to required Couchbase server.
For instance, when I am specifying the URI as "http:/10.3.2.57:8091/index.html" instead of "http:/10.3.2.57:8091/pools", exception appears,
whereas a proper error message should be returned saying that 'Connection could not be established to the requested server location'.
Please find attached the log file for the exception trace.
For instance, when I am specifying the URI as "http:/10.3.2.57:8091/index.html" instead of "http:/10.3.2.57:8091/pools", exception appears,
whereas a proper error message should be returned saying that 'Connection could not be established to the requested server location'.
Please find attached the log file for the exception trace.
Activity
Deepti Dawar
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Description |
The code breaks abruptly when connection URI is not given in a proper format.
For instance, when I am specifying the URI as http:/10.3.2.57:8091/index.html, exception appears, whereas a proper error message should be returned saying that Connection could not be established to the requested server location. Please find attached the log file for the exception trace. |
The code breaks abruptly when connection URI is not given in a proper format in the SDK client for connecting the to required Couchbase server.
For instance, when I am specifying the URI as "http:/10.3.2.57:8091/index.html" instead of "http:/10.3.2.57:8091/pools", exception appears, whereas a proper error message should be returned saying that 'Connection could not be established to the requested server location'. Please find attached the log file for the exception trace. |
Michael Nitschinger
made changes -
| Status | Open [ 1 ] | Closed [ 6 ] |
| Assignee | Raghavan Srinivas [ rags ] | Michael Nitschinger [ daschl ] |
| Resolution | Won't Fix [ 2 ] |
Deepti Dawar
made changes -
| Resolution | Won't Fix [ 2 ] | |
| Status | Closed [ 6 ] | Reopened [ 4 ] |
Michael Nitschinger
made changes -
| Issue Type | Bug [ 1 ] | Improvement [ 4 ] |
| Fix Version/s | 1.1-dp5 [ 10410 ] |
Michael Nitschinger
made changes -
| Assignee | Michael Nitschinger [ daschl ] | Matt Ingenthron [ ingenthr ] |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1beta [ 10370 ] | |
| Fix Version/s | 1.1-dp5 [ 10410 ] |
Matt Ingenthron
made changes -
| Fix Version/s | 1.1.0 [ 10274 ] | |
| Fix Version/s | 1.1-beta [ 10370 ] |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1.1 [ 10430 ] | |
| Fix Version/s | 1.1.0 [ 10274 ] |
Deepti Dawar
made changes -
| Assignee | Matt Ingenthron [ ingenthr ] | Deepti Dawar [ deeptida ] |
Deepti Dawar
made changes -
| Attachment | ConfigurationParserJSON.java [ 16066 ] |
Deepti Dawar
made changes -
| Comment |
[ I agree. There should be in-house exception classes meant to facilitate this purpose.
A user working with couchbase sdk, should have the feasibility of using those exception classes for indicating various scenarios to the user. Please let us know if there are any exception classes for displaying the exceptions. ] |
Deepti Dawar
made changes -
| Status | Reopened [ 4 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
Deepti Dawar
made changes -
| Status | Resolved [ 5 ] | Closed [ 6 ] |
I think the logs already provide a helpful error message with the stack trace that shows what it tried to parse.
In the case you provided, the logs would say 2012-11-08 10:29:09.254 WARN com.couchbase.client.vbucket.ConfigurationProviderHTTP: Provided URI http://192.168.1.105:8091/index.html has an unparsable response...skipping
and then print a stack trace of what was tried to parse (in this case hughe chunks of HTML).
Also, if you pass in more URIs it would try to get the next one to establish a successful connection.
I think we could catch it and add a different error message, but then it wont be clear to the user what happened.
If you think we really should change something here, please reopen the issue and then we can discuss it together at a broader audience!
Thanks,
Michael