java.lang.Throwable: [http-nio-8081-exec-96] async call to 'public abstract void org.artifactory.storage.security.service.UserGroupStoreService.resetIncorrectLoginAttempts(java.lang.String)' completed with error.

JFrog JIRA | Alexei Vainshtein | 10 months ago
  1. 0

    There is a race condition when trying to do multi login attempts with the same user. There is an insertion to the user_props multiple times and that causes a duplicate key violets: {code} 2016-01-27 15:43:17,580 [art-exec-15] [ERROR] (o.a.s.a.AsyncAdvice :168) - Could not execute async method: 'public abstract void org.artifactory.storage.security.service.UserGroupStoreService.resetIncorrectLoginAttempts(java.lang.String)'. java.lang.Throwable: [http-nio-8081-exec-96] async call to 'public abstract void org.artifactory.storage.security.service.UserGroupStoreService.resetIncorrectLoginAttempts(java.lang.String)' completed with error. at org.artifactory.schedule.aop.AsyncAdvice$TraceableMethodInvocation.<init>(AsyncAdvice.java:329) ~[artifactory-core-4.4.0.jar:na] at org.artifactory.schedule.aop.AsyncAdvice.invoke(AsyncAdvice.java:88) ~[artifactory-core-4.4.0.jar:na] at org.artifactory.schedule.aop.AsyncAdvice.invoke(AsyncAdvice.java:1) ~[artifactory-core-4.4.0.jar:na] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at com.sun.proxy.$Proxy40.resetIncorrectLoginAttempts(Unknown Source) ~[na:na] at org.artifactory.security.SecurityServiceImpl.interceptLoginSuccess(SecurityServiceImpl.java:703) ~[artifactory-core-4.4.0.jar:na] at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_60] at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_60] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at com.sun.proxy.$Proxy41.interceptLoginSuccess(Unknown Source) ~[na:na] at org.artifactory.webapp.servlet.authentication.ArtifactoryAuthenticationFilterChain.doFilter(ArtifactoryAuthenticationFilterChain.java:195) ~[artifactory-web-application-4.4.0.jar:na] at org.artifactory.webapp.servlet.AccessFilter.authenticateAndExecute(AccessFilter.java:240) ~[artifactory-web-application-4.4.0.jar:na] at org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:190) ~[artifactory-web-application-4.4.0.jar:na] at org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:156) ~[artifactory-web-application-4.4.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) ~[catalina.jar:8.0.22] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[catalina.jar:8.0.22] at org.artifactory.webapp.servlet.RequestFilter.doFilter(RequestFilter.java:65) ~[artifactory-web-application-4.4.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) ~[catalina.jar:8.0.22] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[catalina.jar:8.0.22] at org.artifactory.webapp.servlet.ArtifactoryFilter.doFilter(ArtifactoryFilter.java:116) ~[artifactory-web-application-4.4.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) ~[catalina.jar:8.0.22] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[catalina.jar:8.0.22] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) ~[catalina.jar:8.0.22] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) ~[catalina.jar:8.0.22] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) ~[catalina.jar:8.0.22] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) ~[catalina.jar:8.0.22] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) ~[catalina.jar:8.0.22] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) ~[catalina.jar:8.0.22] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) ~[tomcat-coyote.jar:8.0.22] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) ~[tomcat-coyote.jar:8.0.22] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521) ~[tomcat-coyote.jar:8.0.22] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478) ~[tomcat-coyote.jar:8.0.22] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_60] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:8.0.22] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60] Caused by: org.artifactory.storage.StorageException: Could not reset incorrect login attempts for user 'admin', because ERROR: duplicate key value violates unique constraint "user_props_pk" Detail: Key (user_id, prop_key)=(15, incorrect_login_attempts) already exists. at org.artifactory.storage.db.security.service.UserGroupServiceImpl.resetIncorrectLoginAttempts(UserGroupServiceImpl.java:643) ~[artifactory-storage-db-4.4.0.jar:na] at sun.reflect.GeneratedMethodAccessor145.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_60] at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_60] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.artifactory.schedule.aop.AsyncAdvice$TraceableMethodInvocation.proceed(AsyncAdvice.java:348) ~[artifactory-core-4.4.0.jar:na] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.artifactory.storage.fs.lock.aop.LockingAdvice.invoke(LockingAdvice.java:64) ~[artifactory-storage-common-4.4.0.jar:na] at org.artifactory.schedule.aop.AsyncAdvice.doInvoke(AsyncAdvice.java:210) ~[artifactory-core-4.4.0.jar:na] at org.artifactory.schedule.aop.AsyncAdvice$1.call(AsyncAdvice.java:146) ~[artifactory-core-4.4.0.jar:na] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_60] at org.artifactory.schedule.ArtifactoryConcurrentExecutor$RunnableWrapper.run(ArtifactoryConcurrentExecutor.java:102) [artifactory-storage-common-4.4.0.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_60] ... 1 common frames omitted {code}

    JFrog JIRA | 10 months ago | Alexei Vainshtein
    java.lang.Throwable: [http-nio-8081-exec-96] async call to 'public abstract void org.artifactory.storage.security.service.UserGroupStoreService.resetIncorrectLoginAttempts(java.lang.String)' completed with error.
  2. 0

    There is a race condition when trying to do multi login attempts with the same user. There is an insertion to the user_props multiple times and that causes a duplicate key violets: {code} 2016-01-27 15:43:17,580 [art-exec-15] [ERROR] (o.a.s.a.AsyncAdvice :168) - Could not execute async method: 'public abstract void org.artifactory.storage.security.service.UserGroupStoreService.resetIncorrectLoginAttempts(java.lang.String)'. java.lang.Throwable: [http-nio-8081-exec-96] async call to 'public abstract void org.artifactory.storage.security.service.UserGroupStoreService.resetIncorrectLoginAttempts(java.lang.String)' completed with error. at org.artifactory.schedule.aop.AsyncAdvice$TraceableMethodInvocation.<init>(AsyncAdvice.java:329) ~[artifactory-core-4.4.0.jar:na] at org.artifactory.schedule.aop.AsyncAdvice.invoke(AsyncAdvice.java:88) ~[artifactory-core-4.4.0.jar:na] at org.artifactory.schedule.aop.AsyncAdvice.invoke(AsyncAdvice.java:1) ~[artifactory-core-4.4.0.jar:na] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at com.sun.proxy.$Proxy40.resetIncorrectLoginAttempts(Unknown Source) ~[na:na] at org.artifactory.security.SecurityServiceImpl.interceptLoginSuccess(SecurityServiceImpl.java:703) ~[artifactory-core-4.4.0.jar:na] at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_60] at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_60] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at com.sun.proxy.$Proxy41.interceptLoginSuccess(Unknown Source) ~[na:na] at org.artifactory.webapp.servlet.authentication.ArtifactoryAuthenticationFilterChain.doFilter(ArtifactoryAuthenticationFilterChain.java:195) ~[artifactory-web-application-4.4.0.jar:na] at org.artifactory.webapp.servlet.AccessFilter.authenticateAndExecute(AccessFilter.java:240) ~[artifactory-web-application-4.4.0.jar:na] at org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:190) ~[artifactory-web-application-4.4.0.jar:na] at org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:156) ~[artifactory-web-application-4.4.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) ~[catalina.jar:8.0.22] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[catalina.jar:8.0.22] at org.artifactory.webapp.servlet.RequestFilter.doFilter(RequestFilter.java:65) ~[artifactory-web-application-4.4.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) ~[catalina.jar:8.0.22] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[catalina.jar:8.0.22] at org.artifactory.webapp.servlet.ArtifactoryFilter.doFilter(ArtifactoryFilter.java:116) ~[artifactory-web-application-4.4.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) ~[catalina.jar:8.0.22] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[catalina.jar:8.0.22] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) ~[catalina.jar:8.0.22] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) ~[catalina.jar:8.0.22] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) ~[catalina.jar:8.0.22] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) ~[catalina.jar:8.0.22] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) ~[catalina.jar:8.0.22] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) ~[catalina.jar:8.0.22] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) ~[tomcat-coyote.jar:8.0.22] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) ~[tomcat-coyote.jar:8.0.22] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521) ~[tomcat-coyote.jar:8.0.22] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478) ~[tomcat-coyote.jar:8.0.22] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_60] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:8.0.22] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60] Caused by: org.artifactory.storage.StorageException: Could not reset incorrect login attempts for user 'admin', because ERROR: duplicate key value violates unique constraint "user_props_pk" Detail: Key (user_id, prop_key)=(15, incorrect_login_attempts) already exists. at org.artifactory.storage.db.security.service.UserGroupServiceImpl.resetIncorrectLoginAttempts(UserGroupServiceImpl.java:643) ~[artifactory-storage-db-4.4.0.jar:na] at sun.reflect.GeneratedMethodAccessor145.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_60] at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_60] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.artifactory.schedule.aop.AsyncAdvice$TraceableMethodInvocation.proceed(AsyncAdvice.java:348) ~[artifactory-core-4.4.0.jar:na] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.artifactory.storage.fs.lock.aop.LockingAdvice.invoke(LockingAdvice.java:64) ~[artifactory-storage-common-4.4.0.jar:na] at org.artifactory.schedule.aop.AsyncAdvice.doInvoke(AsyncAdvice.java:210) ~[artifactory-core-4.4.0.jar:na] at org.artifactory.schedule.aop.AsyncAdvice$1.call(AsyncAdvice.java:146) ~[artifactory-core-4.4.0.jar:na] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_60] at org.artifactory.schedule.ArtifactoryConcurrentExecutor$RunnableWrapper.run(ArtifactoryConcurrentExecutor.java:102) [artifactory-storage-common-4.4.0.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_60] ... 1 common frames omitted {code}

    JFrog JIRA | 10 months ago | Alexei Vainshtein
    java.lang.Throwable: [http-nio-8081-exec-96] async call to 'public abstract void org.artifactory.storage.security.service.UserGroupStoreService.resetIncorrectLoginAttempts(java.lang.String)' completed with error.
  3. 0

    In PostgreSQL a failure to insert marked the transaction as rollback without ability to send more queries. Exception looks like: {code} org.artifactory.storage.StorageException: Failed to insert new binary record: ERROR: current transaction is aborted, commands ignored until end of transaction block at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) at org.artifactory.storage.db.util.JdbcHelper.executeSelect(JdbcHelper.java:90) at org.artifactory.storage.db.binstore.dao.BinariesDao.load(BinariesDao.java:66) at org.artifactory.storage.db.binstore.service.BinaryStoreImpl.insertRecordInDb(BinaryStoreImpl.java:520) at org.artifactory.storage.db.binstore.service.BinaryStoreImpl.addBinary(BinaryStoreImpl.java:320) at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy46.addBinary(Unknown Source) at org.artifactory.storage.db.fs.model.DbMutableFile.fillData(DbMutableFile.java:107) at org.artifactory.repo.db.DbStoringRepoMixin.fillFileData(DbStoringRepoMixin.java:573) at org.artifactory.repo.db.DbStoringRepoMixin.saveResource(DbStoringRepoMixin.java:200) at org.artifactory.repo.db.DbLocalRepo.saveResource(DbLocalRepo.java:143) at org.artifactory.engine.UploadServiceImpl.uploadItemWithContent(UploadServiceImpl.java:611) at org.artifactory.engine.UploadServiceImpl.uploadItemWithProvidedContent(UploadServiceImpl.java:589) at org.artifactory.engine.UploadServiceImpl.uploadItem(UploadServiceImpl.java:526) at org.artifactory.engine.UploadServiceImpl.uploadFile(UploadServiceImpl.java:499) at org.artifactory.engine.UploadServiceImpl.uploadArtifact(UploadServiceImpl.java:478) at org.artifactory.engine.UploadServiceImpl.uploadWithinTransaction(UploadServiceImpl.java:150) at sun.reflect.GeneratedMethodAccessor172.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.artifactory.request.aop.RequestAdvice.invoke(RequestAdvice.java:65) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.artifactory.storage.fs.lock.aop.LockingAdvice.invoke(LockingAdvice.java:64) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy49.uploadWithinTransaction(Unknown Source) at org.artifactory.engine.UploadServiceImpl.adjustResponseAndUpload(UploadServiceImpl.java:235) at org.artifactory.engine.UploadServiceImpl.validateRequestAndUpload(UploadServiceImpl.java:190) at org.artifactory.engine.UploadServiceImpl.upload(UploadServiceImpl.java:136) at sun.reflect.GeneratedMethodAccessor171.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) at com.sun.proxy.$Proxy49.upload(Unknown Source) at org.artifactory.test.utils.ITestUtils.upload(ITestUtils.java:237) at org.artifactory.test.utils.ITestUtils.upload(ITestUtils.java:216) at org.artifactory.test.utils.ITestUtils.upload(ITestUtils.java:189) at org.artifactory.test.utils.ITestUtils.upload(ITestUtils.java:173) at org.artifactory.test.utils.ITestUtils.upload(ITestUtils.java:163) at org.artifactory.updown.ConcurrentDownloadUploadTest.releaseUpload(ConcurrentDownloadUploadTest.java:66) Standard Output {code}

    JFrog JIRA | 3 years ago | Frederic Simon
    org.artifactory.storage.StorageException: Failed to insert new binary record: ERROR: current transaction is aborted, commands ignored until end of transaction block
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Artifactory / Mailing Lists

    sourceforge.net | 9 months ago
    org.artifactory.storage.StorageException: Could not insert build Build{version='1.0.1', name='Tradenity', number='22', type=GENERIC, buildAgent=Generic/Generic, agent=hudson/1.648, started='2016-03-01T12:05:06.642+0200', durationMillis=18018, principal='anonymous', artifactoryPrincipal='admin', artifactoryPluginVersion='2.4.7', url=' ;, parentName='null', parentNumber='null', vcsRevision='7fdaa715b604d2a27eed956af5560a06a1d6ebe8', vcsUrl='null', parentBuildId='null', licenseControl=org.jfrog.build.api.LicenseControl@..., buildRetention=org.jfrog.build.api.BuildRetention@..., runParameters=null, modules=[org.jfrog.build.api.Module@...], statuses=null, buildDependencies=[], issues=null, governance=org.jfrog.build.api.Governance@...} at org.artifactory.storage.db.build.service.BuildStoreServiceImpl.addBuild(BuildStoreServiceImpl.java:122) ~[artifactory-storage-db-4.5.1.jar:na] at org.artifactory.build.BuildServiceImpl.addBuild(BuildServiceImpl.java:193) ~[artifactory-core-4.5.1.jar:na]
  6. 0

    In PostgreSQL a failure to insert marked the transaction as rollback without ability to send more queries. Exception looks like: {code} org.artifactory.storage.StorageException: Failed to insert new binary record: ERROR: current transaction is aborted, commands ignored until end of transaction block at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) at org.artifactory.storage.db.util.JdbcHelper.executeSelect(JdbcHelper.java:90) at org.artifactory.storage.db.binstore.dao.BinariesDao.load(BinariesDao.java:66) at org.artifactory.storage.db.binstore.service.BinaryStoreImpl.insertRecordInDb(BinaryStoreImpl.java:520) at org.artifactory.storage.db.binstore.service.BinaryStoreImpl.addBinary(BinaryStoreImpl.java:320) at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy46.addBinary(Unknown Source) at org.artifactory.storage.db.fs.model.DbMutableFile.fillData(DbMutableFile.java:107) at org.artifactory.repo.db.DbStoringRepoMixin.fillFileData(DbStoringRepoMixin.java:573) at org.artifactory.repo.db.DbStoringRepoMixin.saveResource(DbStoringRepoMixin.java:200) at org.artifactory.repo.db.DbLocalRepo.saveResource(DbLocalRepo.java:143) at org.artifactory.engine.UploadServiceImpl.uploadItemWithContent(UploadServiceImpl.java:611) at org.artifactory.engine.UploadServiceImpl.uploadItemWithProvidedContent(UploadServiceImpl.java:589) at org.artifactory.engine.UploadServiceImpl.uploadItem(UploadServiceImpl.java:526) at org.artifactory.engine.UploadServiceImpl.uploadFile(UploadServiceImpl.java:499) at org.artifactory.engine.UploadServiceImpl.uploadArtifact(UploadServiceImpl.java:478) at org.artifactory.engine.UploadServiceImpl.uploadWithinTransaction(UploadServiceImpl.java:150) at sun.reflect.GeneratedMethodAccessor172.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.artifactory.request.aop.RequestAdvice.invoke(RequestAdvice.java:65) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.artifactory.storage.fs.lock.aop.LockingAdvice.invoke(LockingAdvice.java:64) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy49.uploadWithinTransaction(Unknown Source) at org.artifactory.engine.UploadServiceImpl.adjustResponseAndUpload(UploadServiceImpl.java:235) at org.artifactory.engine.UploadServiceImpl.validateRequestAndUpload(UploadServiceImpl.java:190) at org.artifactory.engine.UploadServiceImpl.upload(UploadServiceImpl.java:136) at sun.reflect.GeneratedMethodAccessor171.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) at com.sun.proxy.$Proxy49.upload(Unknown Source) at org.artifactory.test.utils.ITestUtils.upload(ITestUtils.java:237) at org.artifactory.test.utils.ITestUtils.upload(ITestUtils.java:216) at org.artifactory.test.utils.ITestUtils.upload(ITestUtils.java:189) at org.artifactory.test.utils.ITestUtils.upload(ITestUtils.java:173) at org.artifactory.test.utils.ITestUtils.upload(ITestUtils.java:163) at org.artifactory.updown.ConcurrentDownloadUploadTest.releaseUpload(ConcurrentDownloadUploadTest.java:66) Standard Output {code}

    JFrog JIRA | 3 years ago | Frederic Simon
    org.artifactory.storage.StorageException: Failed to insert new binary record: ERROR: current transaction is aborted, commands ignored until end of transaction block

    Root Cause Analysis

    1. org.artifactory.storage.StorageException

      Could not reset incorrect login attempts for user 'admin', because ERROR: duplicate key value violates unique constraint "user_props_pk" Detail: Key (user_id, prop_key)=(15, incorrect_login_attempts) already exists.

      at org.artifactory.storage.db.security.service.UserGroupServiceImpl.resetIncorrectLoginAttempts()
    2. org.artifactory.storage
      UserGroupServiceImpl.resetIncorrectLoginAttempts
      1. org.artifactory.storage.db.security.service.UserGroupServiceImpl.resetIncorrectLoginAttempts(UserGroupServiceImpl.java:643)[artifactory-storage-db-4.4.0.jar:na]
      1 frame
    3. Java RT
      Method.invoke
      1. sun.reflect.GeneratedMethodAccessor145.invoke(Unknown Source)[na:na]
      2. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[na:1.8.0_60]
      3. java.lang.reflect.Method.invoke(Method.java:497)[na:1.8.0_60]
      3 frames
    4. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      2. org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      3. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      3 frames
    5. org.artifactory.schedule
      AsyncAdvice$TraceableMethodInvocation.proceed
      1. org.artifactory.schedule.aop.AsyncAdvice$TraceableMethodInvocation.proceed(AsyncAdvice.java:348)[artifactory-core-4.4.0.jar:na]
      1 frame
    6. Spring Tx
      TransactionInterceptor.invoke
      1. org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      2. org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      3. org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      3 frames
    7. org.artifactory.storage
      LockingAdvice.invoke
      1. org.artifactory.storage.fs.lock.aop.LockingAdvice.invoke(LockingAdvice.java:64)[artifactory-storage-common-4.4.0.jar:na]
      1 frame
    8. org.artifactory.schedule
      AsyncAdvice$1.call
      1. org.artifactory.schedule.aop.AsyncAdvice.doInvoke(AsyncAdvice.java:210)[artifactory-core-4.4.0.jar:na]
      2. org.artifactory.schedule.aop.AsyncAdvice$1.call(AsyncAdvice.java:146)[artifactory-core-4.4.0.jar:na]
      2 frames
    9. Java RT
      FutureTask.run
      1. java.util.concurrent.FutureTask.run(FutureTask.java:266)[na:1.8.0_60]
      1 frame
    10. org.artifactory.schedule
      ArtifactoryConcurrentExecutor$RunnableWrapper.run
      1. org.artifactory.schedule.ArtifactoryConcurrentExecutor$RunnableWrapper.run(ArtifactoryConcurrentExecutor.java:102)[artifactory-storage-common-4.4.0.jar:na]
      1 frame
    11. Java RT
      Thread.run
      1. java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[na:1.8.0_60]
      2. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[na:1.8.0_60]
      3. java.lang.Thread.run(Thread.java:745)[na:1.8.0_60]
      3 frames