question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Deleting a connection which is used by an integration leads to inconsistent state

See original GitHub issue

This is a…


[ ] Feature request
[ ] Regression (a behavior that used to work and stopped working in a new release)
[X] Bug report  
[ ] Documentation issue or request

After an import of integration with a broken connection (because of missing OAuth dance, see #2522), deleting the connection is possible without warning (e.g. “is used in an existing integration”). After the deletion, the following error happens on the integration overview:

image

and in the server logs there’s a NPE:

2018-05-02 09:24:07.765  INFO [-,,,] 1 --- [oller Scheduler] i.s.s.c.i.IntegrationController          : Checking integrations for their status.
2018-05-02 09:24:23.529 ERROR [-,bbc75ec8b624358d,bbc75ec8b624358d,false] 1 --- [  XNIO-3 task-8] .s.e.v.h.e.SyndesisServerExceptionMapper : Internal Server Exception. null

java.lang.NullPointerException: null
	at io.syndesis.server.endpoint.v1.handler.integration.IntegrationHandler.toCurrentConnection(IntegrationHandler.java:352) ~[server-endpoint-1.3.5-20180502.jar!/:1.3.5-20180502]
	at java.util.Optional.map(Optional.java:215) ~[na:1.8.0_151]
	at io.syndesis.server.endpoint.v1.handler.integration.IntegrationHandler.toCurrentSteps(IntegrationHandler.java:371) ~[server-endpoint-1.3.5-20180502.jar!/:1.3.5-20180502]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_151]
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1380) ~[na:1.8.0_151]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_151]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_151]
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_151]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_151]
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_151]
	at io.syndesis.server.endpoint.v1.handler.integration.IntegrationHandler.toCurrentIntegrationOverview(IntegrationHandler.java:333) ~[server-endpoint-1.3.5-20180502.jar!/:1.3.5-20180502]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_151]
	at java.util.Collections$2.tryAdvance(Collections.java:4717) ~[na:1.8.0_151]
	at java.util.Collections$2.forEachRemaining(Collections.java:4725) ~[na:1.8.0_151]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_151]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_151]
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_151]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_151]
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_151]
	at io.syndesis.server.endpoint.v1.handler.integration.IntegrationHandler.list(IntegrationHandler.java:149) ~[server-endpoint-1.3.5-20180502.jar!/:1.3.5-20180502]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_151]

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:13 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
paoloantinoricommented, May 2, 2018

Due to the late moment, I’ve discussed this with @aileenc and we were thinking to entirely disable the ability to delete a connection if it’s identified as in use.

This affects the UX but it should be relatively easy to implement server side and client side.

Any major objection to this?

0reactions
mastepancommented, May 9, 2018
Read more comments on GitHub >

github_iconTop Results From Across the Web

Get `Inconsistent state for stream ` when integrating Heroku ...
1 Answer 1 · open your integration settings · navigate to "Tables to replicate" · manually un-check and re-check each table to be...
Read more >
1.1 - Deleting a Connection - Teradata Analytic Apps
If you delete a connection used in a workflow or data integration, be sure to update the workflow or data integration to use...
Read more >
Errors and troubleshooting for Databricks Repos
The repo could be in an inconsistent state and re-cloning is recommended. This error indicates that a problem occurred while deleting folders ......
Read more >
How to re-index existing indexes — Integration Matters ...
Index state let you know, whether there are indexes left of previous version in your Elasticsearch. B: REFRESH updates the current page to...
Read more >
Transaction locking and row versioning guide - SQL Server
In any database, mismanagement of transactions often leads to contention and performance problems in systems that have many users. As the number of...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found