eclipse / kapua

Eclipse Public License 2.0
225 stars 160 forks source link

Batch Job - Reorder steps #3025

Open pintify opened 4 years ago

pintify commented 4 years ago

Is your feature request related to a problem? Please describe. In a job already created, if a new step is required in the beginning of the job it is necessary to remove and create back again all the steps.

Describe the solution you'd like Add in the Steps tab the possibility to move up and down a step so that it changes its step index, or even the possibility to drag it if possible.

lorthirk commented 3 years ago

Steps can now be reordered if Job never started - #3241 and #3284. Can you please check?

pintify commented 3 years ago

Waiting for #3369 to check

pintify commented 3 years ago

How can it be done? I'm with version 1.5.2 but I don't see how to reorder the steps:

imagen

lorthirk commented 3 years ago

@pintify Isn't the Step Index property editable in the Edit dialog?

pintify commented 3 years ago

There is no such field in Edit dialog. It is not clear by just the screenshot: I'm not showing the creation dialog but the edition dialog (create step -> select step -> click edit):

imagen

lorthirk commented 3 years ago

Ok... scratch what I said, I remembered there was such field 😄

EDIT: By looking at the mentioned PR it's a backend only support. It should work via REST API, but I see no UI changes supporting this feature.

pintify commented 3 years ago

Well, I can see it working in the front as the steps are all messed around by my requests. However that seems pretty insecure as I can set two steps with the same index or set a remote index. Is there any verification on this side?

EDIT: Regarding the execution I have not been capable to launch the job. I attach the log of the exception below.

The sequence table doesn't seem to be present in the MariaDB database I'm using... I've searched in the project and I don't see any liquibase scripts related with this table...

This failure appears using the configuration lower_case_table_names=true in the database and it happens also with fresh new jobs (no steps modified).

console exception:

11:19:10.574 [qtp913190639-81] ERROR o.e.k.j.e.c.JobEngineServiceClient - Job Engine REST Error: {"httpErrorCode":500,"message":"Error: 5192269434981562763, 592625752195708187, []","stackTrace":null,"kapuaErrorCode":"JOB_STARTING","scopeId":"SA6lipIxuYs","jobId":"CDlt-1RftRs"} - status code 500,
11:19:10.597 [qtp913190639-81] WARN  o.e.kapua.ExceptionMessageUtils - Could not load exception messages for resource: job-engine-service-error-messages in locale: en_US. A generic error message will be printed.,
11:19:10.598 [qtp913190639-81] ERROR o.e.k.a.c.m.a.s.u.KapuaExceptionHandler - Server side error!,
org.eclipse.kapua.job.engine.exception.JobStartingException: Error: 5192269434981562763, 592625752195708187, [],
    at org.eclipse.kapua.job.engine.client.JobEngineServiceClient.handleJobEngineException(JobEngineServiceClient.java:305),
    at org.eclipse.kapua.job.engine.client.JobEngineServiceClient.startJob(JobEngineServiceClient.java:119),
    at org.eclipse.kapua.app.console.module.job.server.GwtJobEngineServiceImpl.start(GwtJobEngineServiceImpl.java:71),
    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 com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569),
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208),
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248),
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62),
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707),
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790),
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865),
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655),
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:215),
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642),
    at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449),
    at org.eclipse.kapua.app.console.core.filter.KapuaWebFilter.executeChain(KapuaWebFilter.java:44),
    at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365),
    at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90),
    at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83),
    at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387),
    at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362),
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125),
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634),
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533),
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146),
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548),
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132),
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257),
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595),
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255),
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340),
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203),
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473),
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564),
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201),
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242),
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144),
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220),
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126),
    at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:174),
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132),
    at org.eclipse.jetty.server.Server.handle(Server.java:503),
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364),
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260),
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305),
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103),
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118),
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333),
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310),
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168),
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126),
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366),
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765),
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683),
    at java.lang.Thread.run(Thread.java:748),
11:19:10.599 [qtp913190639-81] WARN  o.e.kapua.ExceptionMessageUtils - Could not load exception messages for resource: job-engine-service-error-messages in locale: en_US. A generic error message will be printed.,
11:19:10.600 [qtp913190639-81] WARN  o.e.kapua.ExceptionMessageUtils - Could not load exception messages for resource: job-engine-service-error-messages in locale: en_US. A generic error message will be printed.,

job-engine exception:

