You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Jovanic, Ben" <be...@cgi.com> on 2017/03/14 09:46:15 UTC
Avatica connection from ODBC
Hi,
I'm trying to set up an ODBC data source on Windows to connect to Avatica through Knox. The authentication is working fine (LDAP on Knox and Kerberos on Avatica). The 500 message I am getting is coming from Avatica but I can't find the log which will be recording the error message on my HDP.
Set up:
Host: https://abc.cloudapp.com<ht...@abc.cloudapp.com>
Port: 8443
HTTP Path: gateway/sandbox/avatica
And I'm using the LDAP guest:guest-password credentials for authentication.
gateway.log:
2017-03-13 08:41:45,751 INFO hadoop.gateway (GatewayServer.java:startGateway(296)) - Started gateway on port 8,443.
2017-03-13 09:06:38,212 INFO hadoop.gateway (KnoxLdapRealm.java:getUserDn(691)) - Computed userDn: uid=guest,ou=people,dc=hadoop,dc=apache,dc=org using dnTemplate for principal: guest
gateway-audit.log:
17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA||||access|uri|/gateway/sandbox/avatica/|unavailable|Request method: POST
17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||authentication|uri|/gateway/sandbox/avatica/|success|
17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||authentication|uri|/gateway/sandbox/avatica/|success|Groups: []
17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||dispatch|uri|http://sandbox.hortonworks.com:8765/|unavailable|Request method: POST
17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||dispatch|uri|http://sandbox.hortonworks.com:8765/|success|Response status: 500
17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||access|uri|/gateway/sandbox/avatica/|success|Response status: 500
When I use the Test button in the ODBC data source tool the message it returns is:
FAILED!
[Hortonworks][Phoenix] (40) Error with HTTP request, response code: 500
Just as extra evidence that the authentication is working and reaching avatica:
$ curl -kiu guest:guest-password https://abc.cloudapp.com:8443/gateway/sandbox/avatica/
HTTP/1.1 404 Not Found
Date: Tue, 14 Mar 2017 09:44:19 GMT
Set-Cookie: JSESSIONID=48ew7fw6aw4sd9abjnh2n29n;Path=/gateway/sandbox;Secure;HttpOnly
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/gateway/sandbox; Max-Age=0; Expires=Mon, 13-Mar-2017 09:44:19 GMT
Date: Tue, 14 Mar 2017 09:44:19 GMT
Content-Type: text/html; charset=UTF-8
Server: Jetty(9.2.z-SNAPSHOT)
Content-Length: 378
<HTML>
<HEAD>
<TITLE>Error 404 - Not Found</TITLE>
<BODY>
<H2>Error 404 - Not Found.</H2>
No context on this server matched or handled this request.<BR>Contexts known to this server are: <ul></ul><hr><a href="http://eclipse.org/jetty"><img border= 0 src="/favicon.ico"/></a> <a href="http://eclipse.org/jetty">Powered by Jetty:// Java Web Server</a><hr/>
</BODY>
</HTML>
Kind regards,
Ben
Ben Jovanic | Software Engineer
Energy, Utilities & Telco | CGI
2nd floor, Inovo Building 121 George Street, Glasgow, G1 1RD, UK
M: +44 7917 505 645
ben.jovanic@cgi.com<ma...@cgi.com> | cgi-group.co.uk<http://www.cgi-group.co.uk>
CONFIDENTIALITY NOTICE: Proprietary/Confidential Information belonging to CGI Group Inc. and its affiliates may be contained in this message. If you are not a recipient indicated or intended in this message (or responsible for delivery of this message to such person), or you think for any reason that this message may have been addressed to you in error, you may not use or copy or deliver this message to anyone else. In such case, you should destroy this message and are asked to notify the sender by reply e-mail.
RE: Avatica connection from ODBC
Posted by "Jovanic, Ben" <be...@cgi.com>.
Hey,
Thanks Josh
Kind regards,
Ben
________________________________________
From: Josh Elser [elserj@apache.org]
Sent: 14 March 2017 19:37
To: dev@calcite.apache.org
Subject: Re: Avatica connection from ODBC
Ben,
It would look like your HBase instance isn't healthy. If the JDBC driver
inside of PQS can't get the location of some regions, it sounds like
either misconfiguration or those regions are actually unassigned. Either
way, that one is a better question for the user@phoenix.a.o list.
To your other question, I'd recommend that you contact Hortonworks for
support as the Phoenix ODBC driver is not open-source and not a part of
any Apache project.
- Josh
Jovanic, Ben wrote:
> Hi again,
>
> So I had the idea to try and use the sqlline-thin.py tool instead to try and see an error, and I got one.
>
> The same error appears whether I run either of these:
>
>
> * /usr/hdp/current/phoenix-client/bin/sqlline-thin.py "https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC"
> * /usr/hdp/current/phoenix-client/bin/sqlline-thin.py http://localhost:8765
>
> The error:
>
> root@sandbox ~]# /usr/hdp/current/phoenix-client/bin/sqlline-thin.py "https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC"
> Setting property: [incremental, false]
> Setting property: [isolation, TRANSACTION_READ_COMMITTED]
> issuing: !connect jdbc:phoenix:thin:url=https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC;serialization=PROTOBUF none none org.apache.phoenix.queryserver.client.Driver
> Connecting to jdbc:phoenix:thin:url=https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC;serialization=PROTOBUF
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in [jar:file:/usr/hdp/2.5.0.0-1245/phoenix/phoenix-4.7.0.2.5.0.0-1245-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in [jar:file:/usr/hdp/2.5.0.0-1245/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
> AvaticaClientRuntimeException: Remote driver error: RuntimeException: java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations -> SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations -> RetriesExhaustedException: Can't get the locations. Error -1 (00000) null
>
> java.lang.RuntimeException: java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
> at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:619)
> at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:299)
> at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1748)
> at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1728)
> at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:95)
> at org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46)
> at org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:124)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.handle(Server.java:499)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
> at org.apache.phoenix.shaded.org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
> at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
> at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
> at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2590)
> at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2327)
> at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78)
> at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2327)
> at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:233)
> at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:142)
> at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:202)
> at java.sql.DriverManager.getConnection(DriverManager.java:664)
> at java.sql.DriverManager.getConnection(DriverManager.java:208)
> at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:616)
> ... 15 more
> Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
> at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:312)
> at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:156)
> at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60)
> at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)
> at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:326)
> at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:301)
> at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:166)
> at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:161)
> at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:794)
> at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:602)
> at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:366)
> at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:405)
> at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2358)
> ... 24 more
>
>
> at org.apache.calcite.avatica.remote.Service$ErrorResponse.toException(Service.java:2453)
> at org.apache.calcite.avatica.remote.RemoteProtobufService._apply(RemoteProtobufService.java:61)
> at org.apache.calcite.avatica.remote.ProtobufService.apply(ProtobufService.java:81)
> at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:175)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
> at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
> at sqlline.Commands.connect(Commands.java:1064)
> at sqlline.Commands.connect(Commands.java:996)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36)
> at sqlline.SqlLine.dispatch(SqlLine.java:804)
> at sqlline.SqlLine.initArgs(SqlLine.java:588)
> at sqlline.SqlLine.begin(SqlLine.java:656)
> at sqlline.SqlLine.start(SqlLine.java:398)
> at sqlline.SqlLine.main(SqlLine.java:292)
> at org.apache.phoenix.queryserver.client.SqllineWrapper.main(SqllineWrapper.java:83)
> sqlline version 1.1.8
>
>
> I'm using Ambari, HDP 2.5 and Knox 0.11.0 (manually installed).
> After Kerberising the HDP I am experiencing some issues that could be the cause.
> The components that won't start up are:
>
> * Atlas Metadata Server
> * HBase master
> * Nimbus
> * RegionServer
> * NFSGateway
>
> Every other component is running (Knox isn't running via Ambari, it's running manually).
>
>
> When I try to start the RegionServer I get the same message repeating in the stderr:
>
>
> 2017-03-14 10:25:11,429 - Error in call for getting Ranger service:
> Extra data: line 1 column 12 - line 1 column 50 (char 12 - 50)
>
>
> Kind regards,
> Ben
>
> Ben Jovanic | Software Engineer
> Energy, Utilities& Telco | CGI
> 2nd floor, Inovo Building 121 George Street, Glasgow, G1 1RD, UK
> M: +44 7917 505 645
> ben.jovanic@cgi.com | cgi-group.co.uk
>
> CONFIDENTIALITY NOTICE: Proprietary/Confidential Information belonging to CGI Group Inc. and its affiliates may be contained in this message. If you are not a recipient indicated or intended in this message (or responsible for delivery of this message to such person), or you think for any reason that this message may have been addressed to you in error, you may not use or copy or deliver this message to anyone else. In such case, you should destroy this message and are asked to notify the sender by reply e-mail.
>
> ________________________________________
> From: Jovanic, Ben [ben.jovanic@cgi.com]
> Sent: 14 March 2017 09:46
> To: dev@calcite.apache.org
> Subject: Avatica connection from ODBC
>
> Hi,
>
> I'm trying to set up an ODBC data source on Windows to connect to Avatica through Knox. The authentication is working fine (LDAP on Knox and Kerberos on Avatica). The 500 message I am getting is coming from Avatica but I can't find the log which will be recording the error message on my HDP.
>
> Set up:
>
> Host: https://abc.cloudapp.com<ht...@abc.cloudapp.com>
> Port: 8443
> HTTP Path: gateway/sandbox/avatica
>
> And I'm using the LDAP guest:guest-password credentials for authentication.
>
> gateway.log:
> 2017-03-13 08:41:45,751 INFO hadoop.gateway (GatewayServer.java:startGateway(296)) - Started gateway on port 8,443.
> 2017-03-13 09:06:38,212 INFO hadoop.gateway (KnoxLdapRealm.java:getUserDn(691)) - Computed userDn: uid=guest,ou=people,dc=hadoop,dc=apache,dc=org using dnTemplate for principal: guest
>
> gateway-audit.log:
> 17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA||||access|uri|/gateway/sandbox/avatica/|unavailable|Request method: POST
> 17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||authentication|uri|/gateway/sandbox/avatica/|success|
> 17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||authentication|uri|/gateway/sandbox/avatica/|success|Groups: []
> 17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||dispatch|uri|http://sandbox.hortonworks.com:8765/|unavailable|Request method: POST
> 17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||dispatch|uri|http://sandbox.hortonworks.com:8765/|success|Response status: 500
> 17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||access|uri|/gateway/sandbox/avatica/|success|Response status: 500
>
>
> When I use the Test button in the ODBC data source tool the message it returns is:
> FAILED!
>
> [Hortonworks][Phoenix] (40) Error with HTTP request, response code: 500
>
>
> Just as extra evidence that the authentication is working and reaching avatica:
>
> $ curl -kiu guest:guest-password https://abc.cloudapp.com:8443/gateway/sandbox/avatica/
> HTTP/1.1 404 Not Found
> Date: Tue, 14 Mar 2017 09:44:19 GMT
> Set-Cookie: JSESSIONID=48ew7fw6aw4sd9abjnh2n29n;Path=/gateway/sandbox;Secure;HttpOnly
> Expires: Thu, 01 Jan 1970 00:00:00 GMT
> Set-Cookie: rememberMe=deleteMe; Path=/gateway/sandbox; Max-Age=0; Expires=Mon, 13-Mar-2017 09:44:19 GMT
> Date: Tue, 14 Mar 2017 09:44:19 GMT
> Content-Type: text/html; charset=UTF-8
> Server: Jetty(9.2.z-SNAPSHOT)
> Content-Length: 378
>
> <HTML>
> <HEAD>
> <TITLE>Error 404 - Not Found</TITLE>
> <BODY>
> <H2>Error 404 - Not Found.</H2>
> No context on this server matched or handled this request.<BR>Contexts known to this server are:<ul></ul><hr><a href="http://eclipse.org/jetty"><img border= 0 src="/favicon.ico"/></a> <a href="http://eclipse.org/jetty">Powered by Jetty:// Java Web Server</a><hr/>
>
> </BODY>
> </HTML>
>
>
> Kind regards,
> Ben
>
> Ben Jovanic | Software Engineer
> Energy, Utilities& Telco | CGI
> 2nd floor, Inovo Building 121 George Street, Glasgow, G1 1RD, UK
> M: +44 7917 505 645
> ben.jovanic@cgi.com<ma...@cgi.com> | cgi-group.co.uk<http://www.cgi-group.co.uk>
>
> CONFIDENTIALITY NOTICE: Proprietary/Confidential Information belonging to CGI Group Inc. and its affiliates may be contained in this message. If you are not a recipient indicated or intended in this message (or responsible for delivery of this message to such person), or you think for any reason that this message may have been addressed to you in error, you may not use or copy or deliver this message to anyone else. In such case, you should destroy this message and are asked to notify the sender by reply e-mail.
>
Re: Avatica connection from ODBC
Posted by Josh Elser <el...@apache.org>.
Ben,
It would look like your HBase instance isn't healthy. If the JDBC driver
inside of PQS can't get the location of some regions, it sounds like
either misconfiguration or those regions are actually unassigned. Either
way, that one is a better question for the user@phoenix.a.o list.
To your other question, I'd recommend that you contact Hortonworks for
support as the Phoenix ODBC driver is not open-source and not a part of
any Apache project.
- Josh
Jovanic, Ben wrote:
> Hi again,
>
> So I had the idea to try and use the sqlline-thin.py tool instead to try and see an error, and I got one.
>
> The same error appears whether I run either of these:
>
>
> * /usr/hdp/current/phoenix-client/bin/sqlline-thin.py "https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC"
> * /usr/hdp/current/phoenix-client/bin/sqlline-thin.py http://localhost:8765
>
> The error:
>
> root@sandbox ~]# /usr/hdp/current/phoenix-client/bin/sqlline-thin.py "https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC"
> Setting property: [incremental, false]
> Setting property: [isolation, TRANSACTION_READ_COMMITTED]
> issuing: !connect jdbc:phoenix:thin:url=https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC;serialization=PROTOBUF none none org.apache.phoenix.queryserver.client.Driver
> Connecting to jdbc:phoenix:thin:url=https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC;serialization=PROTOBUF
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in [jar:file:/usr/hdp/2.5.0.0-1245/phoenix/phoenix-4.7.0.2.5.0.0-1245-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in [jar:file:/usr/hdp/2.5.0.0-1245/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
> AvaticaClientRuntimeException: Remote driver error: RuntimeException: java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations -> SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations -> RetriesExhaustedException: Can't get the locations. Error -1 (00000) null
>
> java.lang.RuntimeException: java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
> at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:619)
> at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:299)
> at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1748)
> at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1728)
> at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:95)
> at org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46)
> at org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:124)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.handle(Server.java:499)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
> at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
> at org.apache.phoenix.shaded.org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
> at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
> at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
> at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2590)
> at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2327)
> at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78)
> at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2327)
> at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:233)
> at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:142)
> at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:202)
> at java.sql.DriverManager.getConnection(DriverManager.java:664)
> at java.sql.DriverManager.getConnection(DriverManager.java:208)
> at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:616)
> ... 15 more
> Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
> at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:312)
> at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:156)
> at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60)
> at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)
> at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:326)
> at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:301)
> at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:166)
> at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:161)
> at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:794)
> at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:602)
> at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:366)
> at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:405)
> at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2358)
> ... 24 more
>
>
> at org.apache.calcite.avatica.remote.Service$ErrorResponse.toException(Service.java:2453)
> at org.apache.calcite.avatica.remote.RemoteProtobufService._apply(RemoteProtobufService.java:61)
> at org.apache.calcite.avatica.remote.ProtobufService.apply(ProtobufService.java:81)
> at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:175)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
> at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
> at sqlline.Commands.connect(Commands.java:1064)
> at sqlline.Commands.connect(Commands.java:996)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36)
> at sqlline.SqlLine.dispatch(SqlLine.java:804)
> at sqlline.SqlLine.initArgs(SqlLine.java:588)
> at sqlline.SqlLine.begin(SqlLine.java:656)
> at sqlline.SqlLine.start(SqlLine.java:398)
> at sqlline.SqlLine.main(SqlLine.java:292)
> at org.apache.phoenix.queryserver.client.SqllineWrapper.main(SqllineWrapper.java:83)
> sqlline version 1.1.8
>
>
> I'm using Ambari, HDP 2.5 and Knox 0.11.0 (manually installed).
> After Kerberising the HDP I am experiencing some issues that could be the cause.
> The components that won't start up are:
>
> * Atlas Metadata Server
> * HBase master
> * Nimbus
> * RegionServer
> * NFSGateway
>
> Every other component is running (Knox isn't running via Ambari, it's running manually).
>
>
> When I try to start the RegionServer I get the same message repeating in the stderr:
>
>
> 2017-03-14 10:25:11,429 - Error in call for getting Ranger service:
> Extra data: line 1 column 12 - line 1 column 50 (char 12 - 50)
>
>
> Kind regards,
> Ben
>
> Ben Jovanic | Software Engineer
> Energy, Utilities& Telco | CGI
> 2nd floor, Inovo Building 121 George Street, Glasgow, G1 1RD, UK
> M: +44 7917 505 645
> ben.jovanic@cgi.com | cgi-group.co.uk
>
> CONFIDENTIALITY NOTICE: Proprietary/Confidential Information belonging to CGI Group Inc. and its affiliates may be contained in this message. If you are not a recipient indicated or intended in this message (or responsible for delivery of this message to such person), or you think for any reason that this message may have been addressed to you in error, you may not use or copy or deliver this message to anyone else. In such case, you should destroy this message and are asked to notify the sender by reply e-mail.
>
> ________________________________________
> From: Jovanic, Ben [ben.jovanic@cgi.com]
> Sent: 14 March 2017 09:46
> To: dev@calcite.apache.org
> Subject: Avatica connection from ODBC
>
> Hi,
>
> I'm trying to set up an ODBC data source on Windows to connect to Avatica through Knox. The authentication is working fine (LDAP on Knox and Kerberos on Avatica). The 500 message I am getting is coming from Avatica but I can't find the log which will be recording the error message on my HDP.
>
> Set up:
>
> Host: https://abc.cloudapp.com<ht...@abc.cloudapp.com>
> Port: 8443
> HTTP Path: gateway/sandbox/avatica
>
> And I'm using the LDAP guest:guest-password credentials for authentication.
>
> gateway.log:
> 2017-03-13 08:41:45,751 INFO hadoop.gateway (GatewayServer.java:startGateway(296)) - Started gateway on port 8,443.
> 2017-03-13 09:06:38,212 INFO hadoop.gateway (KnoxLdapRealm.java:getUserDn(691)) - Computed userDn: uid=guest,ou=people,dc=hadoop,dc=apache,dc=org using dnTemplate for principal: guest
>
> gateway-audit.log:
> 17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA||||access|uri|/gateway/sandbox/avatica/|unavailable|Request method: POST
> 17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||authentication|uri|/gateway/sandbox/avatica/|success|
> 17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||authentication|uri|/gateway/sandbox/avatica/|success|Groups: []
> 17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||dispatch|uri|http://sandbox.hortonworks.com:8765/|unavailable|Request method: POST
> 17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||dispatch|uri|http://sandbox.hortonworks.com:8765/|success|Response status: 500
> 17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||access|uri|/gateway/sandbox/avatica/|success|Response status: 500
>
>
> When I use the Test button in the ODBC data source tool the message it returns is:
> FAILED!
>
> [Hortonworks][Phoenix] (40) Error with HTTP request, response code: 500
>
>
> Just as extra evidence that the authentication is working and reaching avatica:
>
> $ curl -kiu guest:guest-password https://abc.cloudapp.com:8443/gateway/sandbox/avatica/
> HTTP/1.1 404 Not Found
> Date: Tue, 14 Mar 2017 09:44:19 GMT
> Set-Cookie: JSESSIONID=48ew7fw6aw4sd9abjnh2n29n;Path=/gateway/sandbox;Secure;HttpOnly
> Expires: Thu, 01 Jan 1970 00:00:00 GMT
> Set-Cookie: rememberMe=deleteMe; Path=/gateway/sandbox; Max-Age=0; Expires=Mon, 13-Mar-2017 09:44:19 GMT
> Date: Tue, 14 Mar 2017 09:44:19 GMT
> Content-Type: text/html; charset=UTF-8
> Server: Jetty(9.2.z-SNAPSHOT)
> Content-Length: 378
>
> <HTML>
> <HEAD>
> <TITLE>Error 404 - Not Found</TITLE>
> <BODY>
> <H2>Error 404 - Not Found.</H2>
> No context on this server matched or handled this request.<BR>Contexts known to this server are:<ul></ul><hr><a href="http://eclipse.org/jetty"><img border= 0 src="/favicon.ico"/></a> <a href="http://eclipse.org/jetty">Powered by Jetty:// Java Web Server</a><hr/>
>
> </BODY>
> </HTML>
>
>
> Kind regards,
> Ben
>
> Ben Jovanic | Software Engineer
> Energy, Utilities& Telco | CGI
> 2nd floor, Inovo Building 121 George Street, Glasgow, G1 1RD, UK
> M: +44 7917 505 645
> ben.jovanic@cgi.com<ma...@cgi.com> | cgi-group.co.uk<http://www.cgi-group.co.uk>
>
> CONFIDENTIALITY NOTICE: Proprietary/Confidential Information belonging to CGI Group Inc. and its affiliates may be contained in this message. If you are not a recipient indicated or intended in this message (or responsible for delivery of this message to such person), or you think for any reason that this message may have been addressed to you in error, you may not use or copy or deliver this message to anyone else. In such case, you should destroy this message and are asked to notify the sender by reply e-mail.
>
RE: Avatica connection from ODBC
Posted by "Jovanic, Ben" <be...@cgi.com>.
Hi again,
So I had the idea to try and use the sqlline-thin.py tool instead to try and see an error, and I got one.
The same error appears whether I run either of these:
* /usr/hdp/current/phoenix-client/bin/sqlline-thin.py "https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC"
* /usr/hdp/current/phoenix-client/bin/sqlline-thin.py http://localhost:8765
The error:
root@sandbox ~]# /usr/hdp/current/phoenix-client/bin/sqlline-thin.py "https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC"
Setting property: [incremental, false]
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:thin:url=https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC;serialization=PROTOBUF none none org.apache.phoenix.queryserver.client.Driver
Connecting to jdbc:phoenix:thin:url=https://guest:guest-password@localhost:8443/gateway/sandbox/avatica/;authentication=BASIC;serialization=PROTOBUF
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/hdp/2.5.0.0-1245/phoenix/phoenix-4.7.0.2.5.0.0-1245-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/2.5.0.0-1245/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
AvaticaClientRuntimeException: Remote driver error: RuntimeException: java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations -> SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations -> RetriesExhaustedException: Can't get the locations. Error -1 (00000) null
java.lang.RuntimeException: java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:619)
at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:299)
at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1748)
at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1728)
at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:95)
at org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46)
at org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:124)
at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.handle(Server.java:499)
at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at org.apache.phoenix.shaded.org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2590)
at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2327)
at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78)
at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2327)
at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:233)
at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:142)
at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:202)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at org.apache.calcite.avatica.jdbc.JdbcMeta.openConnection(JdbcMeta.java:616)
... 15 more
Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations
at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:312)
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:156)
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60)
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)
at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:326)
at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:301)
at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:166)
at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:161)
at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:794)
at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:602)
at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:366)
at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:405)
at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2358)
... 24 more
at org.apache.calcite.avatica.remote.Service$ErrorResponse.toException(Service.java:2453)
at org.apache.calcite.avatica.remote.RemoteProtobufService._apply(RemoteProtobufService.java:61)
at org.apache.calcite.avatica.remote.ProtobufService.apply(ProtobufService.java:81)
at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:175)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
at sqlline.Commands.connect(Commands.java:1064)
at sqlline.Commands.connect(Commands.java:996)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36)
at sqlline.SqlLine.dispatch(SqlLine.java:804)
at sqlline.SqlLine.initArgs(SqlLine.java:588)
at sqlline.SqlLine.begin(SqlLine.java:656)
at sqlline.SqlLine.start(SqlLine.java:398)
at sqlline.SqlLine.main(SqlLine.java:292)
at org.apache.phoenix.queryserver.client.SqllineWrapper.main(SqllineWrapper.java:83)
sqlline version 1.1.8
I'm using Ambari, HDP 2.5 and Knox 0.11.0 (manually installed).
After Kerberising the HDP I am experiencing some issues that could be the cause.
The components that won't start up are:
* Atlas Metadata Server
* HBase master
* Nimbus
* RegionServer
* NFSGateway
Every other component is running (Knox isn't running via Ambari, it's running manually).
When I try to start the RegionServer I get the same message repeating in the stderr:
2017-03-14 10:25:11,429 - Error in call for getting Ranger service:
Extra data: line 1 column 12 - line 1 column 50 (char 12 - 50)
Kind regards,
Ben
Ben Jovanic | Software Engineer
Energy, Utilities & Telco | CGI
2nd floor, Inovo Building 121 George Street, Glasgow, G1 1RD, UK
M: +44 7917 505 645
ben.jovanic@cgi.com | cgi-group.co.uk
CONFIDENTIALITY NOTICE: Proprietary/Confidential Information belonging to CGI Group Inc. and its affiliates may be contained in this message. If you are not a recipient indicated or intended in this message (or responsible for delivery of this message to such person), or you think for any reason that this message may have been addressed to you in error, you may not use or copy or deliver this message to anyone else. In such case, you should destroy this message and are asked to notify the sender by reply e-mail.
________________________________________
From: Jovanic, Ben [ben.jovanic@cgi.com]
Sent: 14 March 2017 09:46
To: dev@calcite.apache.org
Subject: Avatica connection from ODBC
Hi,
I'm trying to set up an ODBC data source on Windows to connect to Avatica through Knox. The authentication is working fine (LDAP on Knox and Kerberos on Avatica). The 500 message I am getting is coming from Avatica but I can't find the log which will be recording the error message on my HDP.
Set up:
Host: https://abc.cloudapp.com<ht...@abc.cloudapp.com>
Port: 8443
HTTP Path: gateway/sandbox/avatica
And I'm using the LDAP guest:guest-password credentials for authentication.
gateway.log:
2017-03-13 08:41:45,751 INFO hadoop.gateway (GatewayServer.java:startGateway(296)) - Started gateway on port 8,443.
2017-03-13 09:06:38,212 INFO hadoop.gateway (KnoxLdapRealm.java:getUserDn(691)) - Computed userDn: uid=guest,ou=people,dc=hadoop,dc=apache,dc=org using dnTemplate for principal: guest
gateway-audit.log:
17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA||||access|uri|/gateway/sandbox/avatica/|unavailable|Request method: POST
17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||authentication|uri|/gateway/sandbox/avatica/|success|
17/03/13 09:06:38 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||authentication|uri|/gateway/sandbox/avatica/|success|Groups: []
17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||dispatch|uri|http://sandbox.hortonworks.com:8765/|unavailable|Request method: POST
17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||dispatch|uri|http://sandbox.hortonworks.com:8765/|success|Response status: 500
17/03/13 09:06:39 ||02c14310-5a95-42cb-95b4-bf0b11a76d07|audit|AVATICA|guest|||access|uri|/gateway/sandbox/avatica/|success|Response status: 500
When I use the Test button in the ODBC data source tool the message it returns is:
FAILED!
[Hortonworks][Phoenix] (40) Error with HTTP request, response code: 500
Just as extra evidence that the authentication is working and reaching avatica:
$ curl -kiu guest:guest-password https://abc.cloudapp.com:8443/gateway/sandbox/avatica/
HTTP/1.1 404 Not Found
Date: Tue, 14 Mar 2017 09:44:19 GMT
Set-Cookie: JSESSIONID=48ew7fw6aw4sd9abjnh2n29n;Path=/gateway/sandbox;Secure;HttpOnly
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/gateway/sandbox; Max-Age=0; Expires=Mon, 13-Mar-2017 09:44:19 GMT
Date: Tue, 14 Mar 2017 09:44:19 GMT
Content-Type: text/html; charset=UTF-8
Server: Jetty(9.2.z-SNAPSHOT)
Content-Length: 378
<HTML>
<HEAD>
<TITLE>Error 404 - Not Found</TITLE>
<BODY>
<H2>Error 404 - Not Found.</H2>
No context on this server matched or handled this request.<BR>Contexts known to this server are: <ul></ul><hr><a href="http://eclipse.org/jetty"><img border= 0 src="/favicon.ico"/></a> <a href="http://eclipse.org/jetty">Powered by Jetty:// Java Web Server</a><hr/>
</BODY>
</HTML>
Kind regards,
Ben
Ben Jovanic | Software Engineer
Energy, Utilities & Telco | CGI
2nd floor, Inovo Building 121 George Street, Glasgow, G1 1RD, UK
M: +44 7917 505 645
ben.jovanic@cgi.com<ma...@cgi.com> | cgi-group.co.uk<http://www.cgi-group.co.uk>
CONFIDENTIALITY NOTICE: Proprietary/Confidential Information belonging to CGI Group Inc. and its affiliates may be contained in this message. If you are not a recipient indicated or intended in this message (or responsible for delivery of this message to such person), or you think for any reason that this message may have been addressed to you in error, you may not use or copy or deliver this message to anyone else. In such case, you should destroy this message and are asked to notify the sender by reply e-mail.