Hi,

I have made the changes in the code (using git), Colin suggested.
After building new spacewalk-java rpm's (make test-rpm) and installing the rpm's it still not working.
There is and ERROR. see:

        at 
com.redhat.rhn.domain.kickstart.builder.KickstartBuilder.create(KickstartBuilder.java:545)
        at 
com.redhat.rhn.frontend.action.kickstart.CreateProfileWizardAction.runComplete(CreateProfileWizardAction.java:288)
        ... 49 more
Caused by: org.postgresql.util.PSQLException: ERROR: syntax error at or near ")"
        at 
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1525)


Maybe this the problem?

I understand form Jonathan that there are more places in the code with this problem.
I need on this moment only a fix for the kickstart profiles.
If it is fixed I can try to install the following months 150 machines and see how the performance is from spacewalk
in combination with postgresql and if it scales.

Greetings
Eite Tiesinga


On 01/24/2011 11:24 AM, Jonathan Hoser wrote:
This is only the first of a few related bugs in the SQL statements,
I'll try to get them sorted later today - thought I have them applied on my SW1.2;

might this pose any problems? I'm reluctant to upgrade my semi-production sw1.2.

best
-Jonathan

On 01/24/2011 12:18 AM, Colin Coe wrote:
On Mon, Jan 24, 2011 at 6:22 AM, tiesinga<[email protected]>  wrote:
Hi list,

I cannot create a kickstart profile
Server is 1.3 nightly running on Centos 5.5
Using postgresql database.

Greetings
Eite Tiesinga

I get de following messages:

The following exception occurred while executing this request:
POST /rhn/kickstart/CreateProfileWizard.do

Date:1/23/11 11:16:15 PM CET
Headers:
  host: satellite
  user-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.6)
Gecko/20100630 Red Hat/3.6.6-2.el6 Firefox/3.6.6
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  accept-language: en-us,en;q=0.5
  accept-encoding: gzip,deflate
  accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
  Keep-Alive: 115
  connection: keep-alive
  referer:https://satellite/rhn/kickstart/CreateProfileWizard.do
  cookie: JSESSIONID=65B309F1C883D87D327C05747FA95DA3;
pxt-session-cookie=8x1221b860f6aed16d58e729c1c3e1d7f0
  content-type: application/x-www-form-urlencoded
  content-length: 207

Request:
Local Name = satellite
Server Name = satellite
Requested Session Id came from Cookie
Requested Session Valid = true
Session =
org.apache.catalina.session.StandardSessionFacade@55da4057[session=StandardSession[65B309F1C883D87D327C05747FA95DA3]]
Protocol = https
Request Locale = en_US
Request Character Encoding = UTF-8
Attribute Names = rhnActiveLang, javax.servlet.request.ssl_session,
org.apache.struts.action.MESSAGE,
javax.servlet.jsp.jstl.fmt.timeZone.request, session,
javax.servlet.request.key_size, __sitemesh__filterapplied,
javax.servlet.request.cipher_suite, requestedUri, kickstartCreateWizardForm, org.apache.struts.action.mapping.instance, org.apache.struts.action.MODULE,

Form Variables:
  prevStep: second
  rootPasswordConfirm: test
  rootPassword: test
  virtualizationTypeLabel: none
  defaultDownload: true
  nextStep: complete
  kickstartLabel: ks-sl6-x86_64
  kstreeId: 1
  userDefinedDownload:
  wizardStep: complete


User Information:
User admin (id 1, org_id 1)

Exception:
javax.servlet.ServletException
        at
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:237)
        at
com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:82)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
        at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:101)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:142)
        at
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:108)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:55)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
        at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
        at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
        at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
        at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
        at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at
com.redhat.rhn.frontend.struts.wizard.WizardStep.invoke(WizardStep.java:116)
        at
com.redhat.rhn.frontend.struts.wizard.RhnWizardAction.dispatch(RhnWizardAction.java:103)
        at
com.redhat.rhn.frontend.struts.wizard.RhnWizardAction.execute(RhnWizardAction.java:89)
        at
com.redhat.rhn.frontend.action.kickstart.CreateProfileWizardAction.execute(CreateProfileWizardAction.java:104)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
        ... 40 more
