Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deleting row after search in data explorer gives unknown error #9263

Open
marijevdgeest opened this issue Jun 16, 2021 · 1 comment
Open

Comments

@marijevdgeest
Copy link
Contributor

marijevdgeest commented Jun 16, 2021

How to Reproduce

When you search on a row in the data explorer and try to delete the particular row (or any rows found after search), the data explorer throws an 'Unknown Error', while the row is actually deleted. Only after refreshing the page the deleted row is gone.

Expected behavior

Deleting a row after search is deleted immediately without errors.

Observed behavior

Data explorer first shows Unknown error, after refresh the row is gone.

Note: It probably only happens after searching, but not 100% sure!

@tommydeboer
Copy link
Collaborator

I ran into the same problem. Looks like it's a caching issue:

java.lang.NullPointerException: null
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
	at org.molgenis.data.cache.l3.L3Cache$1.load(L3Cache.java:114)
	at org.molgenis.data.cache.l3.L3Cache$1.load(L3Cache.java:101)
	at com.github.benmanes.caffeine.guava.CaffeinatedGuavaLoadingCache$SingleLoader.load(CaffeinatedGuavaLoadingCache.java:136)
	at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:141)
	at com.github.benmanes.caffeine.cache.LocalCache.lambda$statsAware$0(LocalCache.java:139)
	at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2341)
	at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908)
	at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2339)
	at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2322)
	at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)
	at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:54)
	at com.github.benmanes.caffeine.guava.CaffeinatedGuavaLoadingCache.getUnchecked(CaffeinatedGuavaLoadingCache.java:75)
	at org.molgenis.data.cache.l3.L3Cache.get(L3Cache.java:64)
	at org.molgenis.data.cache.l3.L3CacheRepositoryDecorator.findAll(L3CacheRepositoryDecorator.java:59)
	at org.molgenis.data.AbstractRepositoryDecorator.findAll(AbstractRepositoryDecorator.java:78)
	at org.molgenis.data.AbstractRepositoryDecorator.findAll(AbstractRepositoryDecorator.java:78)
	at org.molgenis.data.EntityReferenceResolverDecorator.findAll(EntityReferenceResolverDecorator.java:24)
	at org.molgenis.data.AbstractRepositoryDecorator.findAll(AbstractRepositoryDecorator.java:78)
	at org.molgenis.data.AbstractRepositoryDecorator.findAll(AbstractRepositoryDecorator.java:78)
	at org.molgenis.data.AbstractRepositoryDecorator.findAll(AbstractRepositoryDecorator.java:78)
	at org.molgenis.data.security.RepositorySecurityDecorator.findAll(RepositorySecurityDecorator.java:70)
	at org.molgenis.data.transaction.TransactionalRepositoryDecorator.findAll(TransactionalRepositoryDecorator.java:89)
	at org.molgenis.data.AbstractRepositoryDecorator.findAll(AbstractRepositoryDecorator.java:78)
	at org.molgenis.data.validation.QueryValidationRepositoryDecorator.findAll(QueryValidationRepositoryDecorator.java:45)
	at org.molgenis.data.support.DataServiceImpl.findAll(DataServiceImpl.java:72)
	at org.molgenis.data.support.DataServiceImpl$$FastClassBySpringCGLIB$$2e5f77dc.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
	at org.molgenis.data.support.DataServiceImpl$$EnhancerBySpringCGLIB$$739a9c90.findAll(<generated>)
	at org.molgenis.api.data.v2.RestControllerV2.lambda$createEntityCollectionResponse$11(RestControllerV2.java:759)
	at org.molgenis.api.data.v2.RestControllerV2.createEntityCollectionResponse(RestControllerV2.java:766)
	at org.molgenis.api.data.v2.RestControllerV2.retrieveEntityCollection(RestControllerV2.java:278)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants