[
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)