Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GERBIL aborts the start of an experiment without informing the user #420

Closed
MichaelRoeder opened this issue Aug 13, 2022 · 4 comments · Fixed by #453
Closed

GERBIL aborts the start of an experiment without informing the user #420

MichaelRoeder opened this issue Aug 13, 2022 · 4 comments · Fixed by #453

Comments

@MichaelRoeder
Copy link
Member

Problem description

When starting an experiment, GERBIL seems to send the experiment ID although an error occurred while writing the experiment into the database. From the log:

2022-08-13 00:45:05,867 [http-nio-8080-exec-5] ERROR [org.aksw.gerbil.Experimenter] - <Got an Exception while trying to start all needed tasks. Aborting the experiment.>
 org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [INSERT INTO ExperimentTasks (annotatorName, datasetName, language, experimentType, matching, state, lastChanged) VALUES (?, ?, ?, ?, ?, ?, ?)]; data exception: string data, right truncation;  table: EXPERIMENTTASKS column: DATASETNAME; nested exception is java.sql.SQLDataException: data exception: string data, right truncation;  table: EXPERIMENTTASKS column: DATASETNAME
	at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:83) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:605) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:849) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:311) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:293) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.aksw.gerbil.database.ExperimentDAOImpl.createTask(ExperimentDAOImpl.java:158) ~[classes/:?]
	at org.aksw.gerbil.Experimenter.run(Experimenter.java:81) [classes/:?]
	at org.aksw.gerbil.web.MainController.execute(MainController.java:208) [classes/:?]
	at sun.reflect.GeneratedMethodAccessor165.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_191]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_191]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) [spring-web-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) [spring-web-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) [spring-webmvc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743) [spring-webmvc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672) [spring-webmvc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82) [spring-webmvc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933) [spring-webmvc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867) [spring-webmvc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951) [spring-webmvc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:842) [spring-webmvc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) [tomcat-servlet-api-9.0.62.jar:4.0.FR]
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827) [spring-webmvc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [tomcat-servlet-api-9.0.62.jar:4.0.FR]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-websocket-9.0.62.jar:9.0.62]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) [tomcat-catalina-9.0.62.jar:9.0.62]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) [tomcat-coyote-9.0.62.jar:9.0.62]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote-9.0.62.jar:9.0.62]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) [tomcat-coyote-9.0.62.jar:9.0.62]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) [tomcat-coyote-9.0.62.jar:9.0.62]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote-9.0.62.jar:9.0.62]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util-9.0.62.jar:9.0.62]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util-9.0.62.jar:9.0.62]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util-9.0.62.jar:9.0.62]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
Caused by: java.sql.SQLDataException: data exception: string data, right truncation;  table: EXPERIMENTTASKS column: DATASETNAME
	at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.springframework.jdbc.core.JdbcTemplate$3.doInPreparedStatement(JdbcTemplate.java:851) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.core.JdbcTemplate$3.doInPreparedStatement(JdbcTemplate.java:849) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	... 43 more
Caused by: org.hsqldb.HsqlException: data exception: string data, right truncation;  table: EXPERIMENTTASKS column: DATASETNAME
	at org.hsqldb.error.Error.error(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.Table.enforceTypeLimits(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.Table.insertSingleRow(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.StatementDML.insertRowSet(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.StatementInsert.getResult(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.StatementDMQL.execute(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.Session.executeCompiledStatement(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.Session.execute(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.springframework.jdbc.core.JdbcTemplate$3.doInPreparedStatement(JdbcTemplate.java:851) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.core.JdbcTemplate$3.doInPreparedStatement(JdbcTemplate.java:849) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	... 43 more
Caused by: org.hsqldb.HsqlException: data exception: string data, right truncation
	at org.hsqldb.error.Error.error(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.error.Error.error(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.types.CharacterType.convertToTypeLimits(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.Table.enforceTypeLimits(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.Table.insertSingleRow(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.StatementDML.insertRowSet(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.StatementInsert.getResult(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.StatementDMQL.execute(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.Session.executeCompiledStatement(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.Session.execute(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source) ~[hsqldb-2.3.2.jar:2.3.2]
	at org.springframework.jdbc.core.JdbcTemplate$3.doInPreparedStatement(JdbcTemplate.java:851) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.core.JdbcTemplate$3.doInPreparedStatement(JdbcTemplate.java:849) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589) ~[spring-jdbc-3.2.17.RELEASE.jar:3.2.17.RELEASE]
	... 43 more

The user reported, that GERBIL still answered with an experiment ID. However, this ID does not lead to any existing experiment.

@diegoceccarelli
Copy link

I'm experiencing this running gerbil locally or on the ufficial website, and i cant benchmark one external annotator. Any workaround?

@MichaelRoeder
Copy link
Member Author

In case the exception that you receive locally is exactly the same as above, the line Caused by: org.hsqldb.HsqlException: data exception: string data, right truncation means that the string that GERBIL tries to store as system name in the database is too long.

However, I cannot find such an error on our server. Did you try it recently?

@diegoceccarelli
Copy link

Sorry @MichaelRoeder I have just seen your reply - I was trying on a local instance, the name of the system was short but the the url was quite long - could that cause the problem? I can try to short it..

@diegoceccarelli
Copy link

@MichaelRoeder I confirm that the issue was the url of the method (too long)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants