Project

General

Profile

Actions

Bug #23679

closed

HTTP 500 error while publishing in GRSF PRE

Added by Yannis Marketakis almost 3 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
Jul 22, 2022
Due date:
% Done:

100%

Estimated time:

Description

The following error occurs while publishing/updating records in GRSF PRE VRE

Method failed: HTTP/1.1 500 ; Response body: {"id":null,"knowledge_base_id":null,"product_url":null,"error":"Sorry but there was not possible to retrieve your fullname/email!"}

Files


Related issues

Related to StocksAndFisheriesKB - Bug #23978: HTTP 500 error while publishing in GRSF Admin and GRSF Public VREsClosedLuca FrosiniOct 19, 2022

Actions
Actions #1

Updated by Luca Frosini almost 3 years ago

  • Status changed from New to Feedback
  • % Done changed from 0 to 100

A few days ago we have experienced some issues with the service used to retrieve such information.
Now the issue should be resolved.
Can you please try again?

Actions #2

Updated by Yannis Marketakis almost 3 years ago

Hi @luca.frosini@isti.cnr.it

I just tried updating https://data.d4science.org/ctlg/GRSF_Pre/5b2b0e53-1804-3faf-957d-ff23b8c17844 but the problem persists.
Attached you will find the json representation of the object I'm trying to update

Actions #3

Updated by Luca Frosini almost 3 years ago

  • Assignee changed from Luca Frosini to Massimiliano Assante

I found your request and you are right you get the error you mention.

2022-07-26 13:12:10,212 [catalina-exec-24] INFO  RequestAccounting: REQUEST START ON GRSFPublisher:Data-Catalogue(POST /rest/grsf/stock/update-product) CALLED FROM grsf.publisher@139.91.183.81 IN SCOPE /d4science.research-infrastructures.eu/FARM/GRSF_Pre 
2022-07-26 13:12:10,693 [catalina-exec-24] ERROR HelperMethods: error while performing get method java.lang.RuntimeException: Failed : HTTP error code : 500
2022-07-26 13:12:10,889 [catalina-exec-24] ERROR HelperMethods: error while performing get method java.lang.RuntimeException: Failed : HTTP error code : 500
2022-07-26 13:12:10,889 [catalina-exec-24] ERROR GrsfPublisherStockService: Failed to update stock record
java.lang.Exception: Sorry but there was not possible to retrieve your fullname/email!
    at org.gcube.data_catalogue.grsf_publish_ws.services.GrsfPublisherStockService.updateStock(GrsfPublisherStockService.java:421)
    at sun.reflect.GeneratedMethodAccessor439.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
    at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    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:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.gcube.smartgears.managers.RequestManager.doFilter(RequestManager.java:99)
    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:200)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:679)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)

To try to understand the issue, I just tried to update the record using the same token

POST https://smart-grsfpre.d4science.org/grsf-publisher-ws/rest/GRSF/stock/update-product

As body of the request I sent the JSON you attached to this ticket.

With this call I get another error:

2022-07-26 16:59:08,716 [catalina-exec-30] INFO  RequestAccounting: REQUEST START ON GRSFPublisher:Data-Catalogue(POST /rest/GRSF/stock/update-product) CALLED FROM grsf.publisher@146.48.122.49 IN SCOPE /d4science.research-infrastructures.eu/FARM/GRSF_Pre 
2022-07-26 16:59:08,799 [catalina-exec-30] ERROR GrsfPublisherStockService: Failed to update stock record
java.lang.Exception: Please specify the 'catalog_id' property

This is the repsons I get form the service:

{
    "id": null,
    "knowledge_base_id": null,
    "product_url": null,
    "error": "Please specify the 'catalog_id' property"
}

I think I'm not sending the same content you send with your request because my error is raised before the error you get in code.
Can you please provide it to me?

@massimiliano.assante@isti.cnr.it the error got from @marketak@ics.forth.gr is related to social service which performs the following request:

SOCIAL_SERVICE_URL/users/getUserEmail?gcube-token=XXXX

Actions #4

Updated by Yannis Marketakis almost 3 years ago

