[ 
https://issues.apache.org/jira/browse/SLIDER-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14549194#comment-14549194
 ] 

Steve Loughran commented on SLIDER-878:
---------------------------------------

Here is where we are now
# happens client side on java 8
# still happens with Jersey 1.19
# if I comment out the bit of {{AMWebClient}} which sets the jersey client 
property 
{{""com.sun.jersey.client.property.httpUrlConnectionSetMethodWorkaround"}} then 
it happens on Java 7 too.
# the origin of that code is SLIDER-593; the logic to handle cross HTTP/HTTPS 
redirects.

I'm not exactly sure where this is happening -it may be part of the redirect 
chain, where the first 302/307 is received, then the code tries again with the 
RM Proxy.

What's annoying here is that Jersey is setting the method every time, rather 
than checking to see if the current method == the new method. With that, every 
GET would be a no-op and there'd be no need to delve further.

I don't know where to go from here.

# Ripping out Jersey 1.x and going to 2.x would (a) be traumatic and (b) offers 
no guarantees of a fix.
# Subclassing  {{java.net.HttpUrlConnection}} & {{HttpsConnection}} seems 
convoluted: surely others have seen this problem


> Slider cannot support jdk 1.8 for command slider registry --getconf 
> hbase-site --name hb1
> -----------------------------------------------------------------------------------------
>
>                 Key: SLIDER-878
>                 URL: https://issues.apache.org/jira/browse/SLIDER-878
>             Project: Slider
>          Issue Type: Bug
>          Components: client
>    Affects Versions: Slider 0.61, Slider 0.70, Slider 0.80
>         Environment: Slider 0.61 jdk 1.8
>            Reporter: qiang xu
>
> slider registry --getconf hbase-site --name hb1
> 2015-05-16 11:16:37,829 [main] INFO  impl.TimelineClientImpl - Timeline 
> service address: http://d64:8188/ws/v1/timeline/
> 2015-05-16 11:16:38,472 [main] INFO  client.RMProxy - Connecting to 
> ResourceManager at d64/160.164.0.7:18040
> Exception: java.lang.IllegalStateException: connect in progress
> 2015-05-16 11:16:38,958 [main] ERROR main.ServiceLauncher - Exception: 
> java.lang.IllegalStateException: connect in progress
> com.sun.jersey.api.client.ClientHandlerException: 
> java.lang.IllegalStateException: connect in progress
>         at 
> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149)
>         at com.sun.jersey.api.client.Client.handle(Client.java:648)
>         at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670)
>         at com.sun.jersey.api.client.WebResource.get(WebResource.java:191)
>         at 
> org.apache.slider.core.registry.retrieve.RegistryRetriever.getConfigurations(RegistryRetriever.java:216)
>         at 
> org.apache.slider.client.SliderClient.actionRegistryGetConfig(SliderClient.java:3117)
>         at 
> org.apache.slider.client.SliderClient.actionRegistry(SliderClient.java:2610)
>         at org.apache.slider.client.SliderClient.exec(SliderClient.java:404)
>         at 
> org.apache.slider.client.SliderClient.runService(SliderClient.java:348)
>         at 
> org.apache.slider.core.main.ServiceLauncher.launchService(ServiceLauncher.java:188)
>         at 
> org.apache.slider.core.main.ServiceLauncher.launchServiceRobustly(ServiceLauncher.java:475)
>         at 
> org.apache.slider.core.main.ServiceLauncher.launchServiceAndExit(ServiceLauncher.java:403)
>         at 
> org.apache.slider.core.main.ServiceLauncher.serviceMain(ServiceLauncher.java:630)
>         at org.apache.slider.Slider.main(Slider.java:49)
> Caused by: java.lang.IllegalStateException: connect in progress
>         at 
> sun.net.www.protocol.http.HttpURLConnection.setRequestMethod(HttpURLConnection.java:516)
>         at 
> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.setRequestMethodUsingWorkaroundForJREBug(URLConnectionClientHandler.java:259)
>         at 
> com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:191)
>         at 
> com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:147)
>         ... 13 more
> 2015-05-16 11:16:38,963 [main] INFO  util.ExitUtil - Exiting with status 56
> It is caused by the jersey.
> Some reference
> https://bugs.openjdk.java.net/browse/JDK-8029127
> http://stackoverflow.com/questions/27571645/httpurlconnection-getinputstream-to-read-page-and-then-make-post-request



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to