Trigger Job Rest API endpoint stopped working after upgrade from v8 to v10 (OD-1891)
Closed
Armin Pfurtscheller opened 2 weeks ago

Hello Robin,

I was upgrading my instance from 8.3.8 to 10.6.0 directly - upgrade run smoothly. Although, I cannot make job triggers run via REST API as described here.

The strange thing is that the GET request (unchanged, same as before) to ~api/trigger-job still responses with 200 and the next build number, but the build is not invoked. There's no error log or anything as it seems to be successful, but no job is running.

Has something changed, I couldn't spot anything in this regard in the release notes.

Thanks for any feedback on the issue, this is currently blocking my CI/CD pipeline.

Note: The build invocation when pushing with git works normally, it seems to be a pure Rest API problem.

I've added a server log which contains some errors, but I think they're not related, but maybe you can make better readings out of it:

--> Wrapper Started as Console
]0;OneDevJava Service Wrapper Standard Edition 64-bit 3.5.51
  Copyright (C) 1999-2022 Tanuki Software, Ltd. All Rights Reserved.
    http://wrapper.tanukisoftware.com
  Licensed to OneDev for Service Wrapping
Launching a JVM...
WrapperManager: Initializing...
19:48:10 INFO  i.onedev.commons.bootstrap.Bootstrap - Launching application from '/opt/onedev'...
19:48:10 INFO  i.onedev.commons.bootstrap.Bootstrap - Cleaning temp directory...
19:48:12 INFO  io.onedev.commons.loader.AppLoader - Starting application...
19:48:28 INFO  i.o.s.e.i.DefaultBuildParamManager - Caching build param info...
19:48:28 INFO  i.o.s.e.impl.DefaultBuildManager - Caching build info...
19:48:28 INFO  i.o.s.e.i.DefaultAgentAttributeManager - Caching agent attribute info...
19:48:29 INFO  i.o.s.e.i.DefaultBuildMetricManager - Caching build metric info...
19:48:30 INFO  i.o.s.e.impl.DefaultIssueManager - Caching issue info...
19:48:30 INFO  i.o.s.e.impl.DefaultProjectManager - Checking projects...
19:48:35 INFO  io.onedev.server.OneDev - Server is ready at https://<domain>.
20:28:30 INFO  io.onedev.agent.DockerExecutorUtils - Finding host path mounted to '/opt/onedev'...
20:28:30 INFO  io.onedev.agent.DockerExecutorUtils - Found host path: /var/lib/docker/volumes/onedev-data/_data
20:47:35 ERROR i.o.s.w.websocket.WebSocketProcessor - An error occurred when using WebSocket.
org.eclipse.jetty.io.EofException: null
	at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:280)
	at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:422)
	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277)
	at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381)
	at org.eclipse.jetty.websocket.common.io.FrameFlusher.flush(FrameFlusher.java:264)
	at org.eclipse.jetty.websocket.common.io.FrameFlusher.process(FrameFlusher.java:188)
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:248)
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:229)
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.outgoingFrame(AbstractWebSocketConnection.java:581)
	at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextOutgoingFrame(AbstractExtension.java:157)
	at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.nextOutgoingFrame(PerMessageDeflateExtension.java:123)
	at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.access$1100(CompressExtension.java:45)
	at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension$Flusher.compress(CompressExtension.java:580)
	at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension$Flusher.deflate(CompressExtension.java:470)
	at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension$Flusher.process(CompressExtension.java:450)
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:248)
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:229)
	at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.outgoingFrame(CompressExtension.java:234)
	at org.eclipse.jetty.websocket.common.extensions.ExtensionStack$Flusher.process(ExtensionStack.java:403)
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:248)
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:229)
	at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.outgoingFrame(ExtensionStack.java:280)
	at org.eclipse.jetty.websocket.common.WebSocketSession.outgoingFrame(WebSocketSession.java:360)
	at org.eclipse.jetty.websocket.common.WebSocketRemoteEndpoint.uncheckedSendFrame(WebSocketRemoteEndpoint.java:322)
	at org.eclipse.jetty.websocket.common.WebSocketRemoteEndpoint.sendAsyncFrame(WebSocketRemoteEndpoint.java:243)
	at org.eclipse.jetty.websocket.common.WebSocketRemoteEndpoint.sendStringByFuture(WebSocketRemoteEndpoint.java:419)
	at io.onedev.server.web.websocket.WebSocketConnection.sendMessage(WebSocketConnection.java:76)
	at io.onedev.server.web.websocket.DefaultWebSocketManager$2.execute(DefaultWebSocketManager.java:178)
	at io.onedev.server.taskschedule.DefaultTaskScheduler$1.execute(DefaultTaskScheduler.java:76)
	at io.onedev.server.taskschedule.DefaultTaskScheduler$HelperTask.execute(DefaultTaskScheduler.java:122)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: java.io.IOException: Broken pipe
	at java.base/sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
	at java.base/sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
	at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:182)
	at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:130)
	at java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:493)
	at java.base/java.nio.channels.SocketChannel.write(SocketChannel.java:507)
	at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:274)
	... 31 common frames omitted
20:52:35 ERROR i.o.s.w.websocket.WebSocketProcessor - An error occurred when using WebSocket.
org.eclipse.jetty.io.EofException: null
	at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:280)
	at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:422)
	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277)
	at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381)
	at org.eclipse.jetty.websocket.common.io.FrameFlusher.flush(FrameFlusher.java:264)
	at org.eclipse.jetty.websocket.common.io.FrameFlusher.process(FrameFlusher.java:188)
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:248)
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:229)
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.outgoingFrame(AbstractWebSocketConnection.java:581)
	at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextOutgoingFrame(AbstractExtension.java:157)
	at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.nextOutgoingFrame(PerMessageDeflateExtension.java:123)
	at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.access$1100(CompressExtension.java:45)
	at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension$Flusher.compress(CompressExtension.java:580)
	at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension$Flusher.deflate(CompressExtension.java:470)
	at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension$Flusher.process(CompressExtension.java:450)
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:248)
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:229)
	at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.outgoingFrame(CompressExtension.java:234)
	at org.eclipse.jetty.websocket.common.extensions.ExtensionStack$Flusher.process(ExtensionStack.java:403)
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:248)
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:229)
	at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.outgoingFrame(ExtensionStack.java:280)
	at org.eclipse.jetty.websocket.common.WebSocketSession.outgoingFrame(WebSocketSession.java:360)
	at org.eclipse.jetty.websocket.common.WebSocketRemoteEndpoint.uncheckedSendFrame(WebSocketRemoteEndpoint.java:322)
	at org.eclipse.jetty.websocket.common.WebSocketRemoteEndpoint.sendAsyncFrame(WebSocketRemoteEndpoint.java:243)
	at org.eclipse.jetty.websocket.common.WebSocketRemoteEndpoint.sendStringByFuture(WebSocketRemoteEndpoint.java:419)
	at io.onedev.server.web.websocket.WebSocketConnection.sendMessage(WebSocketConnection.java:76)
	at io.onedev.server.web.websocket.DefaultWebSocketManager$2.execute(DefaultWebSocketManager.java:178)
	at io.onedev.server.taskschedule.DefaultTaskScheduler$1.execute(DefaultTaskScheduler.java:76)

Armin

Robin Shen commented 2 weeks ago

OneDev 10.6 modified behavior of build in the way that triggering of a job will be ignored if it is already fired with same commit and param. If you need to trigger the job repeatedly, please create an optional param for that job, and then trigger the job each time with a different param (timestamp for instance).

Robin Shen changed state to 'Closed' 2 weeks ago
Previous Value Current Value
Open
Closed
Armin Pfurtscheller commented 1 week ago

Thanks for the quick response and sorry for opening an issue, I didn't get this change from the release notes. Works now!

Keep up the great work on this software!

Best regards Armin

issue 1 of 1
Type
Bug
Priority
Major
Assignee
Affected Versions
10.6.0
Labels
No labels
Issue Votes (0)
Watchers (3)
Reference
OD-1891
Please wait...
Page is in error, reload to recover