Skip to content

DB Inconsistencies when revoking a publisher agreement #1733

@netomi

Description

@netomi

What usually happens is that the versions of all published extensions for that user are set to inactive, however the extension entity itself is still kept active leading to a situation where there is an active extension without any version.

Follow up error when the DB is in such an inconsistent state:

[open-vsx-org-production-64494f675-dq6bh] Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.openvsx.entities.ExtensionVersion.getDisplayName()" because "latest" is null 
[open-vsx-org-production-64494f675-dq6bh] 	at org.eclipse.openvsx.adapter.LocalVSCodeService.toQueryExtension(LocalVSCodeService.java:441) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.eclipse.openvsx.adapter.LocalVSCodeService.extensionQuery(LocalVSCodeService.java:230) 
[open-vsx-org-production-64494f675-dq6bh] 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) 
[open-vsx-org-production-64494f675-dq6bh] 	at java.base/java.lang.reflect.Method.invoke(Method.java:565) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.eclipse.openvsx.adapter.LocalVSCodeService$$SpringCGLIB$$0.extensionQuery(<generated>) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.eclipse.openvsx.adapter.DefaultExtensionQueryRequestHandler.getResult(DefaultExtensionQueryRequestHandler.java:40) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.eclipse.openvsx.adapter.VSCodeAPI.extensionQuery(VSCodeAPI.java:94) 
[open-vsx-org-production-64494f675-dq6bh] 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) 
[open-vsx-org-production-64494f675-dq6bh] 	at java.base/java.lang.reflect.Method.invoke(Method.java:565) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) 
[open-vsx-org-production-64494f675-dq6bh] 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) 

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is not working correctly

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions