Bug 999920

Summary: [Forge] Got java runtime exception "unknow request parameter type array" when run rhc setup in forge shell
Product: OpenShift Online Reporter: weiwei jiang <wjiang>
Component: MasterAssignee: Ravi Sankar <rpenta>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 2.xCC: jhonce, wsun
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-19 16:47:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description weiwei jiang 2013-08-22 11:24:08 UTC
Description of problem:
when rhc setup in forge shell, it got java runtime error message "unknow request parameter type array".

Version-Release number of selected component (if applicable):
java version "1.7.0_25"
openshift 1.0.6.final
forge 1.4.0.final

How reproducible:
always

Steps to Reproduce:
1.Create a new project in forge shell
2.run `rhc setup` in forge shell
3.

Actual results:
[adfadf] forge-distribution-1.4.0.Final $ rhc setup
***INFO*** Loaded OpenShift configuration from C:\Users\window7/.openshift/expre
ss.conf
 ? Enter the application name [adfadf]  [adfadf]
***INFO*** Using RHLOGIN:wjiang for https://ec2-54-211-105-250.comput
e-1.amazonaws.com
 ? Enter your Red Hat Openshift password: ******
java.lang.RuntimeException: com.openshift.client.OpenShiftRequestException: Unkn
ow request parameter type array
        at com.redhat.openshift.forge.OpenShiftFacet.install(OpenShiftFacet.java
:86)
        at org.jboss.forge.project.BaseProject.performInstallation(BaseProject.j
ava:240)
        at org.jboss.forge.project.BaseProject.installFacet(BaseProject.java:166
)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanIns
tance.java:48)
        at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandle
r.java:125)
        at org.jboss.weld.proxies.Project$-1946286523$Proxy$_$$_WeldClientProxy.
installFacet(Project$-1946286523$Proxy$_$$_WeldClientProxy.java)
        at org.jboss.forge.shell.project.FacetInstallationHandler.performInstall
ation(FacetInstallationHandler.java:105)
        at org.jboss.forge.shell.project.FacetInstallationHandler.install(FacetI
nstallationHandler.java:81)
        at org.jboss.forge.shell.project.FacetInstallationHandler.installRequest
(FacetInstallationHandler.java:59)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflec
tions.java:305)
        at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureRefle
ctionAccess.java:54)
        at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation
(SecureReflectionAccess.java:163)
        at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflect
ions.java:299)
        at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldM
ethodImpl.java:188)
        at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(For
wardingWeldMethod.java:59)
        at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpe
cialValue(MethodInjectionPoint.java:198)
        at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.
java:282)
        at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.
java:265)
        at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.jav
a:234)
        at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImp
l.java:635)
        at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java
:628)
        at org.jboss.weld.event.EventImpl.fire(EventImpl.java:75)
        at com.redhat.openshift.forge.OpenShiftPlugin.setup(OpenShiftPlugin.java
:100)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.jboss.forge.shell.command.Execution.perform(Execution.java:160)
        at org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.jav
a:109)
        at org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.jav
a:47)
        at org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:795
)
        at org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:818)
        at org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:608)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanIns
tance.java:48)
        at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandle
r.java:125)
        at org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(She
llImpl$Proxy$_$$_WeldClientProxy.java)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflec
tions.java:305)
        at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureRefle
ctionAccess.java:54)
        at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation
(SecureReflectionAccess.java:163)
        at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflect
ions.java:299)
        at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldM
ethodImpl.java:188)
        at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(For
wardingWeldMethod.java:59)
        at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpe
cialValue(MethodInjectionPoint.java:198)
        at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.
java:282)
        at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.
java:265)
        at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.jav
a:234)
        at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImp
l.java:635)
        at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java
:622)
        at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java
:616)
        at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:186)
        at java.lang.Thread.run(Thread.java:724)
Caused by: com.openshift.client.OpenShiftRequestException: Unknow request parame
ter type array
        at com.openshift.internal.client.response.LinkParameterType.valueOfIgnor
