Licensed under the Apache 2.0 license (see the LICENSE file).
reportportal / service-api Goto Github PK
View Code? Open in Web Editor NEWReport portal. Main API Service
License: Apache License 2.0
Report portal. Main API Service
License: Apache License 2.0
Licensed under the Apache 2.0 license (see the LICENSE file).
Since we have a big amount of projects in RP in database are stored more than 100 project ids. Project that we need to clean up has id 117.
Used a debug logger mode to get more details and cleaning wasn't even started for project with id = 117.
It seems like query that collects projects for cleaning doesn't work properly.
Here is the part of log we expected to see but we didn't:
INFO 6 --- [gs-job-thread-1] c.epam.ta.reportportal.job.CleanLogsJob : Cleaning outdated logs for project 117 has been finished. Total logs removed: {some amount}
Please see the log attached.
rp_api_debug.zip
I understand we user rabbitmq for the purpose of analysis. Please correct me if my understanding is wrong.
We intend to use rp for aggregation of the test execution to start with with manual tagging of the issues.
is there a config that we could use disable any need for analyzer and deploy without rabbitmq.
We are trying to use exposed API in order to perform some actions in our reportportal instance.
We are trying to create a new user and then use this new user in order to perform other actions (like creating widjets, dashboards, etc.).
STEPS:
The problem is that we take error:
Code 404 - Not Found
Body:
{ "errorCode": 4046, "message": "User 'test' not found."}
As far as we can see, the calls are correct, but it seems that a step is required between steps 2 and 3.
To be more precise, if after step-2 we login manually to reportportal, then the step-3 will pass.
So, it seems that user is created but not "activated"...
Using reportportal UI
As we can see in the UI, the first time we login we can see 2 different apitoken calls. The first one fails with 404, and the second one passes. This is visible in "Network" tab but also in the errors in the "Console", as it is illustrated bellow:
ReportPortal version:
We are upgrading Linux version of Report Portal to 5.7.2 and tried downloading the API file from below URL:
curl -L $MAVEN_REPO/service-api/$API_VERSION/service-api-$API_VERSION-exec.jar -o service-api.jar but there is no executable jar file available in the url: https://repo1.maven.org/maven2/com/epam/reportportal/service-api/5.7.2/
Can you please provide this file so that we can upgrade report portal to latest version.
Hi guys,
It used to work for me in 5.2.0 but not any more. It seems like all the other services are fine, but not this one.
I'll provide some logs below. Can you help me figure out what's wrong? Thanks!
2020-09-16 21:10:41.418 INFO 8 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8585 (http)
2020-09-16 21:10:41.431 INFO 8 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-09-16 21:10:41.431 INFO 8 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.31]
2020-09-16 21:10:41.619 INFO 8 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2020-09-16 21:10:41.619 INFO 8 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 10912 ms
2020-09-16 21:10:42.943 INFO 8 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]
2020-09-16 21:10:43.346 INFO 8 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.4.12.Final
2020-09-16 21:10:43.848 INFO 8 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2020-09-16 21:10:45.323 INFO 8 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: com.epam.ta.reportportal.commons.JsonbAwarePostgresDialect
2020-09-16 21:10:49.144 INFO 8 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2020-09-16 21:10:49.156 INFO 8 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2020-09-16 21:10:49.442 INFO 8 --- [ main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor
2020-09-16 21:10:49.513 INFO 8 --- [ main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
2020-09-16 21:10:49.514 INFO 8 --- [ main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created.
2020-09-16 21:10:49.523 INFO 8 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : Using db table-based data access locking (synchronization).
2020-09-16 21:10:49.525 INFO 8 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : JobStoreCMT initialized.
2020-09-16 21:10:49.526 INFO 8 --- [ main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'reportportal' with instanceId 'api:2f1c5075555e6d516ef7c037cc8e8702'
Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
NOT STARTED.
Currently in standby mode.
Number of jobs executed: 0
Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 1 threads.
Using job-store 'org.springframework.scheduling.quartz.LocalDataSourceJobStore' - which supports persistence. and is clustered.
2020-09-16 21:10:49.526 INFO 8 --- [ main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'reportportal' initialized from an externally provided properties instance.
2020-09-16 21:10:49.526 INFO 8 --- [ main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2
2020-09-16 21:10:49.526 INFO 8 --- [ main] org.quartz.core.QuartzScheduler : JobFactory set to: com.epam.ta.reportportal.core.configs.SchedulerConfiguration$2@1eb7ec59
2020-09-16 21:10:54.205 INFO 8 --- [ main] org.pf4j.DefaultPluginStatusProvider : Enabled plugins: []
2020-09-16 21:10:54.205 INFO 8 --- [ main] org.pf4j.DefaultPluginStatusProvider : Disabled plugins: []
2020-09-16 21:10:54.208 INFO 8 --- [ main] org.pf4j.DefaultPluginManager : PF4J version 2.4.0 in 'deployment' mode
2020-09-16 21:10:55.219 INFO 8 --- [ main] org.pf4j.AbstractPluginManager : Plugin '[email protected]' resolved
2020-09-16 21:10:55.219 INFO 8 --- [ main] org.pf4j.AbstractPluginManager : Start plugin '[email protected]'
2020-09-16 21:10:56.209 INFO 8 --- [ main] c.e.t.r.plugin.Pf4jPluginManager : Plugin - 'jira' initialized.
2020-09-16 21:10:58.607 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'demoDataTaskExecutor'
2020-09-16 21:10:58.816 WARN 8 --- [ main] o.s.s.o.p.t.s.JwtAccessTokenConverter : Unable to create an RSA verifier from verifierKey (ignoreable if using MAC)
2020-09-16 21:10:59.122 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'patternAnalysisTaskExecutor'
2020-09-16 21:10:59.725 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'emailExecutorService'
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by net.sf.jasperreports.engine.util.ClassUtils (jar:file:/service-api-5.3.1-exec.jar!/BOOT-INF/lib/jasperreports-6.12.2.jar!/) to constructor com.sun.org.apache.xerces.internal.util.XMLGrammarPoolImpl()
WARNING: Please consider reporting this to the maintainers of net.sf.jasperreports.engine.util.ClassUtils
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2020-09-16 21:11:02.232 WARN 8 --- [ main] n.s.j.engine.xml.JRTextFieldFactory : The 'isStretchWithOverflow' attribute is deprecated. Use the 'textAdjust' attribute instead.
2020-09-16 21:11:02.729 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'saveLogsTaskExecutor'
2020-09-16 21:11:03.536 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'healthCheckTableExecutor'
2020-09-16 21:11:03.743 INFO 8 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 'taskScheduler'
2020-09-16 21:11:03.930 INFO 8 --- [ main] o.s.a.r.c.CachingConnectionFactory : Attempting to connect to: eght-1350020501-568568543-rabbitmq-ha:5672
2020-09-16 21:11:04.050 INFO 8 --- [ main] o.s.a.r.c.CachingConnectionFactory : Created new connection: connectionFactory#334ebcaa:0/SimpleConnection@4e09c3b0 [delegate=amqp://[email protected]:5672/, localPort= 37530]
2020-09-16 21:11:04.408 INFO 8 --- [ main] o.s.amqp.rabbit.core.RabbitAdmin : Auto-declaring a non-durable or auto-delete Exchange (broadcast.events) durable:false, auto-delete:false. It will be deleted by the broker if it shuts down, and can be redeclared by closing and reopening the connection.
2020-09-16 21:11:04.408 INFO 8 --- [ main] o.s.amqp.rabbit.core.RabbitAdmin : Auto-declaring a non-durable, auto-delete, or exclusive Queue (broadcast.events._hJf49NETiepE4YR8Cq7EQ) durable:false, auto-delete:true, exclusive:true. It will be redeclared if the broker stops and is restarted while the connection factory is alive, but all messages will be lost.
2020-09-16 21:11:04.519 INFO 8 --- [ main] c.e.t.r.c.c.r.ReportingConfiguration : Consumer is created, current consumers count is 1
2020-09-16 21:11:04.520 INFO 8 --- [ main] c.e.t.r.c.c.r.ReportingConfiguration : Consumer is created, current consumers count is 2
2020-09-16 21:11:04.520 INFO 8 --- [ main] c.e.t.r.c.c.r.ReportingConfiguration : Consumer is created, current consumers count is 3
2020-09-16 21:11:04.520 INFO 8 --- [ main] c.e.t.r.c.c.r.ReportingConfiguration : Consumer is created, current consumers count is 4
2020-09-16 21:11:04.520 INFO 8 --- [ main] c.e.t.r.c.c.r.ReportingConfiguration : Consumer is created, current consumers count is 5
2020-09-16 21:11:04.520 INFO 8 --- [ main] c.e.t.r.c.c.r.ReportingConfiguration : Consumer is created, current consumers count is 6
2020-09-16 21:11:04.520 INFO 8 --- [ main] c.e.t.r.c.c.r.ReportingConfiguration : Consumer is created, current consumers count is 7
2020-09-16 21:11:04.520 INFO 8 --- [ main] c.e.t.r.c.c.r.ReportingConfiguration : Consumer is created, current consumers count is 8
2020-09-16 21:11:04.520 INFO 8 --- [ main] c.e.t.r.c.c.r.ReportingConfiguration : Consumer is created, current consumers count is 9
2020-09-16 21:11:04.520 INFO 8 --- [ main] c.e.t.r.c.c.r.ReportingConfiguration : Consumer is created, current consumers count is 10
2020-09-16 21:11:05.538 WARN 8 --- [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2020-09-16 21:11:06.011 INFO 8 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 4 endpoint(s) beneath base path ''
2020-09-16 21:11:06.231 INFO 8 --- [ main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v1/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2020-09-16 21:11:06.321 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'autoAnalyzeTaskExecutor'
2020-09-16 21:11:06.738 WARN 8 --- [ ConnectionPool] okhttp3.OkHttpClient : A connection to http://eght-1350020501-568568543-minio:9000/ was leaked. Did you forget to close a response body? To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);
2020-09-16 21:11:08.214 INFO 8 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@54ad9ff9, org.springframework.security.web.context.SecurityContextPersistenceFilter@70d4c4ff, org.springframework.security.web.header.HeaderWriterFilter@362ad436, org.springframework.security.web.authentication.logout.LogoutFilter@37c1e2a4, org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter@319c77de, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1bf8ea44, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5ab45d66, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3b6b9981, org.springframework.security.web.session.SessionManagementFilter@4f03729f, org.springframework.security.web.access.ExceptionTranslationFilter@1dade178, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1f315f3d]
2020-09-16 21:11:08.603 INFO 8 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
2020-09-16 21:11:08.608 INFO 8 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2020-09-16 21:11:08.724 INFO 8 --- [ main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references
2020-09-16 21:11:09.420 INFO 8 --- [ main] org.jooq.Constants :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@
@@@@@@@@@@@@@@@@ @@ @@ @@@@@@@@@@
@@@@@@@@@@ @@@@ @@ @@ @@@@@@@@@@
@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@ @@ @@ @@@@ @@@@@@@@@@
@@@@@@@@@@ @@ @@ @@@@ @@@@@@@@@@
@@@@@@@@@@ @@ @ @ @@@@@@@@@@
@@@@@@@@@@ @@ @@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Thank you for using jOOQ 3.12.4
2020-09-16 21:11:09.603 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getActivitiesUsingGET_1
2020-09-16 21:11:09.639 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getAllowableIssueTypesUsingGET_1
2020-09-16 21:11:09.715 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getSetOfIntegrationSystemFieldsUsingGET_1
2020-09-16 21:11:09.943 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getGlobalIntegrationsUsingGET_1
2020-09-16 21:11:10.008 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getProjectIntegrationsUsingGET_1
2020-09-16 21:11:10.011 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: testIntegrationConnectionUsingGET_1
2020-09-16 21:11:10.207 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: finishLaunchUsingPUT_1
2020-09-16 21:11:10.306 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: mergeLaunchesUsingPOST_1
2020-09-16 21:11:10.307 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: startLaunchUsingPOST_1
2020-09-16 21:11:10.323 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: createLogUsingPOST_1
2020-09-16 21:11:10.325 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: createLogUsingPOST_2
2020-09-16 21:11:10.327 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: createLogUsingPOST_3
2020-09-16 21:11:10.436 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteProjectUsingDELETE_1
2020-09-16 21:11:10.533 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getProjectUsersUsingGET_1
2020-09-16 21:11:10.710 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: bulkUpdateUsingPUT_1
2020-09-16 21:11:10.717 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: finishTestItemUsingPUT_1
2020-09-16 21:11:10.719 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getAttributeKeysUsingGET_1
2020-09-16 21:11:10.722 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getAttributeValuesUsingGET_1
2020-09-16 21:11:10.742 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getTestItemsUsingGET_1
2020-09-16 21:11:10.806 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getTestItemsUsingGET_2
2020-09-16 21:11:10.812 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: startChildItemUsingPOST_1
2020-09-16 21:11:10.813 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: startRootItemUsingPOST_1
2020-09-16 21:11:10.837 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getMyselfUsingGET_1
2020-09-16 21:11:10.936 INFO 8 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getWidgetUsingGET_1
2020-09-16 21:11:11.018 INFO 8 --- [ main] c.e.t.r.c.c.SchedulerConfiguration$1 : Starting Quartz Scheduler now
2020-09-16 21:11:11.029 INFO 8 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : ClusterManager: detected 1 failed or restarted instances.
2020-09-16 21:11:11.029 INFO 8 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : ClusterManager: Scanning for instance "api:2403436c68b4100c6c3bfb41d90c44b1"'s failed in-progress jobs.
2020-09-16 21:11:11.034 INFO 8 --- [ main] org.quartz.core.QuartzScheduler : Scheduler reportportal_$_api:2f1c5075555e6d516ef7c037cc8e8702 started.
2020-09-16 21:11:11.423 INFO 8 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8585 (http) with context path ''
2020-09-16 21:11:11.426 INFO 8 --- [ main] c.e.t.r.core.configs.ReportPortalApp : Started ReportPortalApp in 42.679 seconds (JVM running for 43.916)
2020-09-16 21:11:11.918 ERROR 8 --- [ main] o.s.boot.SpringApplication : Application run failed
org.jasypt.exceptions.EncryptionOperationNotPossibleException: null
at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.decrypt(StandardPBEByteEncryptor.java:1169)
at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.decrypt(StandardPBEStringEncryptor.java:738)
at org.jasypt.util.text.BasicTextEncryptor.decrypt(BasicTextEncryptor.java:112)
at com.epam.ta.reportportal.core.integration.migration.JiraEmailSecretMigrationService.lambda$migrate$1(JiraEmailSecretMigrationService.java:55)
at java.base/java.util.Optional.ifPresent(Unknown Source)
at com.epam.ta.reportportal.core.integration.migration.JiraEmailSecretMigrationService.lambda$migrate$2(JiraEmailSecretMigrationService.java:54)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at com.epam.ta.reportportal.core.integration.migration.JiraEmailSecretMigrationService.migrate(JiraEmailSecretMigrationService.java:52)
at com.epam.ta.reportportal.core.integration.migration.JiraEmailSecretMigrationService$$FastClassBySpringCGLIB$$4bc27873.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
at com.epam.ta.reportportal.core.integration.migration.JiraEmailSecretMigrationService$$EnhancerBySpringCGLIB$$2fcce4ad.migrate(<generated>)
at com.epam.ta.reportportal.core.events.handler.IntegrationSecretsMigrationHandler.migrate(IntegrationSecretsMigrationHandler.java:78)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:305)
at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:190)
at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:153)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:403)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:360)
at org.springframework.boot.context.event.EventPublishingRunListener.running(EventPublishingRunListener.java:103)
at org.springframework.boot.SpringApplicationRunListeners.running(SpringApplicationRunListeners.java:77)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:330)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at com.epam.ta.reportportal.core.configs.ReportPortalApp.main(ReportPortalApp.java:37)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)
2020-09-16 21:11:11.921 INFO 8 --- [ main] org.quartz.core.QuartzScheduler : Scheduler reportportal_$_api:2f1c5075555e6d516ef7c037cc8e8702 paused.
2020-09-16 21:11:11.925 INFO 8 --- [ main] o.s.a.r.l.SimpleMessageListenerContainer : Waiting for workers to finish.
2020-09-16 21:11:12.111 INFO 8 --- [ main] o.s.a.r.l.SimpleMessageListenerContainer : Successfully waited for workers to finish.
2020-09-16 21:11:12.113 INFO 8 --- [ main] o.s.a.r.l.SimpleMessageListenerContainer : Waiting for workers to finish.
2020-09-16 21:11:12.115 INFO 8 --- [ main] o.s.a.r.l.SimpleMessageListenerContainer : Successfully waited for workers to finish.
2020-09-16 21:11:12.117 INFO 8 --- [ main] o.s.a.r.l.SimpleMessageListenerContainer : Waiting for workers to finish.
2020-09-16 21:11:12.122 INFO 8 --- [ main] o.s.a.r.l.SimpleMessageListenerContainer : Successfully waited for workers to finish.
2020-09-16 21:11:12.124 INFO 8 --- [ main] o.s.a.r.l.SimpleMessageListenerContainer : Shutdown ignored - container is not active already
2020-09-16 21:11:12.125 INFO 8 --- [ main] o.s.a.r.l.SimpleMessageListenerContainer : Shutdown ignored - container is not active already
2020-09-16 21:11:12.125 INFO 8 --- [ main] o.s.a.r.l.SimpleMessageListenerContainer : Shutdown ignored - container is not active already
2020-09-16 21:11:12.125 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'autoAnalyzeTaskExecutor'
2020-09-16 21:11:12.131 INFO 8 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Shutting down ExecutorService 'taskScheduler'
2020-09-16 21:11:12.132 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'healthCheckTableExecutor'
2020-09-16 21:11:12.133 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'saveLogsTaskExecutor'
2020-09-16 21:11:12.133 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'emailExecutorService'
2020-09-16 21:11:12.134 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'patternAnalysisTaskExecutor'
2020-09-16 21:11:12.134 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'demoDataTaskExecutor'
2020-09-16 21:11:12.204 INFO 8 --- [ main] c.e.t.r.c.c.SchedulerConfiguration$1 : Shutting down Quartz Scheduler
2020-09-16 21:11:12.204 INFO 8 --- [ main] org.quartz.core.QuartzScheduler : Scheduler reportportal_$_api:2f1c5075555e6d516ef7c037cc8e8702 shutting down.
2020-09-16 21:11:12.204 INFO 8 --- [ main] org.quartz.core.QuartzScheduler : Scheduler reportportal_$_api:2f1c5075555e6d516ef7c037cc8e8702 paused.
2020-09-16 21:11:12.241 INFO 8 --- [ main] org.quartz.core.QuartzScheduler : Scheduler reportportal_$_api:2f1c5075555e6d516ef7c037cc8e8702 shutdown complete.
2020-09-16 21:11:12.265 INFO 8 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2020-09-16 21:11:12.508 INFO 8 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
2020-09-16 21:11:12.541 INFO 8 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@aec9672: tags=[[amq.ctag-JAfcICjGW_cqco-g327jBA]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672/,1), conn: Proxy@7a174e4b Shared Rabbit Connection: null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:12.547 INFO 8 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@a824f87: tags=[[amq.ctag-D4W4Q3O6mmxRGceixB_IzQ]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672/,2), conn: Proxy@7a174e4b Shared Rabbit Connection: null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:12.559 INFO 8 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@1b6982e4: tags=[[amq.ctag-EI40tq5Np2Gsz5M4ddcs7g]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672/,4), conn: Proxy@7a174e4b Shared Rabbit Connection: null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:12.603 INFO 8 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@32eca9f4: tags=[[amq.ctag-k5DdnN6_GQDN4sPaFEkL0A]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672/,5), conn: Proxy@7a174e4b Shared Rabbit Connection: null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:12.603 INFO 8 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@1e6a8d01: tags=[[amq.ctag-_k1NGXGe5ngHUHS-1ntSmw]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672/,6), conn: Proxy@7a174e4b Shared Rabbit Connection: null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:12.603 INFO 8 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@1eb3a6a3: tags=[[amq.ctag-ztKdtNnoDyP_DhoRRCDJXw]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672/,3), conn: Proxy@7a174e4b Shared Rabbit Connection: null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:12.607 INFO 8 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@34b4c82a: tags=[[amq.ctag-Zy0TnkqxNEhtc8J5-VUogg]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672/,7), conn: Proxy@7a174e4b Shared Rabbit Connection: null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:12.612 INFO 8 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@2daf650b: tags=[[amq.ctag-J4kCX8OcAvdHAEBT3LPRRQ]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672/,8), conn: Proxy@7a174e4b Shared Rabbit Connection: null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:12.618 INFO 8 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@5f1d270a: tags=[[amq.ctag-a1hHkXM7NLqb8-6RAwLjUA]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672/,9), conn: Proxy@7a174e4b Shared Rabbit Connection: null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:12.638 INFO 8 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@5180f430: tags=[[amq.ctag-iB6Ut0M1aMXP23FyqPvbYA]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672/,10), conn: Proxy@7a174e4b Shared Rabbit Connection: null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:17.545 INFO 8 --- [cTaskExecutor-2] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@185eef05: tags=[[]], channel=null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:17.549 INFO 8 --- [cTaskExecutor-2] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@22006ffb: tags=[[]], channel=null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:17.562 INFO 8 --- [cTaskExecutor-2] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@3b803fd4: tags=[[]], channel=null, acknowledgeMode=AUTO local queue size=0
2020-09-16 21:11:17.606 INFO 8 --- [cTaskExecutor-2] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@3e38f38: tags=[[]], channel=null, acknowledgeMode=AUTO local queue size=0
Hi,
is it possible to get list of all projects through rest API (and also .NET client)?
I cannot see it. I want to gather all launches from all projects to create some overall statistics in my application. Currently I need to hardcode project names in my code.
I would be nice to get all projects through rest for specified user.
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metaDataSourceAdvisor': Cannot resolve reference to bean 'methodSecurityMetadataSource' while setting constructor argument; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityConfiguration.MethodSecurityConfig': Unsatisfied dependency expressed through field 'permissionEvaluator'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'permissionEvaluator': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'aclFullPermission': Unsatisfied dependency expressed through field 'aclPermissionEvaluator'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'ACLContext': Unsatisfied dependency expressed through field 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [com/epam/ta/reportportal/config/DataSourceConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested exception is com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: FATAL: password authentication failed for user "rpuser"
vhost analyzer not found" - API service error related to RabbitMQ
Hi,
We are observing a lot of "com.epam.ta.reportportal.exception.ReportPortalException: You do not have enough permissions." messages in service-api log. On web side it looks like everything works file, reports are published, users see what they need, no obvious errors, so it is completely unclear where these messages are coming from. I think it would be helpful to include object names in these messages, to see who is trying access what.
Any ideas how we can find that with current Report Portal version (5.3.3) please?
Full exception message example:
2020-12-18 11:40:28.082 ERROR 6 --- [o-8585-exec-998] c.e.t.r.c.e.rest.RestExceptionHandler : Handled error:
com.epam.ta.reportportal.exception.ReportPortalException: You do not have enough permissions. Please check the list of your available projects.
at com.epam.ta.reportportal.util.ProjectExtractor.lambda$extractProjectDetails$0(ProjectExtractor.java:51)
at java.base/java.util.Optional.orElseThrow(Unknown Source)
at com.epam.ta.reportportal.util.ProjectExtractor.extractProjectDetails(ProjectExtractor.java:51)
at com.epam.ta.reportportal.ws.controller.LaunchAsyncController.startLaunch(LaunchAsyncController.java:75)
at com.epam.ta.reportportal.ws.controller.LaunchAsyncController$$FastClassBySpringCGLIB$$89c2d16e.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
at com.epam.ta.reportportal.ws.controller.LaunchAsyncController$$EnhancerBySpringCGLIB$$c47a2f15.startLaunch(<generated>)
at jdk.internal.reflect.GeneratedMethodAccessor732.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:125)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:180)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:109)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:747)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Unknown Source)
I was surprised I was unable to find anything in the APIs via Swagger that exposes the status of a test. I ran into ReportPortal looking for a way to determine the stability of a test so I could query from my test framework to skip/ignore failures based on the decisions made in ReportPortal.
Am I missing something?
This Github repository is set to display develop
as primary branch when it was last updated 5 months ago. while master was updated a week ago. This may lead some people to think that the project is abandoned.
Is this setup correct?
Unable to find file 'keystore/migrations'" - API service error related to Minio
endpoint POST /api/v*/{project-name}/launch returns UUID instead of ID of the newly created launch.
This is observed in v5 service-api, for both v1 and v2 api endpoints, and with both sync and async invocations.
The root cause can be easily spotted in :
referring to develop and master branches, and to tag 5.3.0
The problem is that when the client wants to obtain a launch URL, it gets one that is not accepted by the client, because it ends with the uuid rather than the id of the new launch (in v4 this was the correct URL, but in v5 it seems like the correct URL should end with the launch ID, not UUID).
Or is the bug actually on the UI side ? come to think of it, it make more sense that the breaking change was in the UI end, exposing the launch via it's internal repository id rather than its UUID.
For example :
POST https://il-reportportal-lp1/api/v2/tzahia_personal/launch with body
{
"mode":0,
"name":"AI635x",
"startTime":1598363771611
}
returns a response as :
{
"id": "62e58332-a0c1-4497-b910-114a401d9f1d",
"number": null
}
creates a launch who's UI URL is something like :
https://il-reportportal-lp1/ui/#tzahia_personal/launches/all/**2289**
Hello,
To set the context, I want to refer first to this issue:
reportportal/service-authorization#31
I'm also in need of deploying to AWS and would favour ECS service discovery over an additional Consul container. In the configuration of the Additional Arguments, I read about the RP_PROFILES
environment variable which needs to be set to docker
. A search for RP_PROFILES
in the Github reportportal
organization does not render many hits. None of these hits is in the code. 😕
Given that only the value of docker
is documented, and the Installation Documentation heavily points to the Docker Compose setup, I starting to think that this config setting matches to a config loader
dedicated to the Docker Compose setup with all the assumptions of the Docker bridged network etc.
So if we want to support other deployment models, should other config loaders
be implemented? If so, can someone from the ReportPortal shed light how the bootstrapping works?
Tnx.
I am trying to install Report-Portal without Docker using url "https://github.com/reportportal/shell-installation" as reference.
From start_rp.sh file :
"RP_AMQP_HOST=localhost RP_AMQP_USER=$RP_RABBITMQ_USER RP_AMQP_PASS=$RP_RABBITMQ_PASSWORD RP_DB_USER=$RP_POSTGRES_USER RP_DB_PASS=$RP_POSTGRES_PASSWORD RP_DB_HOST=localhost java $SERVICE_API_JAVA_OPTS -jar service-api.jar"
When I tried to execute service-api.jar using above command getting tha following error as :
2020-10-04 21:41:51.229 ERROR 24811 --- [ main] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'servletEndpointRegistrar' defined in class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar]: Factory method 'servletEndpointRegistrar' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'infoEndpoint' defined in class path resource [org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.info.InfoEndpoint]: Factory method 'infoEndpoint' threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'infoContributorComposite' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/InfoContributorComposite.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'analyzerInfoContributor' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/AnalyzerInfoContributor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'managementTemplate' defined in class path resource [com/epam/ta/reportportal/core/configs/rabbit/AnalyzerRabbitMqConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.epam.ta.reportportal.core.analyzer.auto.client.RabbitMqManagementClient]: Factory method 'managementTemplate' threw exception; nested exception is org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 Unauthorized: [no body]
2020-10-04 21:41:51.355 INFO 24811 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2020-10-04 21:41:51.368 WARN 24811 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2020-10-04 21:41:51.384 INFO 24811 --- [ main] c.e.t.r.c.c.SchedulerConfiguration$1 : Shutting down Quartz Scheduler
2020-10-04 21:41:51.386 INFO 24811 --- [ main] org.quartz.core.QuartzScheduler : Scheduler reportportal_$api:c9aa072669d3b8b368b8e5744716e0ac shutting down.
2020-10-04 21:41:51.386 INFO 24811 --- [ main] org.quartz.core.QuartzScheduler : Scheduler reportportal$api:c9aa072669d3b8b368b8e5744716e0ac paused.
2020-10-04 21:41:51.827 INFO 24811 --- [ main] org.quartz.core.QuartzScheduler : Scheduler reportportal$_api:c9aa072669d3b8b368b8e5744716e0ac shutdown complete.
2020-10-04 21:41:51.854 INFO 24811 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2020-10-04 21:41:52.003 INFO 24811 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
2020-10-04 21:41:52.126 INFO 24811 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-10-04 21:41:52.158 ERROR 24811 --- [ main] o.s.boot.SpringApplication : Application run failed
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:156)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at com.epam.ta.reportportal.core.configs.ReportPortalApp.main(ReportPortalApp.java:37)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:107)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:126)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:88)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:438)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:191)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153)
... 16 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletEndpointRegistrar' defined in class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar]: Factory method 'servletEndpointRegistrar' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'infoEndpoint' defined in class path resource [org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.info.InfoEndpoint]: Factory method 'infoEndpoint' threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'infoContributorComposite' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/InfoContributorComposite.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'analyzerInfoContributor' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/AnalyzerInfoContributor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'managementTemplate' defined in class path resource [com/epam/ta/reportportal/core/configs/rabbit/AnalyzerRabbitMqConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.epam.ta.reportportal.core.analyzer.auto.client.RabbitMqManagementClient]: Factory method 'managementTemplate' threw exception; nested exception is org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 Unauthorized: [no body]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:656)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:211)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:202)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:253)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:227)
at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5128)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:843)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:107)
... 21 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar]: Factory method 'servletEndpointRegistrar' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'infoEndpoint' defined in class path resource [org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.info.InfoEndpoint]: Factory method 'infoEndpoint' threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'infoContributorComposite' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/InfoContributorComposite.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'analyzerInfoContributor' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/AnalyzerInfoContributor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'managementTemplate' defined in class path resource [com/epam/ta/reportportal/core/configs/rabbit/AnalyzerRabbitMqConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.epam.ta.reportportal.core.analyzer.auto.client.RabbitMqManagementClient]: Factory method 'managementTemplate' threw exception; nested exception is org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 Unauthorized: [no body]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651)
... 61 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'infoEndpoint' defined in class path resource [org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.info.InfoEndpoint]: Factory method 'infoEndpoint' threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'infoContributorComposite' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/InfoContributorComposite.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'analyzerInfoContributor' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/AnalyzerInfoContributor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'managementTemplate' defined in class path resource [com/epam/ta/reportportal/core/configs/rabbit/AnalyzerRabbitMqConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.epam.ta.reportportal.core.analyzer.auto.client.RabbitMqManagementClient]: Factory method 'managementTemplate' threw exception; nested exception is org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 Unauthorized: [no body]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:656)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1108)
at org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.createEndpointBean(EndpointDiscoverer.java:143)
at org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.createEndpointBeans(EndpointDiscoverer.java:133)
at org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.discoverEndpoints(EndpointDiscoverer.java:122)
at org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.getEndpoints(EndpointDiscoverer.java:116)
at org.springframework.boot.actuate.autoconfigure.endpoint.web.ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.servletEndpointRegistrar(ServletEndpointManagementContextConfiguration.java:65)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
... 62 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.info.InfoEndpoint]: Factory method 'infoEndpoint' threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'infoContributorComposite' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/InfoContributorComposite.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'analyzerInfoContributor' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/AnalyzerInfoContributor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'managementTemplate' defined in class path resource [com/epam/ta/reportportal/core/configs/rabbit/AnalyzerRabbitMqConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.epam.ta.reportportal.core.analyzer.auto.client.RabbitMqManagementClient]: Factory method 'managementTemplate' threw exception; nested exception is org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 Unauthorized: [no body]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651)
... 82 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'infoContributorComposite' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/InfoContributorComposite.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'analyzerInfoContributor' defined in URL [jar:file:/home/yatendrak/report-portal/service-api.jar!/BOOT-INF/classes!/com/epam/ta/reportportal/info/AnalyzerInfoContributor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'managementTemplate' defined in class path resource [com/epam/ta/reportportal/core/configs/rabbit/AnalyzerRabbitMqConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.epam.ta.reportportal.core.analyzer.auto.client.RabbitMqManagementClient]: Factory method 'managementTemplate' threw exception; nested exception is org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 Unauthorized: [no body]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:228)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1358)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1510)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1467)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1313)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1245)
at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.resolveStream(DefaultListableBeanFactory.java:1969)
at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.orderedStream(DefaultListableBeanFactory.java:1963)
at org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration.infoEndpoint(InfoEndpointAutoConfiguration.java:45)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
... 83 common frames omitted
I can use Allow CORS: Access-Control-Allow-Origin extension however, this is not ideal long term. It appears this is happening only when accessing via JavaScript or other HTTP clients I am seeing it working in Postman but not axios.
I have found a way to enable CORS globally and have it trigger based on ENV variables. I will make PR for both this and service-authorization
.
Hi,
We are using this annotation to repeat the test automatically if the test is failing
@ParameterizedRepeatedIfExceptionsTest
@RepeatedIfExceptionsTest
from this library
import io.github.artsok.ParameterizedRepeatedIfExceptionsTest;
import io.github.artsok.RepeatedIfExceptionsTest;
The challenge we faced , if ifs repeated because of failure , reportportal will create 2 test and report separate status for each of them
Is there anyway to merge this / treat it as 1 test ?
Сейчас ишью пожно прилинковать через апи "/issue/link" только если тест айтем нот пассед. Хотелось бы иметь возможность линковать ишью к любому тест айтему. Зачем?
Например есть логика: вешаем аннотацию @issue(1202) на метод, если статус ишью в JIRA "Redy to test", то тест перезапускаеться, и не важно, успешно он прошел или нет, хотелось бы репорте видеть, что аннотация стоит, и ишью приленкована. А если аннотацию убирать, то и линк исчезает.
If we use the api /api/v1/widget/shared/search?term=
to search for a widget with name "launch1 Launches Table"
it returns results which contain the word launch1 Launches Table
instead of matching the exact string
This way if there is launch1 Launches Table
and hello_launch1 Launches table
, it returns the entry which was created first, so hello_lauch1 Launches Table
is returned
e.g
url: https://<RP INSTANCE URL>/api/v1/<project_name>/widget/shared/search?term=launch1 Launches Table
r.status_code: 200
r.text: {"content":[{"description":"RP PreProc Auto widget","owner":"teflo_user","share":true,"id":360,"name":"teflo_launch1 Launches Table","widgetType":"launchesTable","contentParameters":{"contentFields":[],"itemsCount":10}}],"page":{"number":1,"size":20,"totalElements":1,"totalPages":1}}
Current version:API Service: 5.6.3
Authorization Service: 5.6.3
Service UI: 5.6.0
Could it be because it is looking for find any instead of exact string?
When the disk is full but the service is responsive, service-api fails to process a launch POST request and send a response to the client application.
The function should timeout or fail and then send a response even if it cannot process the request so the client won't wait indefinitely. This mostly affects smaller-scale or development deployments without proper disk management.
/api/v2/<project>/launch
POST request.2022-02-16 10:31:05.649 DEBUG 1 --- [io-8585-exec-84] c.e.t.r.w.c.LaunchAsyncController : startLaunch (1046621) - Request
POST /v2/<project>/launch
host: -
user-agent: python-requests/2.26.0
-- Body --
{"startTime":1645007465579,"name":"test","attributes":[{"key":"machine","value":"x86_64","system":true},{"key":"cpu","value":"i386","system":true},{"key":"agent","value":"pytest-reportportal-5.0.11","system":true},{"key":"os","value":"Darwin","system":true}],"mode":"DEFAULT","rerun":false}
Hi,
I realized the link url sent in the report portal email ( if i enable email integration ) is taking from backend.api.servers.url ?
Is there anyway i can configure this ?
We use this to install the report portal
https://github.com/reportportal/shell-installation/blob/master/reportportal/download_services.sh
API_VERSION="5.0.0"
UAT_VERSION="5.0.0"
ANALYZER_VERSION="5.0.0"
MIGRATIONS_VERSION="5.0.0"
UI_VERSION="5.0.0"
SERVICE_INDEX_VERSION="5.0.5"
Thanks
Cross origin requests fails when browser sends pre-flight OPTIONS request.
Pre-flight request:
OPTIONS
https://rp.epam.com/api/v1/viachaslau_balashevich_personal/launch/latest?page.page=1&page.size=50&page.sort=start_time%2CDESC
Pre-flight request headers:
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Access-Control-Request-Headers: authorization
Access-Control-Request-Method: GET
Connection: keep-alive
Host: rp.epam.com
Origin: http://localhost:3000
Referer: http://localhost:3000/
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36
There is no Authorization header obviously - it's added to GET request, not to the pre-flight one.
Request which causes browser to fire pre-flight:
GET
https://rp.epam.com/api/v1/viachaslau_balashevich_personal/launch/latest?page.page=1&page.size=50&page.sort=start_time%2CDESC
with header:
Authorization': 'bearer there_is_some_valid_token'
Error:
Failed to load https://rp.epam.com/api/v1/viachaslau_balashevich_personal/launch/latest?page.page=1&page.size=50&page.sort=start_time%2CDESC: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 401. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Hi,
I am trying to build nested steps as below link (expandable steps) via service apis (not client-java)
https://github.com/reportportal/client-java/wiki/Nested-steps
But i am not able to produce as below,
But I am getting same as below.
Help me how I can produce the same via API.
If I understand correctly, MinIO bucket name configuration doesn’t support now based on the source code in the commons-dao repository.
https://github.com/reportportal/commons-dao/blob/cfb9cb11679de0923fc18e58eb3ad8e3f5095f01/src/main/java/com/epam/ta/reportportal/filesystem/distributed/minio/MinioDataStore.java#L44
https://github.com/reportportal/commons-dao/blob/22ce3438a10fff8fe691a44c0bf4d1c3bf464056/src/main/java/com/epam/ta/reportportal/config/DataStoreConfiguration.java#L56
So I think that it would be nice to have an opportunity to configure bucket name during starting of service-authorization
and service-api
with some property like datastore.minio.bucket
and via environment variable like RP_BINARYSTORE_MINIO_BUCKET
as other storage parameters.
It can be useful in case if you would like to configure MinIO S3 gateway and use Amazon S3 service with a single bucket instead of self-hosted MinIO storage.
Hello,
I'm running a RepotPortal 5 self-hosted cluster, from a docker-compose file.
We configured the ReportPortal services to send their own logging messages to an ELK central logging service.
We have observed that ever since switching to ReportPortal 5's async reporting, outrELK ReportPortal log indices are flooded with hundreds of GB of log messages daily.
After some investigation, we identified that most of it is coming from DEBUG log messages of the API services, and more specifically from the **com.epam.ta.reportportal.ws package (LogAsyncController.createLog, TestItemAsyncController. finishTestItem, and AsyncReportingListener.onMessage (not exception logs)).
For every reporting API request/response, we get multiple DEBUG log messages from these classes.
I see here https://github.com/reportportal/service-api/blob/d16a30d3d4f6430c0fe45e3df2208dac7e21887e/src/main/resources/application.yaml that the default logging level for these packages is set to debug
We have tried to change the log level settings for this package, via our docker-compose.yml file. We tried with various methods shown below, but none of them changed the package's logging level - it keeps logging DEBUG messages.
api:
image: reportportal/service-api:5.3.5
...
environment:
- logging.level.root=info
- logging.level.com.epam.ta.reportportal.ws.controller=info
- logging.level.com.epam.ta.reportportal.ws.rabbit=info
also :
- LOGGING_LEVEL=info
and :
- SPRING_APPLICATION_JSON:
'{"logging.level.root": "INFO"}'
or :
- SPRING_APPLICATION_JSON:
- '{"logging.level.com.epam.ta.reportportal.ws.controller": "info", "logging.level.com.epam.ta.reportportal.ws.rabbit": "info"}'
plus :
- LOGGING_LEVEL_COM_EPAM=info
Please advise how this can be achieved.
Thanks.
Will Reportportal service-api v5.4.0 ever find it's way to Maven-Central?
Currently it's at v5.3.5.
I don't use Report Portal at all but I want to integrate my application written on Go with Report Portal. Is there Go package for it or may be swagger doc?
Hi Team,
If i am trying to post log along with multiform attachment, I am getting following error. It is happening over code and postman as well.
{
"errorCode": 5000,
"message": "Unclassified error [Failed to parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart boundary was found]"
}
Sample Java Code:
HttpPost` request = new HttpPost(url);
try (CloseableHttpClient client = HttpClients.createDefault()) {
request.addHeader("Authorization", getToken());
request.addHeader("Content-Type", "multipart/form-data");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addBinaryBody("file", file, ContentType.DEFAULT_BINARY, file.getName())
.addTextBody("json_request_part", mapper.writeValueAsString(obj),ContentType.DEFAULT_BINARY);
request.setEntity(builder.build());
return client.execute(request,
httpResponse -> mapper.readValue(httpResponse.getEntity().getContent(), Map.class));
}
currently if attaching images to the log multipart post is required which is not restful implementation.
maybe add support for the following format?
{
"file": {
"name": "string",
"base64": "IH0KfSk7Cjwvc2NyaXB0PgoKCjwvYm9keT48L2h0bWw+\n"
},
"item_id": "string",
"level": "error",
"message": "string",
"time": "2019-07-05T19:16:11.469Z"
}
When configuring the api (or UAT services), RP always keeps at least 1 connection to the database open.
RP_DATASOURCE_MAXIMUMPOOLSIZE=0
RP_DATASOURCE_IDLETIMEOUT=30000
RP_DATASOURCE_MAXLIFETIME=60000
Even with the above settings, it seems as though RP recreates at least 1 connection.
I am trying to run RP on aurora serverless to help with scaling costs. However, due to RP always having one connection, the serverless postgres db never scales down to 0 when its not in use.
Hello!
service api v.5.5.0
I run a deep merge of 2 launches:
launch 1: 6274 test_items
launch 2: 3204 test_items
It takes 1750 sec (29 minutes) to merge them.
It happens because of this query:
https://github.com/reportportal/service-api/blob/develop/src/main/java/com/epam/ta/reportportal/core/item/identity/TestItemUniqueIdGenerator.java#L87
The merge script pulls from db all parents for each test_item of each of the merging launches.
So in my case it sends 9478 database queries and each query pulls 3 entity.
Most of the time this script pulls the same test_items (the same suite, story, parent step).
Because of usage of findAllById() method Hibernate can not use any kind of cache to improve the performance of these queries.
I've added a simple HashMap cache to check if it can work faster.
Deep merge without caching:
9478 db queries
1750 sec
With cache:
366 db queries
366 item names cached
27690 cache hits
35 sec
Long merges can be a problem because during high load a merge procees locks other database queries and it can lead to API connection pool overflow and this error:
Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms.
Newly created users don't have an avatar.
But service-api
generates a lot of error logs related to the case when the user doesn't upload a photo.
In my opinion, it's not an error, and a user can be without an avatar.
Logs example,
2019-12-24 09:39:18.184 ERROR 1 --- [nio-8585-exec-3] .t.r.c.e.r.ReportPortalExceptionResolver : ReportPortalExceptionResolver > Error in handled Request. Please, check specified parameters: 'User - 'some.special.user' does not have a photo.'
com.epam.ta.reportportal.exception.ReportPortalException: Error in handled Request. Please, check specified parameters: 'User - 'some.special.user' does not have a photo.'
at com.epam.ta.reportportal.binary.impl.UserBinaryDataServiceImpl.lambda$loadUserPhoto$1(UserBinaryDataServiceImpl.java:98)
at java.util.Optional.orElseThrow(Optional.java:290)
at com.epam.ta.reportportal.binary.impl.UserBinaryDataServiceImpl.loadUserPhoto(UserBinaryDataServiceImpl.java:97)
at com.epam.ta.reportportal.core.file.impl.GetFileHandlerImpl.getUserPhoto(GetFileHandlerImpl.java:65)
at com.epam.ta.reportportal.ws.controller.FileStorageController.getMyPhoto(FileStorageController.java:77)
at com.epam.ta.reportportal.ws.controller.FileStorageController$$FastClassBySpringCGLIB$$ba8a78c4.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:353)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
at com.epam.ta.reportportal.ws.controller.FileStorageController$$EnhancerBySpringCGLIB$$57078f61.getMyPhoto(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
Hi, I'm trying to install Jira plugin and it's failing
api-59767c459d-qvtbj api io.minio.errors.ErrorResponseException: The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.
api-59767c459d-qvtbj api at io.minio.MinioClient.executeReq(MinioClient.java:1220)
api-59767c459d-qvtbj api at io.minio.MinioClient.execute(MinioClient.java:1082)
api-59767c459d-qvtbj api at io.minio.MinioClient.executePut(MinioClient.java:1446)
api-59767c459d-qvtbj api at io.minio.MinioClient.makeBucket(MinioClient.java:3744)
api-59767c459d-qvtbj api at io.minio.MinioClient.makeBucket(MinioClient.java:3650)
api-59767c459d-qvtbj api at com.epam.ta.reportportal.filesystem.distributed.minio.MinioDataStore.save(MinioDataStore.java:63)
api-59767c459d-qvtbj api at com.epam.ta.reportportal.core.integration.plugin.impl.PluginLoaderImpl.saveToDataStore(PluginLoaderImpl.java:114)
api-59767c459d-qvtbj api at com.epam.ta.reportportal.plugin.Pf4jPluginManager.savePlugin(Pf4jPluginManager.java:519)
api-59767c459d-qvtbj api at com.epam.ta.reportportal.plugin.Pf4jPluginManager.copyPlugin(Pf4jPluginManager.java:464)
api-59767c459d-qvtbj api at com.epam.ta.reportportal.plugin.Pf4jPluginManager.lambda$uploadPlugin$17(Pf4jPluginManager.java:314)
api-59767c459d-qvtbj api at java.base/java.util.Optional.map(Unknown Source)
api-59767c459d-qvtbj api at com.epam.ta.reportportal.plugin.Pf4jPluginManager.uploadPlugin(Pf4jPluginManager.java:313)
api-59767c459d-qvtbj api at com.epam.ta.reportportal.core.integration.plugin.impl.CreatePluginHandlerImpl.uploadPlugin(CreatePluginHandlerImpl.java:56)
api-59767c459d-qvtbj api at com.epam.ta.reportportal.ws.controller.PluginController.uploadPlugin(PluginController.java:72)
api-59767c459d-qvtbj api at com.epam.ta.reportportal.ws.controller.PluginController$$FastClassBySpringCGLIB$$8fa8cb26.invoke(<generated>)
api-59767c459d-qvtbj api at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
api-59767c459d-qvtbj api at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769)
api-59767c459d-qvtbj api at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
api-59767c459d-qvtbj api at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
api-59767c459d-qvtbj api at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
api-59767c459d-qvtbj api at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)
api-59767c459d-qvtbj api at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
api-59767c459d-qvtbj api at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
api-59767c459d-qvtbj api at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69)
api-59767c459d-qvtbj api at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
api-59767c459d-qvtbj api at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
api-59767c459d-qvtbj api at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
api-59767c459d-qvtbj api at com.epam.ta.reportportal.ws.controller.PluginController$$EnhancerBySpringCGLIB$$2f1e3850.uploadPlugin(<generated>)
api-59767c459d-qvtbj api at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
api-59767c459d-qvtbj api at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
api-59767c459d-qvtbj api at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
api-59767c459d-qvtbj api at java.base/java.lang.reflect.Method.invoke(Unknown Source)
api-59767c459d-qvtbj api at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
api-59767c459d-qvtbj api at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
api-59767c459d-qvtbj api at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
api-59767c459d-qvtbj api at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
api-59767c459d-qvtbj api at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
api-59767c459d-qvtbj api at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
api-59767c459d-qvtbj api at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
api-59767c459d-qvtbj api at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
api-59767c459d-qvtbj api at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
api-59767c459d-qvtbj api at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
api-59767c459d-qvtbj api at javax.servlet.http.HttpServlet.service(HttpServlet.java:665)
api-59767c459d-qvtbj api at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
api-59767c459d-qvtbj api at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
api-59767c459d-qvtbj api at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
api-59767c459d-qvtbj api at org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:125)
api-59767c459d-qvtbj api at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
api-59767c459d-qvtbj api at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
api-59767c459d-qvtbj api at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:180)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
api-59767c459d-qvtbj api at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
api-59767c459d-qvtbj api at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
api-59767c459d-qvtbj api at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
api-59767c459d-qvtbj api at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
api-59767c459d-qvtbj api at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
api-59767c459d-qvtbj api at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
api-59767c459d-qvtbj api at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
api-59767c459d-qvtbj api at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
api-59767c459d-qvtbj api at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
api-59767c459d-qvtbj api at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
api-59767c459d-qvtbj api at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:109)
api-59767c459d-qvtbj api at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
api-59767c459d-qvtbj api at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
api-59767c459d-qvtbj api at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
api-59767c459d-qvtbj api at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
api-59767c459d-qvtbj api at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
api-59767c459d-qvtbj api at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
api-59767c459d-qvtbj api at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
api-59767c459d-qvtbj api at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
api-59767c459d-qvtbj api at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
api-59767c459d-qvtbj api at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
api-59767c459d-qvtbj api at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:747)
api-59767c459d-qvtbj api at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
api-59767c459d-qvtbj api at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)
api-59767c459d-qvtbj api at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
api-59767c459d-qvtbj api at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
api-59767c459d-qvtbj api at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
api-59767c459d-qvtbj api at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
api-59767c459d-qvtbj api at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
api-59767c459d-qvtbj api at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
api-59767c459d-qvtbj api at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
api-59767c459d-qvtbj api at java.base/java.lang.Thread.run(Unknown Source)
I using MinIO as proxy to AWS S3:
s3-minio-689dddbdff-9s74h minio API: PutBucket(bucket=rp-bucket)
s3-minio-689dddbdff-9s74h minio Time: 17:02:53 UTC 04/27/2020
s3-minio-689dddbdff-9s74h minio RequestID: 1609BBEDC0EB9DB8
s3-minio-689dddbdff-9s74h minio RemoteHost: 10.129.21.211
s3-minio-689dddbdff-9s74h minio Host: rp-s3-minio:9000
s3-minio-689dddbdff-9s74h minio UserAgent: MinIO (amd64; amd64) minio-java/dev
s3-minio-689dddbdff-9s74h minio Error: The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.
s3-minio-689dddbdff-9s74h minio 4: cmd/api-errors.go:1692:cmd.toAPIErrorCode()
s3-minio-689dddbdff-9s74h minio 3: cmd/api-errors.go:1717:cmd.toAPIError()
s3-minio-689dddbdff-9s74h minio 2: cmd/bucket-handlers.go:466:cmd.objectAPIHandlers.PutBucketHandler()
s3-minio-689dddbdff-9s74h minio 1: net/http/server.go:1995:http.HandlerFunc.ServeHTTP()
According to your code, this is hardcoded name: https://github.com/reportportal/commons-dao/blob/master/src/main/java/com/epam/ta/reportportal/filesystem/distributed/minio/MinioDataStore.java#L44
How can I fix this?
Thanks in advance
When attempting to sort TestItems query by endTime, the API throws a SQL exception:
API Version 5.3.5
ERROR: column \"test_item_results.end_time\" must appear in the GROUP BY clause or be used in an aggregate function\n Position: 68]"
"message": "Unclassified error [SQL [with \"filtered\" as (select \"public\".\"test_item\".\"item_id\" as \"id\", \"test_item_results\".\"end_time\" as \"endTime\" from \"public\".\"test_item\" left outer join \"public\".\"launch\" on \"public\".\"test_item\".\"launch_id\" = \"public\".\"launch\".\"id\" left outer join \"public\".\"test_item_results\" on \"public\".\"test_item\".\"item_id\" = \"public\".\"test_item_results\".\"result_id\" where (\"test_item\".\"launch_id\" = ? and \"test_item\".\"parent_id\" = ?) group by \"public\".\"test_item\".\"item_id\" having max(\"public\".\"test_item\".\"type\") = ?::\"public\".\"test_item_type_enum\" order by \"test_item_results\".\"end_time\" asc, \"test_item\".\"item_id\" asc limit ?) select \"public\".\"test_item\".\"item_id\", \"public\".\"test_item\".\"name\", \"public\".\"test_item\".\"code_ref\", \"public\".\"test_item\".\"type\", \"public\".\"test_item\".\"start_time\", \"public\".\"test_item\".\"description\", \"public\".\"test_item\".\"last_modified\", \"public\".\"test_item\".\"path\", \"public\".\"test_item\".\"unique_id\", \"public\".\"test_item\".\"uuid\", \"public\".\"test_item\".\"test_case_id\", \"public\".\"test_item\".\"test_case_hash\", \"public\".\"test_item\".\"parent_id\", \"public\".\"test_item\".\"retry_of\", \"public\".\"test_item\".\"has_children\", \"public\".\"test_item\".\"has_stats\", \"public\".\"test_item\".\"has_retries\", \"public\".\"test_item\".\"launch_id\", \"public\".\"test_item_results\".\"status\", \"public\".\"test_item_results\".\"end_time\", \"public\".\"test_item_results\".\"duration\", \"public\".\"item_attribute\".\"key\", \"public\".\"item_attribute\".\"value\", \"public\".\"item_attribute\".\"system\", \"public\".\"parameter\".\"item_id\", \"public\".\"parameter\".\"key\", \"public\".\"parameter\".\"value\", \"public\".\"statistics_field\".\"name\", \"public\".\"statistics\".\"s_counter\", \"public\".\"issue\".\"issue_id\", \"public\".\"issue\".\"auto_analyzed\", \"public\".\"issue\".\"ignore_analyzer\", \"public\".\"issue\".\"issue_description\", \"public\".\"issue_type\".\"locator\", \"public\".\"issue_type\".\"abbreviation\", \"public\".\"issue_type\".\"hex_color\", \"public\".\"issue_type\".\"issue_name\", \"public\".\"issue_group\".\"issue_group\", \"public\".\"ticket\".\"id\", \"public\".\"ticket\".\"bts_project\", \"public\".\"ticket\".\"bts_url\", \"public\".\"ticket\".\"ticket_id\", \"public\".\"ticket\".\"url\", \"public\".\"pattern_template\".\"id\", \"public\".\"pattern_template\".\"name\" from \"public\".\"test_item\" join \"filtered\" on \"public\".\"test_item\".\"item_id\" = \"filtered\".\"id\" left outer join \"public\".\"launch\" on \"public\".\"test_item\".\"launch_id\" = \"public\".\"launch\".\"id\" left outer join \"public\".\"test_item_results\" on \"public\".\"test_item\".\"item_id\" = \"public\".\"test_item_results\".\"result_id\" left outer join \"public\".\"item_attribute\" on \"public\".\"test_item\".\"item_id\" = \"public\".\"item_attribute\".\"item_id\" left outer join \"public\".\"statistics\" on \"public\".\"test_item\".\"item_id\" = \"public\".\"statistics\".\"item_id\" left outer join \"public\".\"statistics_field\" on \"public\".\"statistics\".\"statistics_field_id\" = \"public\".\"statistics_field\".\"sf_id\" left outer join \"public\".\"pattern_template_test_item\" on \"public\".\"test_item\".\"item_id\" = \"public\".\"pattern_template_test_item\".\"item_id\" left outer join \"public\".\"pattern_template\" on \"public\".\"pattern_template_test_item\".\"pattern_id\" = \"public\".\"pattern_template\".\"id\" left outer join \"public\".\"issue\" on \"public\".\"test_item_results\".\"result_id\" = \"public\".\"issue\".\"issue_id\" left outer join \"public\".\"issue_type\" on \"public\".\"issue\".\"issue_type\" = \"public\".\"issue_type\".\"id\" left outer join \"public\".\"issue_group\" on \"public\".\"issue_type\".\"issue_group_id\" = \"public\".\"issue_group\".\"issue_group_id\" left outer join \"public\".\"issue_ticket\" on \"public\".\"issue\".\"issue_id\" = \"public\".\"issue_ticket\".\"issue_id\" left outer join \"public\".\"ticket\" on \"public\".\"issue_ticket\".\"ticket_id\" = \"public\".\"ticket\".\"id\" left outer join \"public\".\"parameter\" on \"public\".\"test_item\".\"item_id\" = \"public\".\"parameter\".\"item_id\" left outer join \"public\".\"item_attribute\" as \"launchAttribute\" on \"public\".\"launch\".\"id\" = \"launchAttribute\".\"launch_id\" order by \"test_item_results\".\"end_time\" asc, \"test_item\".\"item_id\" asc]; ERROR: column \"test_item_results.end_time\" must appear in the GROUP BY clause or be used in an aggregate function\n Position: 68]"
I'm having trouble getting the ReportPortal API "launch-controller" query parameters in place. Seems that there is not really any documentation how to actually use the API or what values you can put in.
The situation is that I would like to search through the API for all the launches that has started say during the last two days. The API documentation from the ReportPortal UI shows a parameter "filter.eq.startTime", but I do not wish to "eq" on a single timestamp. It seems that you can also use filters like "filter.cnt.name=foo" as I figured from the UI filter options and by trial & error, but how to enter a time range I do not have any clue. I have tried to look from the code etc, but with no answer yet.
When setting "type=comparing" and the number of filter.in.testCaseHash is bigger than 20, there is issue in the return json.
For example, in the following API, there are 25 items in filter.in.testCaseHash:
api/v1/superadmin_personal/item/history?historyDepth=1&type=comparing&filterId=2&launchesLimit=600&isLatest=true&filter.in.testCaseHash=-809227041,-38253239,1839249082,-1522254505,1402253705,901225426,146180582,-1145417100,-1132021116,-1154120765,-43765001,-621623562,1170344421,-1543011688,-1539317604,920890918,538643070,-2113662964,-2085033813,-2056404662,-2027775511,-1970517209,-1941888058,-1913258907,-1884629756
the API only get 20 items (instead of 25) in the return list.
I'm testing the v5
/async/item
endpoint and it apparently accepts whatever invalid launch_id
string value. What's more, it returns 201
and a new test case UUID so I have a suspicion it might also create an orphaned item in the db. This test item is nowhere to be found using API.
curl
curl -X POST "http://10.0.148.252:8080/api/v1/superadmin_personal/async/item" -H "accept: */*" -H "Content-Type: application/json" -H "Authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NjM3NDU5NDQsInVzZXJfbmFtZSI6InN1cGVyYWRtaW4iLCJhdXRob3JpdGllcyI6WyJST0xFX0FETUlOSVNUUkFUT1IiXSwianRpIjoiZWYzY2NkOGMtOWQ5Mi00OWU1LWE3YmMtODZlYjRiNTNkNzMyIiwiY2xpZW50X2lkIjoidWkiLCJzY29wZSI6WyJ1aSJdfQ.3B0NZ5Ysan7KLMPwvxTfMuDMYv35JOBdfd0CVxgjY6Y" -d "{ \"attributes\": [ { \"key\": \"string\", \"system\": true, \"value\": \"string\" } ], \"description\": \"string\", \"hasStats\": true, \"launchId\": \"invalid_launch_id\", \"location\": \"string\", \"name\": \"vana1\", \"parameters\": [ { \"key\": \"string\", \"value\": \"string\" } ], \"retry\": true, \"startTime\": \"2019-07-20T21:53:31.779Z\", \"type\": \"SUITE\", \"uniqueId\": \"vana1id\"}"
request url
http://rp_beta.io:8080/api/v1/superadmin_personal/async/item
response code
201
response body
Response body{ "uuid": "f916bdb4-aabf-4956-9c80-8c7c210115b2" }
--
This might be the issue with the other POST
methods for this controller too
Page 0 and 1 have same values.
/api/v1/seco-e2e/item?filter.eq.hasChildren=false&filter.eq.launchId=422&filter.eq.type=STEP&isLatest=false&page.page=0&page.size=3
/api/v1/seco-e2e/item?filter.eq.hasChildren=false&filter.eq.launchId=422&filter.eq.type=STEP&isLatest=false&page.page=1&page.size=3
If we have 176 rows divided by 10 per page we have 19 pages instead of 18.
ReportPortal version:
Build: 5.7.0
© Report Portal 2022 All rights reserved
When a call is made to the endpoint passing the 'term' in the query, the content arrives empty.
{
"content": [],
"page": {
"number": 1,
"size": 20,
"totalElements": 0,
"totalPages": 0
}
}
Docker swarm uses files for passing secrets into containers. It would be nice to have that as a configuration option.
The service-api pod log is full of:
com.epam.ta.reportportal.exception.ReportPortalException: Error in handled Request. Please, check specified parameters: 'User - 'superadmin' does not have a photo.'
at com.epam.ta.reportportal.binary.impl.UserBinaryDataServiceImpl.lambda$loadUserPhoto$1(UserBinaryDataServiceImpl.java:98)
at java.util.Optional.orElseThrow(Optional.java:290)
at com.epam.ta.reportportal.binary.impl.UserBinaryDataServiceImpl.loadUserPhoto(UserBinaryDataServiceImpl.java:97)
at com.epam.ta.reportportal.core.file.impl.GetFileHandlerImpl.getUserPhoto(GetFileHandlerImpl.java:65)
at com.epam.ta.reportportal.ws.controller.FileStorageController.getMyPhoto(FileStorageController.java:77)
at com.epam.ta.reportportal.ws.controller.FileStorageController$$FastClassBySpringCGLIB$$ba8a78c4.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:353)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
at com.epam.ta.reportportal.ws.controller.FileStorageController$$EnhancerBySpringCGLIB$$5cb69b89.getMyPhoto(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:125)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158)
Hello guys,
I have faced next case:
We can't update launch with email name (or another value) in attribute, if email is set as tag (without key/value pair). But we can set email in tags if we set it on launch creation.
Create launch with api /v1/{projectName}/launch. Use next body:
{
"attributes": [
{
"key": "email",
"value": "[email protected]"
},
"email@[email protected]"
],
"description": "string",
"mode": "DEFAULT",
"name": "Test_attribute",
"rerunOf": "string",
"startTime": "2020-04-15T07:39:20.951Z"
}
Launch is created successfully with all defined tags:
Then try to update this launch with api /v1/{projectName}/launch/{launchId}/update
Body:
{
"attributes": [
{
"key": "another_email",
"value": "[email protected]"
},
"[email protected]"
],
"description": "string",
"mode": "DEFAULT"
}
Response 400:
{
"errorCode": 4001,
"message": "Incorrect Request. JSON parse error: Cannot construct instance of com.epam.ta.reportportal.ws.model.attribute.ItemAttributeResource
(although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('[email protected]'); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of com.epam.ta.reportportal.ws.model.attribute.ItemAttributeResource
(although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('[email protected]')\n at [Source: (PushbackInputStream); line: 7, column: 1] (through reference chain: com.epam.ta.reportportal.ws.model.launch.UpdateLaunchRQ["attributes"]->java.util.HashSet[1])"
}
I am not sure, if this is correct place for this issue... Suddenly service-api noticed postgreSQL deadlock while updating test-results. What might cause this?
We have docker solution in use and latest docker-compose.yml without modifications
Only change we made was this elastic search data folder group and rights change based on ReportPortal documentation. This was mandatory.
Known issue 1
Caused by: org.postgresql.util.PSQLException: ERROR: deadlock detected Detail: Process 7473 waits for ShareLock on transaction 6373; blocked by process 7359. Process 7359 waits for ShareLock on transaction 7083; blocked by process 7473. Hint: See server log for query details. Where: while updating tuple (3,192) in relation "test_item_results"
reportportal.zip
We are unable to access ReportPortal through our SAML integration and getting 400 Bad request, BAD SAML error.
Please look into the logs and help us resolve the error.
RP Logs.docx
Logs:
ERROR 1 --- [io-8585-exec-34] .AuthUtils$SerialUidReplacingInputStream : Potentially Fatal Deserialization Operation.
java.io.InvalidClassException: Overriding serialized class version mismatch: local serialVersionUID = 550 stream serialVersionUID = 520
ERROR 1 --- [nio-9999-exec-7] .t.r.c.e.r.ReportPortalExceptionResolver : ReportPortalExceptionResolver > Auth integration 'Oauth settings with id = github have not been found.' not found. Did you use correct name?
com.epam.ta.reportportal.exception.ReportPortalException: Auth integration 'Oauth settings with id = github have not been found.' not found. Did you use correct name?
Steps:
Result:
Response Body: {"error_code":40010,"message":"Forbidden operation. Specified launch with id '5bfe491c3cdea20001229aba' not referenced to specified project 'Ci-agents-checks'"}
You can see that client used Ci-agents-checks
project name for all requests. Please see curl commands to reproduce the issue: Issue.txt
Workaround:
The issue is not reproducible if client uses ci-agents-checks
project name (lower case c
).
Describe the bug
If I had a retry analyser to an AnnotationTransformer, the launches start to be inconsistent regarding the terminating launch.
I use v4 in k8 and works perfectly
To Reproduce
Retry.class
@Override
public boolean retry(ITestResult iTestResult) {
if (iTestResult.getStatus() == ITestResult.FAILURE) { //Check if test not succeed
if (count < maxTry) { //Check if maxtry count is reached
count++; //Increase the maxTry count by 1
//Mark test as failed
return true; //Tells TestNG to re-run the test
}
}
return false;
}
AnnotationTransformer.class
@Override
public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) {
annotation.setRetryAnalyzer(Retry.class);
}
values.yaml
serviceindex:
name: Index Service
repository: reportportal/service-index
tag: 5.0.3
pullPolicy: Always
resources:
requests:
cpu: 150m
memory: 128Mi
limits:
cpu: 200m
memory: 256Mi
service:
type: ClusterIP
port: 8080
aanotations: {}
uat:
repository: reportportal/service-authorization
name: Authorization Service
tag: 5.0.0-BETA-12
pullPolicy: Always
resources:
requests:
cpu: 100m
memory: 512Mi
limits:
cpu: 500m
memory: 2048Mi
sessionLiveTime: 86400
service:
type: ClusterIP
port: 9999
aanotations: {}
serviceui:
repository: reportportal/service-ui
tag: 5.0.0-BETA-12
name: UI Service
pullPolicy: Always
resources:
requests:
cpu: 100m
memory: 64Mi
limits:
cpu: 200m
memory: 128Mi
service:
type: ClusterIP
port: 8080
aanotations: {}
serviceapi:
repository: reportportal/service-api
tag: 5.0.0-BETA-12
name: API Service
pullPolicy: Always
resources:
requests:
cpu: 500m
memory: 1024Mi
limits:
cpu: 1000m
memory: 2048Mi
service:
type: ClusterIP
port: 8585
aanotations: {}
migrations:
repository: reportportal/migrations
tag: 5.0.0-BETA-8
pullPolicy: Always
resources:
requests:
cpu: 100m
memory: 64Mi
limits:
cpu: 100m
memory: 128Mi
serviceanalyzer:
repository: reportportal/service-analyzer
tag: 5.0.0-BETA-4
name: Analyzer Service
pullPolicy: Always
resources:
requests:
cpu: 100m
memory: 64Mi
limits:
cpu: 100m
memory: 128Mi
service:
type: ClusterIP
port: 8080
aanotations: {}
rabbitmq:
SecretName: ""
installdep:
enable: false
endpoint:
external: true
address: <rabbitmq_chart_name>-rabbitmq-ha.default.svc.cluster.local
port: 5672
user: rabbitmq
apiport: 15672
apiuser: rabbitmq
postgresql:
SecretName: ""
installdep:
enable: false
endpoint:
external: true
cloudservice: false
address: <postgresql_chart_name>-postgresql.default.svc.cluster.local
port: 5432
user: rpuser
dbName: reportportal
password:
elasticsearch:
installdep:
enable: false
endpoint:
external: true
cloudservice: false
address: <es_chart_name>-elasticsearch-coordinating-only.default.svc.cluster.local
port: 9200
# Ingress configuration for the ui
# If you have installed ingress controller and want to expose application - set INGRESS.ENABLE to true.
# If you have some domain name set INGRESS.USEDOMAINNAME variable to true and set this fqdn to INGRESS.HOSTS
# If you don't have any domain names - set INGRESS.USEDOMAINNAME to false
ingress:
enable: true
# IF YOU HAVE SOME DOMAIN NAME SET INGRESS.USEDOMAINNAME to true
usedomainname: false
hosts:
- reportportal.k8.com
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/x-forwarded-prefix: /$1
nginx.ingress.kubernetes.io/proxy-body-size: 128m
# node selector for all components, if any
nodeSelector:
enabled: false
selector:
reportportal: true
# RBAC is required for service-index in order to collect status/info over all services
rbac:
create: true
serviceAccount:
create: true
name: reportportal
rp:
infoEndpoint: "/info"
healthEndpoint: "/health"
Desktop (please complete the following information):
I am using AWS FARGATE ECS to host Report Portal. We have hosted Postgres in AWS RDS. Out of 11 services, we able to deploy 10 services in ECS. Last remaining service is API .
Getting error as unable to start embedded tomcat. Please find attached logs
Error.txt
I did some uploads of .zip with tests results via HTTP launch/import endpoint.
For one case I received Premature end of file error. I'm missing more details for the error ++ some input checks.
I had to "Force finish" the launch from the UI, import didn't end or recovered from this error.
Used version: https://github.com/rsvoboda/rsvoboda-playground/blob/master/reportportal.io/docker-compose-4.2.0.yml
Used zip: zzz.zip
Tested workflow: https://github.com/rsvoboda/rsvoboda-playground/tree/master/reportportal.io#push-of-zip-with-test-results
Details I would expect:
Input checks I would expect:
Recovery from the error:
Possible root cause:
Based on the error I assume problem is with the following xml file 0 09-20-2018 14:19 target/test-output/SmokeStandaloneTestCase/emptyConfigFile/empty.xml
. I assume your service can't handle corrupted / 0 length xml file.
I added all my feedback into one issue, feel free to split it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.