Bug 896566 - Multiple entries under Distribution Channel Mapping causes error when viewing channel
Summary: Multiple entries under Distribution Channel Mapping causes error when viewing...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Spacewalk
Classification: Community
Component: WebUI
Version: 1.8
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Tomas Lestach
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: space20
TreeView+ depends on / blocked
 
Reported: 2013-01-17 14:41 UTC by nathanp
Modified: 2013-08-02 13:00 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-08-02 13:00:13 UTC
Embargoed:


Attachments (Terms of Use)

Description nathanp 2013-01-17 14:41:50 UTC
Description of problem:
When I create multiple Distribution Channel Mappings for a single channel, I receive an error (traceback at bottom) when I try to view that channel in the spacewalk interface.  If I remove one of the mappings so that only one mapping remains the error goes away.


Version-Release number of selected component (if applicable):
1.8 x86_64 installed on Scientific Linux 6.3 with a Postgres database

How reproducible: 100%


Steps to Reproduce:
1. Add new distribution channel mapping so that centos-release version 5.1 IA-32 is mapped to the centos5-i386 (or any other) channel.
2. Add a second mapping for centos-release version 5.2 IA-32 to the same channel as step 1.
3. Return to the main software channels list and attempt to view the channel that the mappings were created for
  
Actual results:
Error (traceback below)

Expected results:
View channel info

Additional info:

Error (traceback below)

The following exception occurred while executing this request:
GET /rhn/channels/ChannelDetail.do

Date:1/17/13 9:27:06 AM EST
Headers:
  host: spacewalk.domain.org
  connection: keep-alive
  user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
  accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  referer: https://spacewalk.domain.org/rhn/software/channels/All.do
  accept-encoding: gzip,deflate,sdch
  accept-language: en-US,en;q=0.8
  accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
  cookie: JSESSIONID=REMOVED; cookiecrisp="REMOVED"; pxt-session-cookie=REMOVED

Request:
Local Name = spacewalk.domain.org
Server Name = spacewalk.domain.org
Requested Session Id came from Cookie
Requested Session Valid = true
Session = org.apache.catalina.session.StandardSessionFacade@74c676b7[session=StandardSession[REMOVED]]
Protocol = https
Request Locale = en_US
Request Character Encoding = UTF-8
Attribute Names = rhnActiveLang, channel_name, javax.servlet.jsp.jstl.fmt.timeZone.request, javax.servlet.request.key_size, channelDetailForm, globally, requestedUri, javax.servlet.request.ssl_session, org.apache.struts.action.MESSAGE, session, systems_subscribed, javax.servlet.request.cipher_suite, org.apache.struts.action.mapping.instance, channel, channel_last_modified, pack_size, org.apache.struts.action.MODULE, 


User Information:
User testuser (id 2, org_id 1)

Exception:
javax.servlet.ServletException: com.redhat.rhn.common.hibernate.HibernateRuntimeException: Executing query DistChannelMap.findByChannel with params {channel=com.redhat.rhn.domain.channel.Channel@4e71047[id=323,label=scientific63-i386]} failed
	at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:520)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:427)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
	at com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:99)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:93)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:55)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
	at java.lang.Thread.run(Thread.java:679)
Caused by: com.redhat.rhn.common.hibernate.HibernateRuntimeException: Executing query DistChannelMap.findByChannel with params {channel=com.redhat.rhn.domain.channel.Channel@4e71047[id=323,label=scientific63-i386]} failed
	at com.redhat.rhn.common.hibernate.HibernateFactory.lookupObjectByNamedQuery(HibernateFactory.java:188)
	at com.redhat.rhn.common.hibernate.HibernateFactory.lookupObjectByNamedQuery(HibernateFactory.java:158)
	at com.redhat.rhn.domain.channel.ChannelFactory.lookupDistChannelMap(ChannelFactory.java:902)
	at com.redhat.rhn.domain.channel.Channel.isChannelRepodataRequired(Channel.java:833)
	at com.redhat.rhn.frontend.action.channel.ChannelDetailsAction.execute(ChannelDetailsAction.java:90)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
	... 40 more
Caused by: org.hibernate.NonUniqueResultException: query did not return a unique result: 2
	at org.hibernate.impl.AbstractQueryImpl.uniqueElement(AbstractQueryImpl.java:820)
	at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
	at com.redhat.rhn.common.hibernate.HibernateFactory.lookupObjectByNamedQuery(HibernateFactory.java:182)
	... 45 more

Comment 1 Tomas Lestach 2013-04-05 16:54:37 UTC
spacewalk.git:
 525eb9b116a99815bf1437e50584500f660bdf85
 09371cc6fbaed01f57428c0b1845a96824c55e60

Comment 2 Tomáš Kašpárek 2013-08-02 13:00:13 UTC
Fix for this bug is present in Spacewalk 2.0, closing this bug as CURRENTRELEASE.


Note You need to log in before you can comment on or make changes to this bug.