-
Notifications
You must be signed in to change notification settings - Fork 4
Eliminate hydrus dependency on lyberservices-prod #457
Comments
Looks like a request to get workflows from a hydrus object:
Hydrus Object: https://argo.stanford.edu/view/druid:yh041gt7606 |
|
When I looked at this yesterday, it looked like the hydrus druid URLs that get hit are item druid |
The workflows datastream in that Fedora object has the lyberservices-prod URL in it (since it is an "external" databastream). When you view that datastream in Fedora admin, it triggers the call which you can see in the logs |
I bet that URL is embedded in all fedora objects in that workflows datastream (which I believe is now no longer used). Maybe Hydrus shows it somewhere, triggering the request? |
This page is where I thought the request might be coming from, but it is blank for me and doesn't seem to trigger the request in the log: https://sdr.stanford.edu/items/druid:yh041gt7606/datastreams |
Yesterday I made a change to this test collection and saved it: https://sdr.stanford.edu/collections/druid:gs556yg7381 But I didn't change any items in that collection. That led to the collection druid workflows URL and its APO druid workflows URL showing up in the log. But I didn't check until after I made the edit and saved it, so I don't know when exactly the http requests were made. |
Can you clarify what you mean by this? Looking at the logs for lyberservices-prod, it appears that a request for the workflows datastream is what is appearing? |
Sorry, I meant that the druids identified in the workflows datastreams in the log corresponded to those items. Not that URLs for those druid item pages were in the log. |
Opened a new version for this test item and saw the requests come in: https://sdr.stanford.edu/items/druid:ch858tj0413
So related to opening a new version in Hydrus. |
Saving the object makes the requests appear to. So perhaps it is a save. |
Loading the hydrus item manually on the rails console and saving it triggers the requests in lyberservices-prod logs:
leads to this in the logs for lyberservices-prod at
|
Saving the object also shows some deprecation warnings...could be unrelated but perhaps we are running older versions of gems that are triggering the calls to lyberservices... will check gem versions:
|
Using Argo to compare with. Argo is currently on dor-services 9.5.0, but hydrus is locked to ~> 8.0 in the Gemfile and is on 8.6.0 Argo and hydrus are both on the same version for dor-workflow-client and dor-services-client. So suspicion falls on dor-services v8 doing something with the workflows datastream on the save. |
I suspect we need to update Hydrus to use dor-services v9. Not sure of the implications of this though, will benefit from further team discussion. Put up a simple PR here to see what happens when the tests are run with the newer version of dor-services: #458 |
Because it breaks production and people have work to do. Re-opens #457 which will be discussed on Tuesday.
We will discuss an approach to this on Tuesday Sept 1st. |
Because it breaks production and people have work to do. Re-opens #457 which will be discussed on Tuesday.
we'll try this in stage first, possibly editing an existing stage object to use an older lyberservices URL. |
I have reached out to @andrewjbtw @hannahfrost @amyehodge and @sul-dlss/operations on Slack to coordinate a time to conduct this testing. |
I worked with @amyehodge @tallenaz and @andrewjbtw to decommission lyberservices-test and -prod, and we can confirm that all the tests identified above worked just fine. No weird new behavior, and no exceptions in honeybadger. We will leave the lyberservices boxes off but leave them around for three weeks, and then re-assess. That way if they are needed in a pinch, we can turn them back on. NOTE: we did not do this part:
Is that OK? |
@tallenaz will check back on this in October and if none of us have lingering concerns, he will decommission the VMs for good. At that point, this issue can be closed. (This is no longer being actively tracked by the @sul-dlss/infrastructure-team FR.) |
Rock on.
Yes, this second bullet point was only in case the switching off entirely generated odd behaviors. If it doesn't, I don't see a need to do this. |
We are trying to turn off lyberservices-prod, but Hydrus seems to be making requests to it still. Look at the logs and try to figure out why and also if the depedency is required for Hydrus to continue operating.
Log on lyberservices-prod: /var/log/httpd/access_log
See slack thread: https://stanfordlib.slack.com/archives/C0RK5EM9N/p1596151403493200?thread_ts=1596144800.488800&cid=C0RK5EM9N
See archeology in comments below. Seems to be related to indexing. An attempt was made to add indexing code to Hydrus directly but this caused other problems. See PRs #461 and then #471 which reverted the work.
Next steps to try with the ultimate goal being turn off lyberservices-prod while keeping Hydrus operational.
Things to test in Hydrus each time
The text was updated successfully, but these errors were encountered: