I am not able Assign DS to a target
Hi all! I have integrated the keycloak with hawkbit after successful validation it redirect to hawkbit I am not able to assign distrubution to target.But through target filter it is assigning to ds.And I have assigned all client level roles to the user I have given all client roles to the user like
I have configured Hawkbit to use Postgresql for storage. I am able to create a distribution and assign a software module to it. But when I try to assign this distribution to a target device, it shows error on clicking 'save assign' button and Hawkbit hangs. Error: The operation cannot be fulfilled due to SQLException. Please contact administrators.
I have given all client roles to the user like
APPROVE_ROLLOUT CREATE_ROLLOUT DELETE_ROLLOUT UPDATE_ROLLOUT READ_ROLLOUT HANDLE_ROLLOUT ROLLOUT_MANAGEMENT
CREATE_TARGET DELETE_TARGET READ_TARGET UPDATE_TARGET
CREATE_REPOSITORY DELETE_REPOSITORY READ_REPOSITORY UPDATE_REPOSITORY
TENANT_CONFIGURATION
DOWNLOAD_REPOSITORY_ARTIFACT
READ_TARGET_SECURITY_TOKEN
I am getting error like this in terminal

I have decoded Access token it is getting client roles also Whatever I have assigned


Hi! As seen from the stack trace above the problem lies within the missing value for the "initiated_by" column while creating an action, thus having nothing to do with permissions. "initiated_by" represents the user principle of current authentication, meaning that you have misconfigured the user/keycloak integration and user data can't be read or is not present at all. Could you please provide the details of keycloak configuration/used properties?
There has been no response from the original author so I closed this issue. Please reach out if you have or find the answers we need so that we can investigate further.
I have also integrated hawkbit with Keycloak identity provider and experience this exact issue so hoping for some helpful insight in how to solve this please.
Hawkbit UI correctly displays my username in the Created By fields of the distributions and software modules I create and if I hover over the user icon in the top left I see Tenant: DEFAULT, User: xxxx so it seems authentication is working the user principal is there but manually assigning a distribution to a device fails silently in the UI but the logs output the DB constraint violation shown in the screenshot but pasted here for future 'searchees':
Caused by: org.postgresql.util.PSQLException: ERROR: null value in column "initiated_by" of relation "sp_action" violates not-null constraint
Detail: Failing row contains (1, 1649783370557, k2manager, 1649783370557, k2manager, 1, DEFAULT, t, 0, 3, 2, 1, null, null, 0, null, null, null, null, null, null).
Here's the docker environment variables I am using to start hawkbit as part of a docker stack that includes keycloak and postgres services all behind a reverse proxy which handles SSL termination:
- hawkbit.artifact.url.protocols.download-http.port=443
- hawkbit.artifact.url.protocols.download-http.protocol=https
- 'hawkbit.artifact.url.protocols.download-http.ref={protocol}://{hostnameRequest}:{port}$${server.servlet.context-path}/{tenant}/controller/v1/{controllerId}/softwaremodules/{softwareModuleId}/artifacts/{artifactFileName}'
- hawkbit.server.ddi.security.authentication.targettoken.enabled=true
- server.use-forward-headers=true
- server.forward-headers-strategy=NATIVE
- server.servlet.context-path=/hawkbit
- spring.security.oauth2.client.registration.oidc.client-id=hawkbit
- spring.security.oauth2.client.registration.oidc.client-secret=${HAWKBIT_CLIENT_SECRET?HAWKBIT_CLIENT_SECRET must be set}
- spring.security.oauth2.client.provider.oidc.user-name-attribute=preferred_username
# CAN'T USE ISSUER-URI FOR AUTO CONFIG AS THE SPEC SAYS THIS URI MUST MATCH THE URI RETURNED IN THE AUTO CONFIG WHICH
# IS NOT THE CASE WHEN KEYCLOAK IS ACCESSED ON PRIVATE NETWORK
- spring.security.oauth2.client.registration.oidc.scope=openid
- spring.security.oauth2.client.registration.oidc.authorization-grant-type=authorization_code
- spring.security.oauth2.client.registration.oidc.redirect-uri={baseUrl}/login/oauth2/code/{registrationId}
- spring.security.oauth2.client.provider.oidc.authorization-uri=https://${HOSTNAME?HOSTNAME must be set}/auth/realms/k2/protocol/openid-connect/auth
- spring.security.oauth2.client.provider.oidc.token-uri=http://keycloak:8080/auth/realms/k2/protocol/openid-connect/token
- spring.security.oauth2.client.provider.oidc.user-info-uri=http://keycloak:8080/auth/realms/k2/protocol/openid-connect/userinfo
- spring.security.oauth2.client.provider.oidc.jwk-set-uri=http://keycloak:8080/auth/realms/k2/protocol/openid-connect/certs
@bogdan-bondar Any chance you have an opinion about this?
Many Thanks!
Hello,
I'm facing the same issue. Did someone found any workaround?
Also same issue, with no workaround found so far. We are running image hawkbit/hawkbit-update-server:0.3.0M7-mysql from Docker Hub. It works well enough with Basic Auth, but we need OpenID Connect with Keycloak.
I can view my user name in the Management UI, and I can create for example Target Filters (which will correctly be attributed to my user name), so this is specific to DS assignment.
My testing configuration that causes the problem:
- 'SPRING_APPLICATION_JSON={
"spring.datasource.url": "jdbc:mysql://mysql:3306/hawkbit",
"spring.rabbitmq.host": "rabbitmq",
"spring.rabbitmq.username": "guest",
"spring.rabbitmq.password": "guest",
"spring.datasource.username": "root",
"logging.level.org.springframework.security.oauth2": "DEBUG",
"spring.security.oauth2.client.registration.keycloak.client-id": "hawkbit",
"spring.security.oauth2.client.registration.keycloak.client-secret": "hunter2",
"spring.security.oauth2.client.registration.keycloak.scope": "openid",
"spring.security.oauth2.client.registration.keycloak.authorization-grant-type": "authorization_code",
"spring.security.oauth2.client.provider.keycloak.user-name-attribute": "preferred_username",
"spring.security.oauth2.client.provider.keycloak.issuer-uri": "https://keycloak:8080/auth/realms/example",
"spring.security.oauth2.resourceserver.jwt.issuer-uri": "https://keycloak:8080/auth/realms/example",
"server.forward-headers-strategy": "NATIVE",
"hawkbit.artifact.url.protocols.download-http.hostname": "hawkbit.cloudcharge.se",
"hawkbit.artifact.url.protocols.download-http.protocol": "https",
"hawkbit.artifact.url.protocols.download-http.ref": "{protocol}://{hostname}/{tenant}/controller/v1/{controllerId}/softwaremodules/{softwareModuleId}/artifacts/{artifactFileName}"
}'
I have also tested with the configuration given by @richturner, which also mostly works, but with the same problem.
OP posted screenshots, which is not search engine friendly, so below is my stack trace. It's slightly different, but I believe the root cause is the same. OP is using PostgreSQL, while we're running MySQL.
2023-02-09T20:59:58.026818314Z 2023-02-09 20:59:58.025 ERROR 1 --- [tp2076249476-17] com.vaadin.server.DefaultErrorHandler :
2023-02-09T20:59:58.026912000Z
2023-02-09T20:59:58.027005405Z org.eclipse.hawkbit.repository.exception.EntityAlreadyExistsException: The given entity already exists in database
2023-02-09T20:59:58.027022912Z at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2023-02-09T20:59:58.027062209Z at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2023-02-09T20:59:58.027075144Z at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2023-02-09T20:59:58.027107085Z at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
2023-02-09T20:59:58.027119530Z at org.eclipse.hawkbit.repository.jpa.aspects.ExceptionMappingAspectHandler.catchAndWrapJpaExceptionsService(ExceptionMappingAspectHandler.java:98)
2023-02-09T20:59:58.027166895Z at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-02-09T20:59:58.027181101Z at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-02-09T20:59:58.027220858Z at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-02-09T20:59:58.027234140Z at java.lang.reflect.Method.invoke(Method.java:498)
2023-02-09T20:59:58.027264539Z at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
2023-02-09T20:59:58.027276559Z at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:626)
2023-02-09T20:59:58.027308867Z at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:66)
2023-02-09T20:59:58.027337532Z at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
2023-02-09T20:59:58.027372390Z at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
2023-02-09T20:59:58.027388981Z at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
2023-02-09T20:59:58.027420513Z at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
2023-02-09T20:59:58.027432763Z at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
2023-02-09T20:59:58.027466208Z at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
2023-02-09T20:59:58.027498126Z at org.eclipse.hawkbit.repository.jpa.JpaDeploymentManagement$$EnhancerBySpringCGLIB$$6b42701c.assignDistributionSets(<generated>)
2023-02-09T20:59:58.027535079Z at org.eclipse.hawkbit.ui.management.miscs.DeploymentAssignmentWindowController.assignTargetsToDistributions(DeploymentAssignmentWindowController.java:132)
2023-02-09T20:59:58.027547782Z at org.eclipse.hawkbit.ui.common.grid.support.assignment.DistributionSetsToTargetAssignmentSupport.lambda$performAssignment$2(DistributionSetsToTargetAssignmentSupport.java:91)
2023-02-09T20:59:58.027586393Z at org.eclipse.hawkbit.ui.common.grid.support.assignment.DeploymentAssignmentSupport.lambda$createConfirmationWindow$0(DeploymentAssignmentSupport.java:71)
2023-02-09T20:59:58.027599382Z at org.eclipse.hawkbit.ui.common.ConfirmationDialog$1.saveOrUpdate(ConfirmationDialog.java:144)
2023-02-09T20:59:58.027630090Z at org.eclipse.hawkbit.ui.common.CommonDialogWindow.onCloseEvent(CommonDialogWindow.java:118)
2023-02-09T20:59:58.027642340Z at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-02-09T20:59:58.027692059Z at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-02-09T20:59:58.027704426Z at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-02-09T20:59:58.027738884Z at java.lang.reflect.Method.invoke(Method.java:498)
2023-02-09T20:59:58.027751459Z at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:499)
2023-02-09T20:59:58.027783078Z at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:273)
2023-02-09T20:59:58.027795171Z at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:237)
2023-02-09T20:59:58.027842238Z at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1014)
2023-02-09T20:59:58.027856271Z at com.vaadin.ui.Button.fireClick(Button.java:384)
2023-02-09T20:59:58.027888479Z at com.vaadin.ui.Button$1.click(Button.java:57)
2023-02-09T20:59:58.027900781Z at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-02-09T20:59:58.027929939Z at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-02-09T20:59:58.027941763Z at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-02-09T20:59:58.027973398Z at java.lang.reflect.Method.invoke(Method.java:498)
2023-02-09T20:59:58.027986000Z at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:155)
2023-02-09T20:59:58.028049370Z at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:116)
2023-02-09T20:59:58.028062625Z at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:445)
2023-02-09T20:59:58.029682390Z at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:410)
2023-02-09T20:59:58.029706823Z at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274)
2023-02-09T20:59:58.029774049Z at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
2023-02-09T20:59:58.029790311Z at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
2023-02-09T20:59:58.029823358Z at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1606)
2023-02-09T20:59:58.029835878Z at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:448)
2023-02-09T20:59:58.029877075Z at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
2023-02-09T20:59:58.029890584Z at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791)
2023-02-09T20:59:58.029937559Z at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626)
2023-02-09T20:59:58.029952061Z at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:228)
2023-02-09T20:59:58.029984494Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.029996695Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.030026284Z at org.eclipse.hawkbit.autoconfigure.security.OidcBearerTokenAuthenticationFilter.doFilter(OidcUserManagementAutoConfiguration.java:348)
2023-02-09T20:59:58.030038376Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.030071150Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.030098629Z at org.vaadin.spring.http.HttpResponseFilter.doFilter(HttpResponseFilter.java:51)
2023-02-09T20:59:58.030137946Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.030151176Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.030184598Z at org.eclipse.hawkbit.rest.util.FilterHttpResponse.doFilter(FilterHttpResponse.java:39)
2023-02-09T20:59:58.030196669Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.030225841Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.030237623Z at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:155)
2023-02-09T20:59:58.030285707Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.030301068Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.030332097Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.030346217Z at org.eclipse.hawkbit.rest.filter.ExcludePathAwareShallowETagFilter.doFilterInternal(ExcludePathAwareShallowETagFilter.java:44)
2023-02-09T20:59:58.030380651Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.030393652Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.030449954Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.030465678Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
2023-02-09T20:59:58.030502211Z at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
2023-02-09T20:59:58.030519507Z at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
2023-02-09T20:59:58.030564313Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.030576608Z at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
2023-02-09T20:59:58.030632062Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.030651469Z at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
2023-02-09T20:59:58.030686963Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.030700545Z at org.springframework.security.oauth2.client.web.OAuth2AuthorizationCodeGrantFilter.doFilterInternal(OAuth2AuthorizationCodeGrantFilter.java:146)
2023-02-09T20:59:58.030739295Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.030752935Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.030801744Z at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
2023-02-09T20:59:58.030816309Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.030851626Z at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158)
2023-02-09T20:59:58.030865503Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.030896684Z at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
2023-02-09T20:59:58.030908922Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.030946213Z at org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter.doFilterInternal(DefaultLogoutPageGeneratingFilter.java:52)
2023-02-09T20:59:58.030976901Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.031010653Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.031023275Z at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:216)
2023-02-09T20:59:58.031054192Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.031066484Z at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
2023-02-09T20:59:58.031103163Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.031131111Z at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:160)
2023-02-09T20:59:58.031164927Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.031177533Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.031210465Z at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:160)
2023-02-09T20:59:58.031235994Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.031265940Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.031295434Z at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
2023-02-09T20:59:58.031328997Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.031341257Z at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
2023-02-09T20:59:58.031374030Z at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
2023-02-09T20:59:58.031386419Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.031415768Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.031427390Z at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
2023-02-09T20:59:58.031475592Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.031489586Z at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
2023-02-09T20:59:58.031520599Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.031532436Z at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
2023-02-09T20:59:58.031581604Z at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
2023-02-09T20:59:58.031596955Z at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
2023-02-09T20:59:58.031644592Z at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
2023-02-09T20:59:58.031658678Z at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
2023-02-09T20:59:58.031708236Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.034010989Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.034081307Z at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
2023-02-09T20:59:58.034095995Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.034170140Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.034186763Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.034217560Z at org.eclipse.hawkbit.security.DosFilter.doFilterInternal(DosFilter.java:119)
2023-02-09T20:59:58.034229587Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.034273284Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.034285213Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.034340382Z at org.eclipse.hawkbit.security.DosFilter.doFilterInternal(DosFilter.java:119)
2023-02-09T20:59:58.034353009Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.034385300Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.034398098Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.034429105Z at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
2023-02-09T20:59:58.034441363Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.034487325Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.034501000Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.034531203Z at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
2023-02-09T20:59:58.034543324Z at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2023-02-09T20:59:58.034588727Z at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
2023-02-09T20:59:58.034600883Z at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
2023-02-09T20:59:58.034663435Z at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
2023-02-09T20:59:58.034681321Z at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
2023-02-09T20:59:58.034711139Z at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)
2023-02-09T20:59:58.034731181Z at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
2023-02-09T20:59:58.034761005Z at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
2023-02-09T20:59:58.034772731Z at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
2023-02-09T20:59:58.034836406Z at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
2023-02-09T20:59:58.034850218Z at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
2023-02-09T20:59:58.034885407Z at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
2023-02-09T20:59:58.034898003Z at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
2023-02-09T20:59:58.034930915Z at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
2023-02-09T20:59:58.034943140Z at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
2023-02-09T20:59:58.034991778Z at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
2023-02-09T20:59:58.035005628Z at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
2023-02-09T20:59:58.035038556Z at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
2023-02-09T20:59:58.035051136Z at org.eclipse.jetty.server.Server.handle(Server.java:516)
2023-02-09T20:59:58.035080788Z at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
2023-02-09T20:59:58.035092912Z at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
2023-02-09T20:59:58.035139840Z at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
2023-02-09T20:59:58.035153798Z at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
2023-02-09T20:59:58.035186864Z at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
2023-02-09T20:59:58.035199425Z at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
2023-02-09T20:59:58.035229119Z at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
2023-02-09T20:59:58.035241108Z at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
2023-02-09T20:59:58.035270502Z at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
2023-02-09T20:59:58.035297200Z at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
2023-02-09T20:59:58.035330095Z at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
2023-02-09T20:59:58.035342187Z at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
2023-02-09T20:59:58.035371575Z at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
2023-02-09T20:59:58.035387978Z at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
2023-02-09T20:59:58.035424656Z at java.lang.Thread.run(Thread.java:748)
2023-02-09T20:59:58.035438150Z Caused by: org.springframework.dao.DataIntegrityViolationException: null; (conn=123190) Column 'initiated_by' cannot be null; nested exception is java.sql.SQLIntegrityConstraintViolationException: (conn=123190) Column 'initiated_by' cannot be null
2023-02-09T20:59:58.035491465Z at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:104)
2023-02-09T20:59:58.035504689Z at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
2023-02-09T20:59:58.035535266Z at org.eclipse.hawkbit.repository.jpa.HawkBitEclipseLinkJpaDialect.searchAndTranslateSqlException(HawkBitEclipseLinkJpaDialect.java:87)
2023-02-09T20:59:58.035547279Z at org.eclipse.hawkbit.repository.jpa.HawkBitEclipseLinkJpaDialect.translateExceptionIfPossible(HawkBitEclipseLinkJpaDialect.java:60)
2023-02-09T20:59:58.035578834Z at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:538)
2023-02-09T20:59:58.035590911Z at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743)
2023-02-09T20:59:58.035638181Z at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711)
2023-02-09T20:59:58.035651899Z at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:633)
2023-02-09T20:59:58.035688728Z at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:386)
2023-02-09T20:59:58.035701760Z at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
2023-02-09T20:59:58.035732644Z at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
2023-02-09T20:59:58.035744632Z at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
2023-02-09T20:59:58.035790556Z at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69)
2023-02-09T20:59:58.035804082Z at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
2023-02-09T20:59:58.035837217Z at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
2023-02-09T20:59:58.035850854Z at org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor.invoke(AnnotationAwareRetryOperationsInterceptor.java:156)
2023-02-09T20:59:58.035921532Z at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
2023-02-09T20:59:58.035949428Z at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
2023-02-09T20:59:58.035988655Z at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62)
2023-02-09T20:59:58.036001082Z ... 156 common frames omitted
2023-02-09T20:59:58.036028866Z Caused by: java.sql.SQLIntegrityConstraintViolationException: (conn=123190) Column 'initiated_by' cannot be null
2023-02-09T20:59:58.036040166Z at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:70)
2023-02-09T20:59:58.036073488Z at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:153)
2023-02-09T20:59:58.036113831Z at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:274)
2023-02-09T20:59:58.036148250Z at org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:229)
2023-02-09T20:59:58.036758842Z at org.mariadb.jdbc.ClientSidePreparedStatement.execute(ClientSidePreparedStatement.java:149)
2023-02-09T20:59:58.036812603Z at org.mariadb.jdbc.ClientSidePreparedStatement.executeUpdate(ClientSidePreparedStatement.java:181)
2023-02-09T20:59:58.036826960Z at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
2023-02-09T20:59:58.036862677Z at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
2023-02-09T20:59:58.036875465Z at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:898)
2023-02-09T20:59:58.036931792Z at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:970)
2023-02-09T20:59:58.036946340Z at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:640)
2023-02-09T20:59:58.036977304Z at org.eclipse.persistence.internal.databaseaccess.ParameterizedSQLBatchWritingMechanism.executeBatch(ParameterizedSQLBatchWritingMechanism.java:151)
2023-02-09T20:59:58.036983321Z at org.eclipse.persistence.internal.databaseaccess.ParameterizedSQLBatchWritingMechanism.executeBatchedStatements(ParameterizedSQLBatchWritingMechanism.java:136)
2023-02-09T20:59:58.036989139Z at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:617)
2023-02-09T20:59:58.036993220Z at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:567)
2023-02-09T20:59:58.036997239Z at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2096)
2023-02-09T20:59:58.037001320Z at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:311)
2023-02-09T20:59:58.037005274Z at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:275)
2023-02-09T20:59:58.037009353Z at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:261)
2023-02-09T20:59:58.037018041Z at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:332)
2023-02-09T20:59:58.037022122Z at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelect(DatasourceCallQueryMechanism.java:314)
2023-02-09T20:59:58.037026091Z at org.eclipse.persistence.queries.DataReadQuery.executeNonCursor(DataReadQuery.java:199)
2023-02-09T20:59:58.037030110Z at org.eclipse.persistence.queries.DataReadQuery.executeDatabaseQuery(DataReadQuery.java:154)
2023-02-09T20:59:58.037034032Z at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:914)
2023-02-09T20:59:58.037037891Z at org.eclipse.persistence.queries.DataReadQuery.execute(DataReadQuery.java:139)
2023-02-09T20:59:58.037041757Z at org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:3349)
2023-02-09T20:59:58.037045771Z at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1895)
2023-02-09T20:59:58.037060745Z at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1877)
2023-02-09T20:59:58.037076800Z at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1827)
2023-02-09T20:59:58.037080860Z at org.eclipse.persistence.sequencing.QuerySequence.select(QuerySequence.java:325)
2023-02-09T20:59:58.037084908Z at org.eclipse.persistence.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:270)
2023-02-09T20:59:58.037088826Z at org.eclipse.persistence.sequencing.StandardSequence.getGeneratedValue(StandardSequence.java:65)
2023-02-09T20:59:58.037092758Z at org.eclipse.persistence.sequencing.Sequence.getGeneratedValue(Sequence.java:235)
2023-02-09T20:59:58.037097260Z at org.eclipse.persistence.internal.sequencing.SequencingManager$NoPreallocation_State.getNextValue(SequencingManager.java:698)
2023-02-09T20:59:58.037101312Z at org.eclipse.persistence.internal.sequencing.SequencingManager.getNextValue(SequencingManager.java:1109)
2023-02-09T20:59:58.037105260Z at org.eclipse.persistence.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:72)
2023-02-09T20:59:58.037109329Z at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:372)
2023-02-09T20:59:58.037113261Z at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:345)
2023-02-09T20:59:58.037129417Z at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.updateObjectAndRowWithSequenceNumber(DatabaseQueryMechanism.java:874)
2023-02-09T20:59:58.037133438Z at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.insertObject(DatasourceCallQueryMechanism.java:420)
2023-02-09T20:59:58.037137308Z at org.eclipse.persistence.internal.queries.StatementQueryMechanism.insertObject(StatementQueryMechanism.java:167)
2023-02-09T20:59:58.037141098Z at org.eclipse.persistence.internal.queries.StatementQueryMechanism.insertObject(StatementQueryMechanism.java:182)
2023-02-09T20:59:58.037148143Z at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:504)
2023-02-09T20:59:58.037152019Z at org.eclipse.persistence.queries.InsertObjectQuery.executeCommit(InsertObjectQuery.java:82)
2023-02-09T20:59:58.037155808Z at org.eclipse.persistence.queries.InsertObjectQuery.executeCommitWithChangeSet(InsertObjectQuery.java:92)
2023-02-09T20:59:58.037159508Z at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:316)
2023-02-09T20:59:58.037163301Z at org.eclipse.persistence.queries.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:60)
2023-02-09T20:59:58.037167013Z at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:914)
2023-02-09T20:59:58.037170799Z at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:813)
2023-02-09T20:59:58.037174573Z at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:110)
2023-02-09T20:59:58.037178523Z at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:87)
2023-02-09T20:59:58.037182519Z at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2981)
2023-02-09T20:59:58.037186242Z at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1895)
2023-02-09T20:59:58.037189957Z at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1877)
2023-02-09T20:59:58.037193949Z at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1827)
2023-02-09T20:59:58.037197685Z at org.eclipse.persistence.internal.sessions.CommitManager.commitNewObjectsForClassWithChangeSet(CommitManager.java:229)
2023-02-09T20:59:58.037201452Z at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsForClassWithChangeSet(CommitManager.java:196)
2023-02-09T20:59:58.037205317Z at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:141)
2023-02-09T20:59:58.037209370Z at org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:4387)
2023-02-09T20:59:58.037213155Z at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1493)
2023-02-09T20:59:58.037244098Z at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1583)
2023-02-09T20:59:58.037247786Z at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.commitRootUnitOfWork(RepeatableWriteUnitOfWork.java:280)
2023-02-09T20:59:58.037251324Z at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitAndResume(UnitOfWorkImpl.java:1220)
2023-02-09T20:59:58.037254916Z at org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:136)
2023-02-09T20:59:58.037260737Z at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:534)
2023-02-09T20:59:58.037264342Z ... 170 common frames omitted
2023-02-09T20:59:58.037267727Z Caused by: org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException: Column 'initiated_by' cannot be null
2023-02-09T20:59:58.037271227Z at org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException.of(MariaDbSqlException.java:34)
2023-02-09T20:59:58.037274795Z at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.exceptionWithQuery(AbstractQueryProtocol.java:192)
2023-02-09T20:59:58.037278485Z at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.exceptionWithQuery(AbstractQueryProtocol.java:175)
2023-02-09T20:59:58.037282795Z at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:319)
2023-02-09T20:59:58.037286319Z at org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:220)
2023-02-09T20:59:58.037289893Z ... 231 common frames omitted
2023-02-09T20:59:58.037293276Z Caused by: java.sql.SQLException: Column 'initiated_by' cannot be null
2023-02-09T20:59:58.037296681Z at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:1681)
2023-02-09T20:59:58.037300162Z at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1543)
2023-02-09T20:59:58.037316642Z at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1506)
2023-02-09T20:59:58.037320542Z at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:316)
2023-02-09T20:59:58.037324331Z ... 232 common frames omitted
2023-02-09T20:59:58.037328061Z
Note that ExceptionMappingAspectHandler incorrectly assumes all instances of DataIntegrityViolationException are caused by collisions with pre-existing keys, so the outer exception is misleading.
It is related to the OIDC integration of the UI which has been removed. Obsolete.