11:19:08.500 [qtp913190639-47] INFO  eclipselink.logging.all - EclipseLink, version: Eclipse Persistence Services - 2.7.7.v20200504-69f2c2b80d,
11:19:08.534 [qtp913190639-47] INFO  eclipselink.logging.connection - Not able to detect platform for vendor name [MariaDB[10.5.10-MariaDB-log, 10]]. Defaulting to [org.eclipse.persistence.platform.database.DatabasePlatform]. The database dialect used may not match with the database you are using. Please explicitly provide a platform using property "eclipselink.target-database".,
11:19:09.624 [qtp913190639-47] INFO  eclipselink.logging.all - EclipseLink, version: Eclipse Persistence Services - 2.7.7.v20200504-69f2c2b80d,
11:19:09.661 [qtp913190639-47] INFO  eclipselink.logging.connection - Not able to detect platform for vendor name [MariaDB[10.5.10-MariaDB-log, 10]]. Defaulting to [org.eclipse.persistence.platform.database.DatabasePlatform]. The database dialect used may not match with the database you are using. Please explicitly provide a platform using property "eclipselink.target-database".,
11:19:09.919 [qtp913190639-47] INFO  o.e.k.j.e.j.p.JPAPersistenceManagerImpl - jBatch persistence implementation initialized with no actions...,
11:19:10.179 [qtp913190639-47] INFO  eclipselink.logging.all - EclipseLink, version: Eclipse Persistence Services - 2.7.7.v20200504-69f2c2b80d,
11:19:10.209 [qtp913190639-47] INFO  eclipselink.logging.connection - Not able to detect platform for vendor name [MariaDB[10.5.10-MariaDB-log, 10]]. Defaulting to [org.eclipse.persistence.platform.database.DatabasePlatform]. The database dialect used may not match with the database you are using. Please explicitly provide a platform using property "eclipselink.target-database".,
11:19:10.441 [qtp913190639-47] WARN  eclipselink.logging.all - Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.7.v20200504-69f2c2b80d): org.eclipse.persistence.exceptions.DatabaseException,
Internal Exception: java.sql.SQLSyntaxErrorException: (conn=439532) Table 'kapuadb.SEQUENCE' doesn't exist,
Error Code: 1146,
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?,
    bind => [1, SEQ_GEN_IDENTITY],
Query: DataModifyQuery(name="SEQ_GEN_IDENTITY" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?"),
11:19:10.475 [qtp913190639-47] WARN  o.e.kapua.ExceptionMessageUtils - Could not load exception messages for code: JOB_STARTING. A generic error message will be printed.,
11:19:10.480 [qtp913190639-47] WARN  o.e.kapua.ExceptionMessageUtils - Could not load exception messages for code: JOB_STARTING. A generic error message will be printed.,
11:19:10.487 [qtp913190639-47] ERROR o.e.k.a.a.c.e.m.JobStartingExceptionMapper - Job Starting,
org.eclipse.kapua.job.engine.exception.JobStartingException: Error: 5192269434981562763, 592625752195708187, [],
    at org.eclipse.kapua.job.engine.jbatch.JobEngineServiceJbatch.startJob(JobEngineServiceJbatch.java:137),
    at org.eclipse.kapua.job.engine.app.resources.JobEngineResource.startJob(JobEngineResource.java:72),
    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.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$VoidOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:143),
    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.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865),
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655),
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:215),
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642),
    at org.eclipse.kapua.app.api.core.filter.KapuaSessionCleanupFilter.doFilter(KapuaSessionCleanupFilter.java:69),
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642),
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61),
    at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108),
    at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137),
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125),
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66),
    at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449),
    at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365),
    at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90),
    at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83),
    at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387),
    at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362),
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125),
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642),
    at org.eclipse.kapua.app.api.core.filter.CORSResponseFilter.doFilter(CORSResponseFilter.java:131),
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634),
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533),
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146),
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548),
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132),
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257),
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595),
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255),
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340),
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203),
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473),
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564),
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201),
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242),
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144),
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220),
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126),
    at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:174),
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132),
    at org.eclipse.jetty.server.Server.handle(Server.java:503),
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364),
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260),
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305),
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103),
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118),
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765),
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683),
    at java.lang.Thread.run(Thread.java:748),
Caused by: javax.batch.operations.JobStartException: com.ibm.jbatch.container.exception.PersistenceException: org.eclipse.kapua.KapuaException: An internal error occurred: Error during Persistence Operation.,
    at com.ibm.jbatch.container.api.impl.JobOperatorImpl.start(JobOperatorImpl.java:92),
    at org.eclipse.kapua.job.engine.jbatch.driver.JbatchDriver.startJob(JbatchDriver.java:209),
    at org.eclipse.kapua.job.engine.jbatch.JobEngineServiceJbatch.startJob(JobEngineServiceJbatch.java:135),
    ... 75 common frames omitted,
Caused by: com.ibm.jbatch.container.exception.PersistenceException: org.eclipse.kapua.KapuaException: An internal error occurred: Error during Persistence Operation.,
    at org.eclipse.kapua.job.engine.jbatch.persistence.JPAPersistenceManagerImpl.createJobInstance(JPAPersistenceManagerImpl.java:148),
    at com.ibm.jbatch.container.jobinstance.JobExecutionHelper.getNewJobInstance(JobExecutionHelper.java:89),
    at com.ibm.jbatch.container.jobinstance.JobExecutionHelper.startJob(JobExecutionHelper.java:120),
    at com.ibm.jbatch.container.impl.BatchKernelImpl.startJob(BatchKernelImpl.java:124),
    at com.ibm.jbatch.container.api.impl.JobOperatorImpl.startInternal(JobOperatorImpl.java:123),
    at com.ibm.jbatch.container.api.impl.JobOperatorImpl.start(JobOperatorImpl.java:88),
    ... 77 common frames omitted,