Caused by: org.hibernate.exception.SQLGrammarException: could not execute
query
        at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
        at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.loader.Loader.doList(Loader.java:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
        at org.hibernate.loader.Loader.list(Loader.java:2099)
        at
org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
        at
org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
        at
org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
        at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
        at
com.redhat.rhn.common.hibernate.HibernateFactory.listObjectsByNamedQuery(HibernateFactory.java:265)
        at
com.redhat.rhn.common.hibernate.HibernateFactory.listObjectsByNamedQuery(HibernateFactory.java:206)
        at
com.redhat.rhn.domain.channel.ChannelFactory.getUserAcessibleChannels(ChannelFactory.java:327)
        at
com.redhat.rhn.manager.channel.ChannelManager.userAccessibleChildChannels(ChannelManager.java:763)
        at
com.redhat.rhn.manager.channel.ChannelManager.getToolsChannel(ChannelManager.java:1834)
        at
com.redhat.rhn.manager.kickstart.KickstartScheduleCommand.getToolsChannel(KickstartScheduleCommand.java:1041)
        at
com.redhat.rhn.manager.kickstart.KickstartSessionCreateCommand.<init>(KickstartSessionCreateCommand.java:94)
        at
com.redhat.rhn.manager.kickstart.KickstartSessionCreateCommand.<init>(KickstartSessionCreateCommand.java:53)
        at
com.redhat.rhn.manager.kickstart.KickstartWizardHelper.store(KickstartWizardHelper.java:181)
        at
com.redhat.rhn.domain.kickstart.builder.KickstartBuilder.create(KickstartBuilder.java:545)
        at
com.redhat.rhn.frontend.action.kickstart.CreateProfileWizardAction.runComplete(CreateProfileWizardAction.java:288)
        ... 49 more
Caused by: org.postgresql.util.PSQLException: ERROR: syntax error at or near
")"
        at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1525)
        at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1309)
        at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
        at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
        at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354)
        at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:258)
        at
com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:50)
        at
org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
        at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
        at org.hibernate.loader.Loader.doQuery(Loader.java:674)
        at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
        at org.hibernate.loader.Loader.doList(Loader.java:2220)
        ... 66 more





--
Eite Tiesinga

Kapteyn Astronomical Institute
University of Groningen
Computer group
Landleven 12 (Zernike building)
9747 AD Groningen
the Netherlands
Phone: +31 (0)50-3634017

Hi

I ran into this also. The problem is with one of the SQL queries that
still uses the Oracle (+) join syntax.  I've a patch waiting in the
wings but I'm had so much trouble with the dev workstation procedure
of the last month or two and many competing priorities that its had to
take a number and wait its turn.

The offending file is code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml

The offending code is:
---
<sql-query name="Channel.accessibleChildChannelIds">
<![CDATA[SELECT {c.*}
   FROM   rhnChannel c
          LEFT OUTER JOIN rhnChannelCloned c_1_ ON c.id = c_1_.id
  WHERE   parent_channel = :cid
      AND rhn_channel.get_org_access(c.id, :org_id) = 1
  UNION
  SELECT {c.*}
  FROM    rhnChannel c,
          rhnSharedChannelView sc,
          rhnChannelCloned c_1_
  WHERE   sc.parent_channel = :cid
  AND     sc.org_trust_id = :org_id
  AND     sc.id = c.id
  AND     c.id = c_1_.id (+)
     ]]>
<return alias="c" class="com.redhat.rhn.domain.channel.Channel" />
</sql-query>
---
needs changing to something similar to
---
<sql-query name="Channel.accessibleChildChannelIds">
<![CDATA[SELECT {c.*}
   FROM   rhnChannel c
          LEFT OUTER JOIN rhnChannelCloned c_1_ ON c.id = c_1_.id
  WHERE   parent_channel = :cid
      AND rhn_channel.get_org_access(c.id, :org_id) = 1
  UNION
  SELECT {c.*}
  FROM    rhnChannel c,
          rhnSharedChannelView sc,
          rhnChannelCloned c_1_,
          LEFT OUTER JOIN rhnChannelCloned c_1_ ON c.id = c_1_.id
  WHERE   sc.parent_channel = :cid
  AND     sc.org_trust_id = :org_id
  AND     sc.id = c.id
     ]]>
<return alias="c" class="com.redhat.rhn.domain.channel.Channel" />
</sql-query>
---

This is untested as I don't have a working dev environment right now
but it is along those lines.

CC

--
RHCE#805007969328369

_______________________________________________
Spacewalk-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-list
.





--
Eite Tiesinga

Kapteyn Astronomical Institute
University of Groningen
Computer group
Landleven 12 (Zernike building)
9747 AD Groningen
the Netherlands
Phone: +31 (0)50-3634017


_______________________________________________
Spacewalk-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-list

Reply via email to