eCase(LinkParameterType.java:30)
        at com.openshift.internal.client.response.LinkParameter.<init>(LinkParam
eter.java:32)
        at com.openshift.internal.client.response.ResourceDTOFactory.createLinkP
arameter(ResourceDTOFactory.java:566)
        at com.openshift.internal.client.response.ResourceDTOFactory.createLinkP
arameters(ResourceDTOFactory.java:547)
        at com.openshift.internal.client.response.ResourceDTOFactory.createLinks
(ResourceDTOFactory.java:276)
        at com.openshift.internal.client.response.ResourceDTOFactory.createDomai
n(ResourceDTOFactory.java:336)
        at com.openshift.internal.client.response.ResourceDTOFactory.createDomai
ns(ResourceDTOFactory.java:302)
        at com.openshift.internal.client.response.ResourceDTOFactory.get(Resourc
eDTOFactory.java:109)
        at com.openshift.internal.client.RestService.request(RestService.java:92
)
        at com.openshift.internal.client.RestService.request(RestService.java:76
)
        at com.openshift.internal.client.AbstractOpenShiftResource$ServiceReques
t.execute(AbstractOpenShiftResource.java:137)
        at com.openshift.internal.client.APIResource$ListDomainsRequest.execute(
APIResource.java:223)
        at com.openshift.internal.client.APIResource.loadDomains(APIResource.jav
a:107)
        at com.openshift.internal.client.APIResource.getDomains(APIResource.java
:100)
        at com.openshift.internal.client.APIResource.getDefaultDomain(APIResourc
e.java:125)
        at com.openshift.internal.client.UserResource.getDefaultDomain(UserResou
rce.java:99)
        at com.redhat.openshift.forge.OpenShiftFacet.internalInstall(OpenShiftFa
cet.java:110)
        at com.redhat.openshift.forge.OpenShiftFacet.install(OpenShiftFacet.java
:81)
        ... 66 more
[adfadf] forge-distribution-1.4.0.Final $


Expected results:
It should success and no error messages output

Additional info:

Comment 1 Hiro Asari 2013-08-28 20:07:46 UTC
Looks like the Forge shell is installing openshift-java-client-2.0.1.jar when I reproduced this.

ARRAY type appears to be a recent (November 21, 2012) addition to the list of allowed types, which probably explains why the problem is bubbling up here. https://github.com/openshift/openshift-java-client/commit/d2199da8c8ddcc22c1ed40fa8718296b9bc480d0#L12R20

Latest tag on the source is 2.3.0, so I assume that if Forge can pick this up, the problem will go away.

Comment 2 Hiro Asari 2013-08-28 20:18:50 UTC
Editing the plugin's source pom.xml to use openshift-java-client 2.3.0 results in:

[ERROR] Failed to execute goal on project forge-openshift-plugin: Could not resolve dependencies for project com.redhat.openshift:forge-openshift-plugin:jar:1.0.6.Final: Could not find artifact com.openshift:openshift-java-client:jar:2.3.0 in JBOSS_NEXUS (http://repository.jboss.org/nexus/content/groups/public) -> [Help 1]

The artifact needs to be published.

Comment 3 Hiro Asari 2013-08-28 20:22:14 UTC
Assigning this to Dan Mace.

Comment 4 Clayton Coleman 2013-09-06 18:42:44 UTC
Related to same issue.

Comment 5 Lili Nader 2013-09-07 05:01:40 UTC
Ravi, I think this is the same issue fixed in 

https://github.com/openshift/origin-server/pull/3559

Has this fix been put in master?

Comment 6 Ravi Sankar 2013-09-09 17:52:50 UTC
Yes, fix is available in master(devenv_3751)
PR: https://github.com/openshift/origin-server/pull/3558

Comment 7 weiwei jiang 2013-09-10 02:19:34 UTC
Test on devenv_3762 with forge 1.4.0.final & openshift 1.0.6.final, work well, so verified it, thx