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

RACK UI: button to restart Fuseki #870

Closed
cuddihyge opened this issue Jan 10, 2023 · 11 comments
Closed

RACK UI: button to restart Fuseki #870

cuddihyge opened this issue Jan 10, 2023 · 11 comments
Assignees
Labels
rack-ui Python web rack UI

Comments

@cuddihyge
Copy link
Contributor

cuddihyge commented Jan 10, 2023

Add to RACK UI the capability to restart Fuseki.
Likely via a button on a new Utility tab.

@cuddihyge cuddihyge added the rack-ui Python web rack UI label Jan 10, 2023
@weisenje weisenje self-assigned this Jan 12, 2023
@weisenje weisenje changed the title Restart Fuseki RACK UI: button to restart Fuseki Jan 12, 2023
@weisenje
Copy link
Contributor

Created PR #875. Will merge to master if no objections materialize.

Image

@glguy
Copy link
Contributor

glguy commented Feb 14, 2023

This feature isn't working for me, and I'm getting inconsistent results when I try to reproduce the failure with manual command invocations. Is anyone else experiencing this failing?

I get messages in my docker console output

2023-02-13 16:23:07 fuseki.service: 00:23:06 INFO  Server          :: Apache Jena Fuseki 4.6.1
2023-02-13 16:23:07 fuseki.service: 00:23:07 ERROR Server          :: SPARQLServer: Failed to start server: Failed to bind to 0.0.0.0/0.0.0.0:3030
2023-02-13 16:23:07 fuseki.service: java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:3030

and when I connect to the docker instance with bash I can see two fuseki processes running (the old one didn't die).

@glguy
Copy link
Contributor

glguy commented Feb 14, 2023

I can't reproduce this reliably. Sometimes it works and sometimes it doesn't. We might end up having to hack around it like:

  • systemctl stop fuseki
  • check that it stopped - kill it until this check succeeds
  • systemctl start fuseki

@Ptival
Copy link
Contributor

Ptival commented Feb 14, 2023

I can confirm that it works for me most of the time, but once I got the same behavior as @glguy , so we should keep an eye on this.

A symptom of the bad behavior is that there end up being two fuseki instances: the "old" one, with a very low PID (usually 110), and new ones seem to get spawned at regular interval and die, with increasing PIDs.

@weisenje
Copy link
Contributor

weisenje commented Feb 14, 2023

I had not experienced this problem when I worked on it - the "check for stop" seems like a good idea if that's feasible - if not maybe we should consider whether this feature is worth keeping (@cuddihyge I think we added it as a nice-to-have, not crucial)

@ge-high-assurance ge-high-assurance deleted a comment from cuddihy Feb 14, 2023
@weisenje
Copy link
Contributor

Thank you @glguy for looking at this and pushing #903

I just pulled the latest Docker container (confirmed it got the changes in #903), and the Restart Fuseki button is now failing for me. The RACK UI shows "Exception: Error restarting the triple store". In the shell, I can see systemctl status fuseki: inactive

Perhaps we can look at it together to troubleshoot.

@glguy
Copy link
Contributor

glguy commented Feb 16, 2023

I've pushed a commit that fixes it in my local docker image. When I originally tested this I copied the script manually into my docker but it seems that I didn't save the correct one back into the repository.

@weisenje
Copy link
Contributor

@glguy I pulled the latest and "Restart Fuseki" now works for me.

However, if I load an ingestion package that includes optimization, I get "Exception: Optimize script returned exit code 1". Does this work for you?

@glguy
Copy link
Contributor

glguy commented Feb 16, 2023

It works now. same error in two places. It's rather unreliable to have shell scripts calling each other so the the bug ended up duplicated twice <_<

@weisenje
Copy link
Contributor

@glguy I'm seeing restart and optimize both working most of the time, but not all of the time. I don't see any pattern to the failures.

For restart the user can just click restart again and see it succeed. However if optimize errors there is no way to re-trigger optimize without reloading the entire package.

@glguy
Copy link
Contributor

glguy commented Feb 17, 2023

OK. I think I'll need to add additional logging so that I can understand how things are breaking here before I'll know how to fix the restart process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rack-ui Python web rack UI
Projects
None yet
Development

No branches or pull requests

5 participants