Caused by: org.eclipse.kapua.KapuaException: An internal error occurred: Error during Persistence Operation.,
    at org.eclipse.kapua.KapuaException.internalError(KapuaException.java:85),
    at org.eclipse.kapua.commons.util.KapuaExceptionUtils.convertPersistenceException(KapuaExceptionUtils.java:114),
    at org.eclipse.kapua.commons.jpa.EntityManagerSession.internalOnResult(EntityManagerSession.java:168),
    at org.eclipse.kapua.commons.jpa.EntityManagerSession.doTransactedAction(EntityManagerSession.java:86),
    at org.eclipse.kapua.job.engine.jbatch.persistence.JPAPersistenceManagerImpl.createJobInstance(JPAPersistenceManagerImpl.java:145),
    ... 82 common frames omitted,
Caused by: org.eclipse.persistence.exceptions.DatabaseException: ,
Internal Exception: java.sql.SQLSyntaxErrorException: (conn=439532) Table 'kapuadb.SEQUENCE' doesn't exist,
Error Code: 1146,
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?,
    bind => [1, SEQ_GEN_IDENTITY],
Query: DataModifyQuery(name="SEQ_GEN_IDENTITY" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?"),
    at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333),
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:908),
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:970),
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:640),
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:567),
    at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2099),
    at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:313),
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:277),
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:263),
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:306),
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:286),
    at org.eclipse.persistence.queries.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:87),
    at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:911),
    at org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:3356),
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1898),
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1880),
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1845),
    at org.eclipse.persistence.sequencing.QuerySequence.update(QuerySequence.java:356),
    at org.eclipse.persistence.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:293),
    at org.eclipse.persistence.sequencing.StandardSequence.getGeneratedVector(StandardSequence.java:75),
    at org.eclipse.persistence.sequencing.Sequence.getGeneratedVector(Sequence.java:267),
    at org.eclipse.persistence.internal.sequencing.SequencingManager$Preallocation_Transaction_NoAccessor_State.getNextValue(SequencingManager.java:551),
    at org.eclipse.persistence.internal.sequencing.SequencingManager.getNextValue(SequencingManager.java:1109),
    at org.eclipse.persistence.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:72),
    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:372),
    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:331),
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.assignSequenceNumber(UnitOfWorkImpl.java:534),
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNotRegisteredNewObjectForPersist(UnitOfWorkImpl.java:4390),
    at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.registerNotRegisteredNewObjectForPersist(RepeatableWriteUnitOfWork.java:523),
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4335),
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:601),
    at org.eclipse.kapua.commons.jpa.EntityManager.persist(EntityManager.java:122),
    at org.eclipse.kapua.job.engine.jbatch.persistence.jpa.JpaJobInstanceDataDAO.create(JpaJobInstanceDataDAO.java:40),
    at org.eclipse.kapua.job.engine.jbatch.persistence.JPAPersistenceManagerImpl.lambda$createJobInstance$3(JPAPersistenceManagerImpl.java:145),
    at org.eclipse.kapua.commons.jpa.EntityManagerContainer.onResult(EntityManagerContainer.java:46),
    at org.eclipse.kapua.commons.jpa.EntityManagerSession.internalOnResult(EntityManagerSession.java:138),
    ... 84 common frames omitted,
Caused by: java.sql.SQLSyntaxErrorException: (conn=439532) Table 'kapuadb.SEQUENCE' doesn't exist,
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62),
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:158),
    at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:266),
    at org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:229),
    at org.mariadb.jdbc.ClientSidePreparedStatement.execute(ClientSidePreparedStatement.java:149),
    at org.mariadb.jdbc.ClientSidePreparedStatement.executeUpdate(ClientSidePreparedStatement.java:181),
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:898),
    ... 118 common frames omitted,
Caused by: org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException: Table 'kapuadb.SEQUENCE' doesn't exist,
    at org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException.of(MariaDbSqlException.java:34),
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.exceptionWithQuery(AbstractQueryProtocol.java:194),
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.exceptionWithQuery(AbstractQueryProtocol.java:177),
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:321),
    at org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:220),
    ... 121 common frames omitted,
Caused by: java.sql.SQLException: Table 'kapuadb.SEQUENCE' doesn't exist,
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:1694),
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1556),
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1519),
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:318),
    ... 122 common frames omitted,
11:19:10.495 [qtp913190639-47] WARN  o.e.kapua.ExceptionMessageUtils - Could not load exception messages for code: JOB_STARTING. A generic error message will be printed.,
pintify commented 2 years ago

I've solved the job-engine issue using the configuration suggested here, using parameter useMysqlMetadata=true in the connection string and configuring eclipselink.target-database environment variable as MySQL4. Now I launched the job perfectly and after that the steps are no longer resortable as expected.

However, now the issue is that I cannot longer make any modification at the whole job. Are the jobs to be used as a single time thing? I think it could be useful a "restore" button to restore the job to a status of not-run / modifiable / runnable status it had prior to run it the first time. It would make obsolete the current "restart" button. If that make sense for you I'll create an additional issue with this proposal.