Skip to content

[Bug]: Failed to get commit for release candidate #865

@meryemefe

Description

@meryemefe

Contact Details

No response

What happened?

This issue should be investigated, its root cause and solution should be added to Comments section.

Steps To Reproduce

No response

What browsers are you seeing the problem on?

No response

Relevant log output

2026-01-10T06:00:09.574Z  INFO 1 --- [Helios] [default-scheduler-1] d.t.c.a.h.g.sync.GitHubDataSyncService   : --------------------------------------------------
2026-01-10T06:00:09.574Z  INFO 1 --- [Helios] [default-scheduler-1] d.t.c.a.h.g.sync.GitHubDataSyncService   : Repository: ls1intum/Apollon --> [Step 10/10] Syncing Releases...
2026-01-10T06:00:09.575Z  INFO 1 --- [Helios] [default-scheduler-1] okhttp3.OkHttpClient                     : --> GET https://api.github.com/repos/ls1intum/Apollon/releases?per_page=100
2026-01-10T06:00:10.050Z  INFO 1 --- [Helios] [default-scheduler-1] okhttp3.OkHttpClient                     : <-- 200 https://api.github.com/repos/ls1intum/Apollon/releases?per_page=100 (475ms, unknown-length body)
2026-01-10T06:00:10.050Z  INFO 1 --- [Helios] [default-scheduler-1] t.c.a.h.h.HttpClientRateLimitInterceptor : GitHub API Rate Limit: limit=12500, remaining=11856, used=644, resets at 10/01/2026 06:00:13 (UTC), 10/01/2026 07:00:13 (CET)
2026-01-10T06:00:10.079Z  INFO 1 --- [Helios] [default-scheduler-1] okhttp3.OkHttpClient                     : --> GET https://api.github.com/repos/ls1intum/Apollon
2026-01-10T06:00:10.079Z  INFO 1 --- [Helios] [default-scheduler-1] okhttp3.OkHttpClient                     : <-- 200 https://api.github.com/repos/ls1intum/Apollon (0ms, unknown-length body)
2026-01-10T06:00:10.079Z  INFO 1 --- [Helios] [default-scheduler-1] t.c.a.h.h.HttpClientRateLimitInterceptor : GitHub API Rate Limit: limit=12500, remaining=11912, used=588, resets at 10/01/2026 06:00:13 (UTC), 10/01/2026 07:00:13 (CET)
2026-01-10T06:00:10.079Z  INFO 1 --- [Helios] [default-scheduler-1] okhttp3.OkHttpClient                     : --> GET https://api.github.com/repos/ls1intum/Apollon/git/refs/tags/v2.14.2
2026-01-10T06:00:10.367Z  INFO 1 --- [Helios] [default-scheduler-1] okhttp3.OkHttpClient                     : <-- 200 https://api.github.com/repos/ls1intum/Apollon/git/refs/tags/v2.14.2 (288ms, unknown-length body)
2026-01-10T06:00:10.368Z  INFO 1 --- [Helios] [default-scheduler-1] t.c.a.h.h.HttpClientRateLimitInterceptor : GitHub API Rate Limit: limit=12500, remaining=11855, used=645, resets at 10/01/2026 06:00:13 (UTC), 10/01/2026 07:00:13 (CET)
2026-01-10T06:00:10.369Z  INFO 1 --- [Helios] [default-scheduler-1] okhttp3.OkHttpClient                     : --> GET https://api.github.com/repos/ls1intum/Apollon/commits/6703541a43e377df5a250d19ce2297320ba67b9b
2026-01-10T06:00:10.598Z  INFO 1 --- [Helios] [default-scheduler-1] okhttp3.OkHttpClient                     : <-- 422 https://api.github.com/repos/ls1intum/Apollon/commits/6703541a43e377df5a250d19ce2297320ba67b9b (229ms, 174-byte body)
2026-01-10T06:00:10.598Z  INFO 1 --- [Helios] [default-scheduler-1] t.c.a.h.h.HttpClientRateLimitInterceptor : GitHub API Rate Limit: limit=12500, remaining=11854, used=646, resets at 10/01/2026 06:00:13 (UTC), 10/01/2026 07:00:13 (CET)
2026-01-10T06:00:10.599Z ERROR 1 --- [Helios] [default-scheduler-1] d.t.c.a.h.r.r.g.GitHubReleaseSyncService : Failed to get commit for release candidate v2.14.2: {"message":"No commit found for SHA: 6703541a43e377df5a250d19ce2297320ba67b9b","documentation_url":"https://docs.github.com/rest/commits/commits#get-a-commit","status":"422"}
2026-01-10T06:00:10.600Z  WARN 1 --- [Helios] [default-scheduler-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 23502
2026-01-10T06:00:10.601Z ERROR 1 --- [Helios] [default-scheduler-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: null value in column "commit_repository_id" of relation "release_candidate" violates not-null constraint
  Detail: Failing row contains (699, 120281674, v2.14.2, 2023-07-15 10:06:45+00, null, null, null, null, null, 112363472, null).
2026-01-10T06:00:10.601Z ERROR 1 --- [Helios] [default-scheduler-1] d.t.c.a.h.g.sync.GitHubDataSyncService   : Repository: ls1intum/Apollon --> Error syncing repository: could not execute statement [ERROR: null value in column "commit_repository_id" of relation "release_candidate" violates not-null constraint
  Detail: Failing row contains (699, 120281674, v2.14.2, 2023-07-15 10:06:45+00, null, null, null, null, null, 112363472, null).] [insert into release_candidate (body,branch_name,branch_repository_id,commit_repository_id,commit_sha,created_at,created_by_id,name,release_id,repository_id) values (?,?,?,?,?,?,?,?,?,?)]; SQL [insert into release_candidate (body,branch_name,branch_repository_id,commit_repository_id,commit_sha,created_at,created_by_id,name,release_id,repository_id) values (?,?,?,?,?,?,?,?,?,?)]; constraint [commit_repository_id" of relation "release_candidate]

org.springframework.dao.DataIntegrityViolationException: could not execute statement [ERROR: null value in column "commit_repository_id" of relation "release_candidate" violates not-null constraint
  Detail: Failing row contains (699, 120281674, v2.14.2, 2023-07-15 10:06:45+00, null, null, null, null, null, 112363472, null).] [insert into release_candidate (body,branch_name,branch_repository_id,commit_repository_id,commit_sha,created_at,created_by_id,name,release_id,repository_id) values (?,?,?,?,?,?,?,?,?,?)]; SQL [insert into release_candidate (body,branch_name,branch_repository_id,commit_repository_id,commit_sha,created_at,created_by_id,name,release_id,repository_id) values (?,?,?,?,?,?,?,?,?,?)]; constraint [commit_repository_id" of relation "release_candidate]
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:294)
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241)
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:560)
	at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:343)
	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:160)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:165)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)
	at jdk.proxy2/jdk.proxy2.$Proxy210.saveAndFlush(Unknown Source)
	at de.tum.cit.aet.helios.releaseinfo.release.github.GitHubReleaseSyncService.lambda$processRelease$3(GitHubReleaseSyncService.java:95)
	at java.base/java.util.Optional.orElseGet(Optional.java:364)
	at de.tum.cit.aet.helios.releaseinfo.release.github.GitHubReleaseSyncService.processRelease(GitHubReleaseSyncService.java:63)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)
	at de.tum.cit.aet.helios.releaseinfo.release.github.GitHubReleaseSyncService$$SpringCGLIB$$0.processRelease(<generated>)
	at de.tum.cit.aet.helios.github.sync.GitHubDataSyncOrchestrator.lambda$syncReleasesOfRepository$2(GitHubDataSyncOrchestrator.java:372)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at de.tum.cit.aet.helios.github.sync.GitHubDataSyncOrchestrator.syncReleasesOfRepository(GitHubDataSyncOrchestrator.java:372)
	at de.tum.cit.aet.helios.github.sync.GitHubDataSyncService.syncRepositoryData(GitHubDataSyncService.java:203)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:724)
	at de.tum.cit.aet.helios.github.sync.GitHubDataSyncService$$SpringCGLIB$$0.syncRepositoryData(<generated>)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at de.tum.cit.aet.helios.github.sync.GitHubDataSyncScheduler.syncInstalledRepositories(GitHubDataSyncScheduler.java:70)
	at de.tum.cit.aet.helios.github.sync.GitHubDataSyncScheduler.syncGitHubData(GitHubDataSyncScheduler.java:50)
	at de.tum.cit.aet.helios.github.sync.GitHubDataSyncScheduler.syncDataCron(GitHubDataSyncScheduler.java:45)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
	at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
	at io.micrometer.observation.Observation.observe(Observation.java:498)
	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
	at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:87)
	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
	at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement [ERROR: null value in column "commit_repository_id" of relation "release_candidate" violates not-null constraint
  Detail: Failing row contains (699, 120281674, v2.14.2, 2023-07-15 10:06:45+00, null, null, null, null, null, 112363472, null).] [insert into release_candidate (body,branch_name,branch_repository_id,commit_repository_id,commit_sha,created_at,created_by_id,name,release_id,repository_id) values (?,?,?,?,?,?,?,?,?,?)]
	at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:97)
	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197)
	at org.hibernate.id.insert.GetGeneratedKeysDelegate.performMutation(GetGeneratedKeysDelegate.java:116)
	at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleNonBatched.performNonBatchedOperations(MutationExecutorSingleNonBatched.java:47)
	at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:55)
	at org.hibernate.persister.entity.mutation.InsertCoordinatorStandard.doStaticInserts(InsertCoordinatorStandard.java:194)
	at org.hibernate.persister.entity.mutation.InsertCoordinatorStandard.coordinateInsert(InsertCoordinatorStandard.java:132)
	at org.hibernate.persister.entity.mutation.InsertCoordinatorStandard.insert(InsertCoordinatorStandard.java:95)
	at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:85)
	at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:682)
	at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:293)
	at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:274)
	at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:324)
	at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:394)
	at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:308)
	at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:224)
	at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:136)
	at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:177)
	at org.hibernate.event.internal.DefaultPersistEventListener.persist(DefaultPersistEventListener.java:95)
	at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79)
	at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55)
	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:761)
	at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:745)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:320)
	at jdk.proxy2/jdk.proxy2.$Proxy192.persist(Unknown Source)
	at org.springframework.data.jpa.repository.support.SimpleJpaRepository.save(SimpleJpaRepository.java:654)
	at org.springframework.data.jpa.repository.support.SimpleJpaRepository.saveAndFlush(SimpleJpaRepository.java:665)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)
	at org.springframework.data.repository.core.support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker.lambda$new$0(RepositoryMethodInvoker.java:277)
	at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:170)
	at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:158)
	at org.springframework.data.repository.core.support.RepositoryComposition$RepositoryFragments.invoke(RepositoryComposition.java:515)
	at org.springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:284)
	at org.springframework.data.repository.core.support.RepositoryFactorySupport$ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:734)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:174)
	at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:149)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:69)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138)
	... 54 common frames omitted
Caused by: org.postgresql.util.PSQLException: ERROR: null value in column "commit_repository_id" of relation "release_candidate" violates not-null constraint
  Detail: Failing row contains (699, 120281674, v2.14.2, 2023-07-15 10:06:45+00, null, null, null, null, null, 112363472, null).
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2736)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2421)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)
	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:525)
	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:435)
	at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:196)
	at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:157)
	at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:194)
	... 101 common frames omitted

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinginboxIssue comes from a user

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions