Uploaded image for project: 'Hawkular'
  1. Hawkular
  2. HAWKULAR-1099

Cocurrent transaction fails

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 1.0.0.Alpha15
    • None
    • None
    • None
    • Hide

      Using the same vertx httpClient to create resourceTypes with the same uri

      `http://

      {baseURI}

      /entity/f;{feedId}}/resourceType`

      but different payload at the same time.

      Show
      Using the same vertx httpClient to create resourceTypes with the same uri `http:// {baseURI} /entity/f;{feedId}}/resourceType` but different payload at the same time.

    Description

      I was creating 2 different resource types with the same http client at the same time.
      But one succeed, the other failed with the response 400 and body:
      {
      "errorMsg" : "The transaction has already been closed"
      }

      1302717 [default task-49] WARN org.hawkular.inventory.rest - RestEasy exception,
      java.lang.IllegalArgumentException: The transaction has already been closed
      at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122)
      at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.rollback(StandardTitanTx.java:1359)
      at org.hawkular.inventory.impl.tinkerpop.spi.GraphProvider.rollback(GraphProvider.java:151)
      at org.hawkular.inventory.impl.tinkerpop.InventoryContext.rollback(InventoryContext.java:63)
      at org.hawkular.inventory.impl.tinkerpop.TinkerpopBackend.rollback(TinkerpopBackend.java:1055)
      at org.hawkular.inventory.base.Transaction$Committable.rollback(Transaction.java:279)
      at org.hawkular.inventory.base.Util.onFailureRetry(Util.java:120)
      at org.hawkular.inventory.base.Util.inCommittableTx(Util.java:79)
      at org.hawkular.inventory.base.Traversal.inCommittableTxWithNotifications(Traversal.java:118)
      at org.hawkular.inventory.base.Traversal.inTxWithNotifications(Traversal.java:91)
      at org.hawkular.inventory.base.Mutator.doCreate(Mutator.java:80)
      at org.hawkular.inventory.base.BaseResourceTypes$ReadWrite.create(BaseResourceTypes.java:99)
      at org.hawkular.inventory.base.BaseResourceTypes$ReadWrite.create(BaseResourceTypes.java:60)
      at org.hawkular.inventory.api.WriteInterface.create(WriteInterface.java:60)
      at org.hawkular.inventory.rest.Utils.createUnder(Utils.java:152)
      at org.hawkular.inventory.rest.RestBase.create(RestBase.java:222)
      at org.hawkular.inventory.rest.RestEntity.post(RestEntity.java:120)
      at org.hawkular.inventory.rest.RestEntity$Proxy$_$$_WeldClientProxy.post(Unknown Source)
      at sun.reflect.GeneratedMethodAccessor142.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
      at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
      at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
      at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
      at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
      at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
      at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
      at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
      at io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:129)
      at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
      at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
      at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
      at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
      at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
      at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
      at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
      at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
      at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)
      at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
      at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
      at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
      at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
      at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
      at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
      at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
      at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
      at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
      at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
      at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
      at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
      at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
      at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
      at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      Attachments

        Activity

          People

            rhn-engineering-lkrejci Lukas Krejci
            auszone Austin Kuo (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: