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

Can't Ctrl-C Early on dapr run w/o Necessary Component, Forced to Wait After Seeing Initial Err #1338

Open
cicoyle opened this issue Sep 14, 2023 · 3 comments
Assignees
Labels
good first issue Good for newcomers help wanted Extra attention is needed kind/bug Something isn't working triaged/resolved The issue has been triaged
Milestone

Comments

@cicoyle
Copy link
Contributor

cicoyle commented Sep 14, 2023

Expected Behavior

I would like to think I should be able to ctrl-c to kill the dapr run process once I see an err. I don't really care to see it err more after I know what is wrong after seeing 1 err.

Actual Behavior

I am unable to ctrl-c and end the dapr run early. I am forced to wait about 1 minute for the command to finish failing. It looks like it did receive my signal to cancel: terminated signal received: shutting down, but I feel as though there is room for improvement here, as to a user it looks like it never accepted my ^C^C^C^C^C^C^C.

Steps to Reproduce the Problem

Follow the README here, and do not create the statestore.

Run the query state example with this command without having a mongo-statestore:

dapr run --components-path ./components/state --app-id query-state-example -H 3600 -- java -Ddapr.api.protocol=HTTP -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.querystate.QuerySavedState

It will take its time, and even if you ctrl-c, it will still fail slowly for a while after you try to cancel. See output of running the above command below:

Flag --components-path has been deprecated, This flag is deprecated and will be removed in the future releases. Use "resources-path" flag instead
ℹ️  Starting Dapr with id query-state-example. HTTP Port: 3600. gRPC Port: 57846
ℹ️  Checking if Dapr sidecar is listening on HTTP port 3600
INFO[0000] starting Dapr Runtime -- version 1.11.3 -- commit 9f99c6adca78dfc04b8063974f27b3a7534ae798  app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
INFO[0000] log level set to: info                        app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
INFO[0000] metrics server started on :57847/             app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.metrics type=log ver=1.11.3
INFO[0000] Resiliency configuration loaded               app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
INFO[0000] standalone mode configured                    app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
INFO[0000] app id: query-state-example                   app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
INFO[0000] mTLS is disabled. Skipping certificate request and tls validation  app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
INFO[0000] Dapr trace sampler initialized: DaprTraceSampler(P=1.000000)  app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
INFO[0000] local service entry announced: query-state-example -> 192.168.0.2:57848  app_id=query-state-example component="mdns (nameResolution/v1)" instance=Cassandras-MacBook-Pro.local scope=dapr.contrib type=log ver=1.11.3
INFO[0000] Initialized name resolution to mdns           app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
INFO[0000] Loading components…                           app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
WARN[0005] Error processing component, daprd process will exit gracefully  app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
FATA[0005] process component mongo-statestore error: [INIT_COMPONENT_FAILURE]: initialization error occurred for mongo-statestore (state.mongodb/v1): init timeout for component mongo-statestore exceeded after 5s  app_id=query-state-example instance=Cassandras-MacBook-Pro.local scope=dapr.runtime type=log ver=1.11.3
❌  The daprd process exited with error code: exit status 1
^C^C^C^C^C^C^C
⚠  Dapr sidecar is not listening on HTTP port: dial tcp 127.0.0.1:3600: connect: connection refused
ℹ️  Checking if Dapr sidecar is listening on GRPC port 57846
⚠  Dapr sidecar is not listening on GRPC port: dial tcp 127.0.0.1:57846: connect: connection refused
⚠  Dapr sidecar might not be responding.
== APP == 08:25:19.899 [main] WARN io.dapr.client.DaprClientBuilder - HTTP client protocol is deprecated and will be removed in Dapr's Java SDK version 1.10.
== APP == Waiting for Dapr sidecar ...
== APP == 08:25:20.076 [main] DEBUG reactor.util.Loggers - Using Slf4j logging framework
== APP == Exception in thread "main" java.lang.reflect.InvocationTargetException
== APP == 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
== APP == 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
== APP == 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
== APP == 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
== APP == 	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
== APP == 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
== APP == 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
== APP == 	at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
== APP == Caused by: java.lang.reflect.InvocationTargetException
== APP == 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
== APP == 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
== APP == 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
== APP == 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
== APP == 	at io.dapr.examples.DaprMainApplication.main(DaprMainApplication.java:37)
== APP == 	... 8 more
== APP == Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused (Connection refused)
== APP == 	at io.dapr.utils.NetworkUtils.lambda$waitForSocket$0(NetworkUtils.java:53)
== APP == 	at io.dapr.utils.NetworkUtils.callWithRetry(NetworkUtils.java:89)
== APP == 	at io.dapr.utils.NetworkUtils.waitForSocket(NetworkUtils.java:44)
== APP == 	at io.dapr.client.DaprClientHttp.lambda$waitForSidecar$0(DaprClientHttp.java:141)
== APP == 	at reactor.core.publisher.MonoRunnable.block(MonoRunnable.java:66)
== APP == 	at io.dapr.examples.querystate.QuerySavedState.main(QuerySavedState.java:53)
== APP == 	... 13 more
== APP == Caused by: java.net.ConnectException: Connection refused (Connection refused)
== APP == 	at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
== APP == 	at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412)
== APP == 	at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255)
== APP == 	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237)
== APP == 	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
== APP == 	at java.base/java.net.Socket.connect(Socket.java:609)
== APP == 	at io.dapr.utils.NetworkUtils.lambda$waitForSocket$0(NetworkUtils.java:50)
== APP == 	... 18 more
❌  The App process exited with error code: exit status 1
⚠  Could not update sidecar metadata for cliPID: PUT http://127.0.0.1:3600/v1.0/metadata/cliPID giving up after 5 attempt(s): Put "http://127.0.0.1:3600/v1.0/metadata/cliPID": dial tcp 127.0.0.1:3600: connect: connection refused
ℹ️  Updating metadata for appPID: 84095
⚠  Could not update sidecar metadata for appPID: PUT http://127.0.0.1:3600/v1.0/metadata/appPID giving up after 5 attempt(s): Put "http://127.0.0.1:3600/v1.0/metadata/appPID": dial tcp 127.0.0.1:3600: connect: connection refused
ℹ️  Updating metadata for app command: java -Ddapr.api.protocol=HTTP -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.querystate.QuerySavedState
⚠  Could not update sidecar metadata for appCommand: PUT http://127.0.0.1:3600/v1.0/metadata/appCommand giving up after 5 attempt(s): Put "http://127.0.0.1:3600/v1.0/metadata/appCommand": dial tcp 127.0.0.1:3600: connect: connection refused
ℹ️  
terminated signal received: shutting down
❌  Error exiting Dapr: exit status 1
❌  Error exiting App: exit status 1
@cicoyle cicoyle added the kind/bug Something isn't working label Sep 14, 2023
@mukundansundar mukundansundar added this to the v1.13 milestone Sep 15, 2023
@mukundansundar mukundansundar added help wanted Extra attention is needed good first issue Good for newcomers triaged/resolved The issue has been triaged labels Sep 15, 2023
@mukundansundar
Copy link
Collaborator

related issue #327

@pravinpushkar
Copy link
Contributor

/assign

@antontroshin
Copy link
Contributor

antontroshin commented Jul 30, 2024

related issues
#1256
#1354

@antontroshin antontroshin modified the milestones: v1.14, v1.15 Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed kind/bug Something isn't working triaged/resolved The issue has been triaged
Projects
No open projects
Development

No branches or pull requests

4 participants