Bug 720832 - Candlepin Data Insert doesn't roll back upon Pulp error
Summary: Candlepin Data Insert doesn't roll back upon Pulp error
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Katello
Classification: Retired
Component: Webservice API
Version: 1.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: ---
Assignee: Tomas Strachota
QA Contact: Katello QA List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-07-12 22:29 UTC by Jason E. Rist
Modified: 2013-02-27 04:16 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-01-12 13:25:03 UTC


Attachments (Terms of Use)

Description Jason E. Rist 2011-07-12 22:29:53 UTC
Description of problem:
Candlepin Data Insert doesn't roll back upon Pulp error, can't upload the same manifest twice.


Version-Release number of selected component (if applicable): 
988f5fbb69725c734208778e2f0f8094acf5a646

How reproducible:
very!


Steps to Reproduce:
1. clear all
2. start rails server
3. navigate to providers page:  https://0.0.0.0:3000/organizations/1/providers#panel=2
4. change pulp oauth secret to make it fail (edit /etc/pulp/pulp.conf)
5. upload subscription manifest (attached) 
6. you get an error
7. now make the pulp oauth secret match again
8. try to upload a manifest
  
Actual results:
There was a format error with your Subscription Manifest

Expected results:
Subscription manifest uploaded correctly.

Additional info:
Stack Trace from catalina.out
Jul 12 15:49:31 [http-8443-2] ERROR org.fedoraproject.candlepin.exceptions.CandlepinExceptionMapper - Runtime exception:
org.jboss.resteasy.spi.ApplicationException: org.fedoraproject.candlepin.exceptions.ConflictException: Import is older than existing data
	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:154)
	at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:248)
	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:205)
	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:489)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:466)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:120)
	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:200)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:48)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:43)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63)
	at org.fedoraproject.candlepin.servlet.filter.VersionFilter.doFilter(VersionFilter.java:47)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at org.fedoraproject.candlepin.servlet.filter.logging.LoggingFilter.doFilter(LoggingFilter.java:55)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.wideplay.warp.persist.PersistenceFilter$3.run(PersistenceFilter.java:141)
	at com.wideplay.warp.persist.internal.Lifecycles.failEarlyAndLeaveNoOneBehind(Lifecycles.java:29)
	at com.wideplay.warp.persist.PersistenceFilter.doFilter(PersistenceFilter.java:155)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
	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.valves.AccessLogValve.invoke(AccessLogValve.java:555)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:636)
Caused by: org.fedoraproject.candlepin.exceptions.ConflictException: Import is older than existing data
	at org.fedoraproject.candlepin.sync.Importer.validateMetadata(Importer.java:160)
	at org.fedoraproject.candlepin.sync.Importer$$EnhancerByGuice$$26bd3295.CGLIB$validateMetadata$1(<generated>)
	at org.fedoraproject.candlepin.sync.Importer$$EnhancerByGuice$$26bd3295$$FastClassByGuice$$f614247c.invoke(<generated>)
	at com.google.inject.internal.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
	at com.google.inject.ProxyFactory$1.intercept(ProxyFactory.java:53)
	at org.fedoraproject.candlepin.sync.Importer$$EnhancerByGuice$$26bd3295.validateMetadata(<generated>)
	at org.fedoraproject.candlepin.sync.Importer.importObjects(Importer.java:231)
	at org.fedoraproject.candlepin.sync.Importer$$EnhancerByGuice$$26bd3295.CGLIB$importObjects$2(<generated>)
	at org.fedoraproject.candlepin.sync.Importer$$EnhancerByGuice$$26bd3295$$FastClassByGuice$$f614247c.invoke(<generated>)
	at com.google.inject.internal.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
	at com.google.inject.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64)
	at com.wideplay.warp.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:68)
	at com.google.inject.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64)
	at com.google.inject.InterceptorStackCallback.intercept(InterceptorStackCallback.java:44)
	at org.fedoraproject.candlepin.sync.Importer$$EnhancerByGuice$$26bd3295.importObjects(<generated>)
	at org.fedoraproject.candlepin.sync.Importer.loadExport(Importer.java:194)
	at org.fedoraproject.candlepin.sync.Importer$$EnhancerByGuice$$26bd3295.CGLIB$loadExport$0(<generated>)
	at org.fedoraproject.candlepin.sync.Importer$$EnhancerByGuice$$26bd3295$$FastClassByGuice$$f614247c.invoke(<generated>)
	at com.google.inject.internal.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
	at com.google.inject.ProxyFactory$1.intercept(ProxyFactory.java:53)
	at org.fedoraproject.candlepin.sync.Importer$$EnhancerByGuice$$26bd3295.loadExport(<generated>)
	at org.fedoraproject.candlepin.resource.OwnerResource.importData(OwnerResource.java:633)
	at org.fedoraproject.candlepin.resource.OwnerResource$$EnhancerByGuice$$b073b594.CGLIB$importData$19(<generated>)
	at org.fedoraproject.candlepin.resource.OwnerResource$$EnhancerByGuice$$b073b594$$FastClassByGuice$$83284b9b.invoke(<generated>)
	at com.google.inject.internal.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
	at com.google.inject.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64)
	at org.fedoraproject.candlepin.auth.interceptor.SecurityInterceptor.invoke(SecurityInterceptor.java:110)
	at com.google.inject.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64)
	at com.google.inject.InterceptorStackCallback.intercept(InterceptorStackCallback.java:44)
	at org.fedoraproject.candlepin.resource.OwnerResource$$EnhancerByGuice$$b073b594.importData(<generated>)
	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 org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)
	... 40 more
Jul 12 15:49:31 [http-8443-2] DEBUG org.fedoraproject.candlepin.guice.I18nProvider - Getting i18n engine for locale en_US
Jul 12 15:49:31 [http-8443-2] DEBUG org.fedoraproject.candlepin.servlet.filter.logging.LoggingFilter - 
====Response====
  Status: 409
  Content-type: application/json
====Response====
Jul 12 15:49:31 [http-8443-2] DEBUG org.fedoraproject.candlepin.servlet.filter.logging.LoggingFilter - ====ResponseBody====
Jul 12 15:49:31 [http-8443-2] DEBUG org.fedoraproject.candlepin.servlet.filter.logging.LoggingFilter - {"displayMessage":"Import is older than existing data"}


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