Bug #12040
closedError while publishing GRSF record
100%
Description
An error occurred while publishing the following GRSF record.
The JSON export of the record as well as the publishing log are attached.
Files
Related issues
Updated by Yannis Marketakis almost 7 years ago
- Related to Task #11973: Please start the submission of GRSF from Knowledge base. added
Updated by Pasquale Pagano almost 7 years ago
- Priority changed from Normal to High
Updated by Luca Frosini almost 7 years ago
- Blocked by Task #11982: Increase RAM on ckan-grsf-admin2.d4science.org added
Updated by Luca Frosini almost 7 years ago
- Status changed from New to In Progress
Updated by Luca Frosini almost 7 years ago
Hi Yannis,
trying to create the record I get the following error:
2018-06-26 17:55:55,829 [catalina-exec-8] ERROR GrsfPublisherStockService: Failed to create stock record java.lang.Exception: A product with 'uuid_knowledge_base' f565df40-11a8-31b0-b8df-796eae1c4090 already exists
You can verify if it was correctly created from here:
http://data.d4science.org/ctlg/GRSF_Admin/f565df40-11a8-31b0-b8df-796eae1c4090
Do I have to update it instead?
L
Updated by Yannis Marketakis almost 7 years ago
Hi Luca,
Indeed, even if when I tried to publish it, I received the error message that appears in the description, however the record was published.
However, this causes inconsistencies because the GRSF KB is not aware that the record was published normally, since the corresponding info (i.e. the catalog ID and catalog URL) were not returned from the publisher service.
I'll try to remove and republish the record to see if it is OK now.
Updated by Yannis Marketakis almost 7 years ago
Unfortunately, the problem persists.
You could try to publish it now (that I have removed it) to see the error.
Updated by Luca Frosini almost 7 years ago
I get a SocketTimeoutException from CKAN. @francesco.mangiacrapa@isti.cnr.it any ideas?
eu.trentorise.opendata.jackan.exceptions.CkanException: Error while performing a POST! Request url is:https://ckan-grsf-admin.d4science.org/api/3/action/package_create CkanClient{catalogURL=https://ckan-grsf-admin.d4science.org, ckanToken=*****MASKED_TOKEN*******} at eu.trentorise.opendata.jackan.CkanClient.postHttp(CkanClient.java:616) at eu.trentorise.opendata.jackan.CkanClient.createDataset(CkanClient.java:1400) at eu.trentorise.opendata.jackan.CheckedCkanClient.createDataset(CheckedCkanClient.java:254) at org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogueImpl.createCkanDatasetBody(DataCatalogueImpl.java:854) at org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogueImpl.createCKanDatasetMultipleCustomFields(DataCatalogueImpl.java:727) at org.gcube.data_catalogue.grsf_publish_ws.services.GrsfPublisherStockService.publishStock(GrsfPublisherStockService.java:187) at sun.reflect.GeneratedMethodAccessor265.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:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.gcube.smartgears.managers.RequestManager.doFilter(RequestManager.java:95) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) at sun.security.ssl.InputRecord.read(InputRecord.java:503) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983) at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940) at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:136) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:152) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:270) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:260) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:161) at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.conn.CPoolProxy.invoke(CPoolProxy.java:138) at com.sun.proxy.$Proxy185.receiveResponseHeader(Unknown Source) at eu.trentorise.opendata.jackan.internal.org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:271) at eu.trentorise.opendata.jackan.internal.org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:253) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:194) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:85) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106) at eu.trentorise.opendata.jackan.internal.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at eu.trentorise.opendata.jackan.internal.org.apache.http.client.fluent.Request.execute(Request.java:143) at eu.trentorise.opendata.jackan.CkanClient.postHttp(CkanClient.java:605) ... 50 common frames omitted
Updated by Luca Frosini almost 7 years ago
@francesco.mangiacrapa@isti.cnr.it and me investigated the problem.
My request arrived at '2018-06-27 10:17:06,174' and we obtained a timeout at '2018-06-27 10:17:22,534' about 16 seconds later.
The apache instance running CKAN has in the general configuration () a timeout of 300 seconds.
@francesco.mangiacrapa@isti.cnr.it investigated CKAN client library and he found that it explicitly set a timeout of 15 seconds.
We are going to investigate a workaround.
Updated by Luca Frosini almost 7 years ago
- % Done changed from 0 to 90
@francesco.mangiacrapa@isti.cnr.it implemented a workaround for the timeout. I tested it in dev and seems working.
@roberto.cirillo@isti.cnr.it I just deployed the new version of grsf-publisher-ws in snapshot repository. Can you please manually update the service in smart-grsf-d4s.d4science.org.
Updated by Roberto Cirillo almost 7 years ago
The service has been upgraded, now it is up and running.
Updated by Luca Frosini almost 7 years ago
- Status changed from In Progress to Feedback
- % Done changed from 90 to 100
@marketak@ics.forth.gr you can restart the process as you wish
Updated by Yannis Marketakis almost 7 years ago
- Status changed from Feedback to Closed
After increasing the TIMEOUT I managed to publish the record normally.
Thanks!
Updated by Luca Frosini almost 7 years ago
- Project changed from 8 to StocksAndFisheriesKB
- Category deleted (
Default) - Target version deleted (
Unsprintable)