Hi @luca.frosini@isti.cnr.it

Thanks for investigating this.
You are right that the provided content is not for updating, but for publishing (because it missies the catalog_id).
Attached you will find the contents for updating the record

Both publishing and updating raise the same HTTP500 error

Actions #5

Updated by Massimiliano Assante almost 3 years ago

  • Assignee changed from Massimiliano Assante to Luca Frosini

Luca the method you are using to get the email was deprecated many releases ago and removed in this version. In fact it should respond "This method is deprecated, must use version 2";

so you should update your code to https://api.d4science.org/social-networking-library-ws/docs/resource_Users_v2.html#resource_Users_v2_getUserEmail_GET

Actions #6

Updated by Luca Frosini over 2 years ago

  • % Done changed from 90 to 10

I'm going to use the new client.

Actions #7

Updated by Luca Frosini over 2 years ago

  • % Done changed from 10 to 90

I have migrated the requests using the client

Actions #8

Updated by Luca Frosini over 2 years ago

  • Status changed from In Progress to Feedback
  • Assignee changed from Luca Frosini to Roberto Cirillo

@roberto.cirillo@isti.cnr.it can you please upgrade the service?

Actions #9

Updated by Roberto Cirillo over 2 years ago

  • Assignee changed from Roberto Cirillo to Luca Frosini

@luca.frosini@isti.cnr.it, please, could you specify the service version?
Are you talking about preproduction or production environment?

Actions #10

Updated by Luca Frosini over 2 years ago

Preproduction environment.

The version is: 1.13.2-SNAPSHO

Actions #11

Updated by Roberto Cirillo over 2 years ago

Luca Frosini wrote in #note-10:

Preproduction environment.

The version is: 1.13.2-SNAPSHO

Done. The service is up and runnning

Actions #12

Updated by Yannis Marketakis over 2 years ago

Should I change something on my side?
I still experience the same error using https://smart-grsfpre.d4science.org/grsf-publisher-ws/rest

2022-08-23 13:37:17 ERROR gr.forth.ics.isl.grsfservicescore.GrsfPublisher.updateRecord(GrsfPublisher.java:160) - Fatal transport error: 
java.lang.Exception: Method failed: HTTP/1.1 500 ; Response body: {"id":null,"knowledge_base_id":null,"product_url":null,"error":"Sorry but there was not possible to retrieve your fullname/email!"}
    at gr.forth.ics.isl.grsfservicescore.GrsfPublisher.updateRecord(GrsfPublisher.java:152) [classes/:?]
    at gr.forth.ics.isl.grsfservicescore.clients.UpdateClient.updateRecords(UpdateClient.java:807) [classes/:?]
    at gr.forth.ics.isl.grsfservicescore.clients.UpdateClient.updateGrsfStock(UpdateClient.java:334) [classes/:?]
    at gr.forth.ics.isl.grsfservicescore.clients.UpdateClient.main(UpdateClient.java:987) [classes/:?]
Actions #13

Updated by Luca Frosini over 2 years ago

Yannis Marketakis wrote in #note-12:

Should I change something on my side?
I still experience the same error using https://smart-grsfpre.d4science.org/grsf-publisher-ws/rest

2022-08-23 13:37:17 ERROR gr.forth.ics.isl.grsfservicescore.GrsfPublisher.updateRecord(GrsfPublisher.java:160) - Fatal transport error: 
java.lang.Exception: Method failed: HTTP/1.1 500 ; Response body: {"id":null,"knowledge_base_id":null,"product_url":null,"error":"Sorry but there was not possible to retrieve your fullname/email!"}
  at gr.forth.ics.isl.grsfservicescore.GrsfPublisher.updateRecord(GrsfPublisher.java:152) [classes/:?]
  at gr.forth.ics.isl.grsfservicescore.clients.UpdateClient.updateRecords(UpdateClient.java:807) [classes/:?]
  at gr.forth.ics.isl.grsfservicescore.clients.UpdateClient.updateGrsfStock(UpdateClient.java:334) [classes/:?]
  at gr.forth.ics.isl.grsfservicescore.clients.UpdateClient.main(UpdateClient.java:987) [classes/:?]

