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

[gateway] ConcurrentModificationException when stopping an API #994

Closed
brasseld opened this Issue Jan 11, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@brasseld
Member

brasseld commented Jan 11, 2018

This issue is appearing when we have more than one endpoint for an API.

java.util.ConcurrentModificationException: null
	at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:711)
	at java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:734)
	at io.gravitee.gateway.http.core.endpoint.impl.DefaultEndpointLifecycleManager.doStop(DefaultEndpointLifecycleManager.java:74)
	at io.gravitee.common.component.AbstractLifecycleComponent.stop(AbstractLifecycleComponent.java:41)
	at io.gravitee.gateway.handlers.api.ApiReactorHandler.doStop(ApiReactorHandler.java:350)
	at io.gravitee.common.component.AbstractLifecycleComponent.stop(AbstractLifecycleComponent.java:41)
	at io.gravitee.gateway.reactor.handler.impl.DefaultReactorHandlerRegistry.remove(DefaultReactorHandlerRegistry.java:77)
	at io.gravitee.gateway.reactor.impl.DefaultReactor.onEvent(DefaultReactor.java:125)
	at io.gravitee.common.event.impl.EventManagerImpl.publishEvent(EventManagerImpl.java:44)
	at io.gravitee.common.event.impl.EventManagerImpl.publishEvent(EventManagerImpl.java:36)
	at io.gravitee.gateway.handlers.api.manager.impl.ApiManagerImpl.undeploy(ApiManagerImpl.java:115)
	at io.gravitee.gateway.services.sync.SyncManager.lambda$refresh$6(SyncManager.java:141)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1683)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at io.gravitee.gateway.services.sync.SyncManager.refresh(SyncManager.java:141)
	at io.gravitee.gateway.services.sync.ScheduledSyncService.doSync(ScheduledSyncService.java:95)
	at io.gravitee.gateway.services.sync.ScheduledSyncService.run(ScheduledSyncService.java:87)
	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
	at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment