hawkbit icon indicating copy to clipboard operation
hawkbit copied to clipboard

I am not able Assign DS to a target

Open KOTTIRAMSAI opened this issue 4 years ago • 6 comments

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 image image image

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

image

KOTTIRAMSAI avatar Nov 05 '21 06:11 KOTTIRAMSAI

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?

bogdan-bondar avatar Jan 25 '22 18:01 bogdan-bondar

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.

hawkbit-bot avatar Feb 10 '22 00:02 hawkbit-bot

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

richturner avatar Apr 12 '22 17:04 richturner

@bogdan-bondar Any chance you have an opinion about this?

Many Thanks!

richturner avatar May 03 '22 18:05 richturner

Hello,

I'm facing the same issue. Did someone found any workaround?

pdomineaux avatar Nov 16 '22 15:11 pdomineaux

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.

pianosaurus avatar Feb 09 '23 21:02 pianosaurus

It is related to the OIDC integration of the UI which has been removed. Obsolete.

avgustinmm avatar Jan 08 '25 08:01 avgustinmm