Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.6.0
-
None
-
None
-
ubuntu 14.04 , Knox 0.6.0 , Apache Hadoop
Description
I am trying to create a table in hbase through knox gateway ( 0.6.0) using below curl command:
curl -v -ik -u guest:guest-password -H "Accept: text/xml" -H "Content-Type: text/xml" -d '<?xml version="1.0" encoding="UTF-8"?><TableSchema name="table1"><ColumnSchema name="family1"/><ColumnSchema name="family2"/></TableSchema>' -X PUT 'https://localhost:8443/gateway/sandbox/hbase/table1/schema'
Always 2 tables was created successfully but when I try to create third table its hang and restart of knox gateway service is required.
This scenario occur during creation of table and also putting data into tables in hbase.
same scenario is working fine in older version 0.5.1.
output of curl ( when hang occur)
- Hostname was NOT found in DNS cache
- Trying 192.168.44.98...
- Connected to master (192.168.44.98) port 8443 (#0)
- successfully set certificate verify locations:
- CAfile: none
CApath: /etc/ssl/certs - SSLv3, TLS handshake, Client hello (1):
- SSLv3, TLS handshake, Server hello (2):
- SSLv3, TLS handshake, CERT (11):
- SSLv3, TLS handshake, Server key exchange (12):
- SSLv3, TLS handshake, Server finished (14):
- SSLv3, TLS handshake, Client key exchange (16):
- SSLv3, TLS change cipher, Client hello (1):
- SSLv3, TLS handshake, Finished (20):
- SSLv3, TLS change cipher, Client hello (1):
- SSLv3, TLS handshake, Finished (20):
- SSL connection using ECDHE-RSA-AES256-SHA384
- Server certificate:
- subject: C=US; ST=Test; L=Test; O=Hadoop; OU=Test; CN=localhost
- start date: 2015-05-21 23:50:29 GMT
- expire date: 2016-05-20 23:50:29 GMT
- issuer: C=US; ST=Test; L=Test; O=Hadoop; OU=Test; CN=localhost
- SSL certificate verify result: self signed certificate (18), continuing anyway.
- Server auth using Basic with user 'admin'
> PUT /gateway/sandbox/hbase/table10/schema HTTP/1.1
> Authorization: Basic YWRtaW46YWRtaW4tcGFzc3dvcmQ=
> User-Agent: curl/7.35.0
> Host: master:8443
> Accept: application/json
> Content-Type: application/json
> Content-Length: 52
> - upload completely sent off: 52 out of 52 bytes
Gateway log:
2015-05-22 15:46:51,589 INFO realm.AuthorizingRealm (AuthorizingRealm.java:getAuthorizationCacheLazy(248)) - No cache or cacheManager properties have been set. Authorization cache cannot be obtained.
2015-05-22 15:46:51,592 DEBUG hadoop.gateway (UrlRewriteProcessor.java:rewrite(155)) - Rewrote URL: https://localhost:8443/gateway/sandbox/hbase/table15/schema, direction: IN via implicit rule: WEBHBASE/webhbase/path/inbound to URL: http://192.168.44.98:20550/table15/schema
2015-05-22 15:46:51,593 DEBUG hadoop.gateway (DefaultDispatch.java:executeOutboundRequest(109)) - Dispatch request: PUT http://192.168.44.98:20550/table15/schema?user.name=guest
2015-05-22 15:46:51,594 DEBUG protocol.RequestAddCookies (RequestAddCookies.java:process(122)) - CookieSpec selected: best-match
2015-05-22 15:46:51,595 DEBUG protocol.RequestAuthCache (RequestAuthCache.java:process(75)) - Auth cache not set in the context
2015-05-22 15:46:51,595 DEBUG conn.PoolingHttpClientConnectionManager (PoolingHttpClientConnectionManager.java:requestConnection(219)) - Connection request: [route: {}->http://192.168.44.98:20550][total kept alive: 0; route allocated: 2 of 2; total allocated: 2 of 20]
I think gateway tries to establish connection with Hadoop service but number of route allocation reach to max limit “route allocated: 2 of 2 “so its hang. So may be after previous hbase commands knox not releasing there connection.