No, you don't have to change nothing. I'm going to check it

Actions #14

Updated by Luca Frosini over 2 years ago

  • Status changed from Feedback to In Progress
Actions #15

Updated by Luca Frosini over 2 years ago

Luca Frosini wrote in #note-10:

Preproduction environment.

The version is: 1.13.2-SNAPSHOT

Sorry, @roberto.cirillo@isti.cnr.it but I made a mistake.

The host to upgrade is smart-grsfpre.d4science.org which is configured to run in GRSF_Pre VRE in production.

Actions #16

Updated by Luca Frosini over 2 years ago

  • Status changed from In Progress to Feedback
  • Assignee changed from Luca Frosini to Roberto Cirillo
Actions #17

Updated by Roberto Cirillo over 2 years ago

  • Assignee changed from Roberto Cirillo to Yannis Marketakis

smart-grsfpre.d4science.org upgraded right now.
I'm going to assign this ticket to @marketak@ics.forth.gr in order to check if the error is still there

Actions #18

Updated by Yannis Marketakis over 2 years ago

Thanks @roberto.cirillo@isti.cnr.it and @luca.frosini@isti.cnr.it

I just tried updating and publishing records.

Update works as expected (I just updated https://data.d4science.org/ctlg/GRSF_Pre/662eb566-2b51-36e4-9ba4-900d06fc8f03)

However, publishing raises the same HTTP 500 error.
Attached you will find the logs and the json representation of the record to be published.

Actions #19

Updated by Luca Frosini over 2 years ago

Yannis Marketakis wrote in #note-18:

Thanks @roberto.cirillo@isti.cnr.it and @luca.frosini@isti.cnr.it

I just tried updating and publishing records.

Update works as expected (I just updated https://data.d4science.org/ctlg/GRSF_Pre/662eb566-2b51-36e4-9ba4-900d06fc8f03)

However, publishing raises the same HTTP 500 error.
Attached you will find the logs and the json representation of the record to be published.

Yannis, I'm in trouble.
I just tried to update the record using the attached json to debug the code

POST https://smart-grsfpre.d4science.org/grsf-publisher-ws/rest/GRSF/stock/update-product

I get 400 - Bad Request with error "Please specify the 'catalog_id' property".

The record you linked has a different id. Did I make any mistakes?

Actions #20

Updated by Yannis Marketakis over 2 years ago

Luca Frosini wrote in #note-19:

Yannis, I'm in trouble.
I just tried to update the record using the attached json to debug the code

POST https://smart-grsfpre.d4science.org/grsf-publisher-ws/rest/GRSF/stock/update-product

I get 400 - Bad Request with error "Please specify the 'catalog_id' property".

The record you linked has a different id. Did I make any mistakes?

@luca.frosini@isti.cnr.it I tried two different cases.

I first tried updating the record with UUID 662eb566-2b51-36e4-9ba4-900d06fc8f03, which was updated successfully.

Then I tried publishing the record with UUID 81284707-a2e9-3ad6-910f-ce99c8967ef7 which failed with HTTP 500. You tried to update that record which failed because the record does not exist in the catalog. Moreover, the URL for publishing a record is https://smart-grsfpre.d4science.org/grsf-publisher-ws/rest/grsf/stock/publish-product

Finally, I tried again publishing the last record in GRSF PRE and it was properly published. I don't know if you fixed something in the meantime.

I think we can close the issue.

Actions #21

Updated by Luca Frosini over 2 years ago

  • Status changed from Feedback to Closed
  • Assignee changed from Yannis Marketakis to Luca Frosini
  • % Done changed from 90 to 100

Thanks @marketak@ics.forth.gr please reopen the ticket if you experience the issue again.

Yannis Marketakis wrote in #note-20:

I think we can close the issue.

Actions #23

Updated by Yannis Marketakis over 2 years ago

  • Related to Bug #23978: HTTP 500 error while publishing in GRSF Admin and GRSF Public VREs added
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 8.91 MB)