-
Notifications
You must be signed in to change notification settings - Fork 20
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
One app to rule them all #82
Conversation
can you be more specific about
|
Sorry @elizoller I didn't realize I hadn't put that in here. I did update the README which (hopefully) has all the needed information. https://github.com/Islandora/Alpaca/blob/d92362fd418cd5ad2d306ef7901a536bd555907d/README.md |
Sorry folks I decided to pull in the changes from #66 as well. This should be ready for a full test. |
I feel like I can't really speak to the code part of this directly but I can provide feedback on what I did to test this PR. |
islandora-indexing-fcrepo/src/main/java/ca/islandora/alpaca/indexing/fcrepo/FcrepoIndexer.java
Show resolved
Hide resolved
Other than my question about connectionClose (see above), I don't see any obvious issues. I think we can probably trust your smoke tests on this, @elizoller. |
Okay, as far as I'm concerned, if @elizoller is happy with his tests and @adam-vessey has his questions adequately addressed, 👍. |
Sorry for the delay on this, I have reverted the URL changes and then I had to work out a way of testing as the old way did not seem to work. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noticed PMD flagging things... should we be introducing/adding in some Github actions that check for these?
...tor-derivative/src/main/java/ca/islandora/alpaca/connector/derivative/DerivativeOptions.java
Outdated
Show resolved
Hide resolved
...tor-derivative/src/main/java/ca/islandora/alpaca/connector/derivative/DerivativeOptions.java
Outdated
Show resolved
Hide resolved
islandora-indexing-fcrepo/src/main/java/ca/islandora/alpaca/indexing/fcrepo/FcrepoIndexer.java
Show resolved
Hide resolved
...estore/src/main/java/ca/islandora/alpaca/indexing/triplestore/processors/ProcessorUtils.java
Outdated
Show resolved
Hide resolved
...estore/src/main/java/ca/islandora/alpaca/indexing/triplestore/processors/ProcessorUtils.java
Outdated
Show resolved
Hide resolved
islandora-support/src/main/java/ca/islandora/alpaca/support/config/PropertyConfig.java
Outdated
Show resolved
Hide resolved
islandora-support/src/main/java/ca/islandora/alpaca/support/config/PropertyConfig.java
Outdated
Show resolved
Hide resolved
islandora-support/src/main/java/ca/islandora/alpaca/support/config/PropertyConfig.java
Outdated
Show resolved
Hide resolved
islandora-support/src/main/java/ca/islandora/alpaca/support/event/AS2Object.java
Outdated
Show resolved
Hide resolved
@whikloj Sorry, I'm about to show how little I understand Alpaca and this pull request but is it possible to have gradle do the "build the jar and then copy it into the system (somewhere it can access Fedora, Blazegraph, ActiveMQ, the microservices)."? |
Ok there are still 2 PMD rule issues we need to make a decision about, but otherwise they are cleaned up. @DonRichards once Alpaca is finalized we can deploy a build jar to Maven and Github then people deploying it can just download the pre-built jar instead of having to compile it themselves. |
* Change up instantiation/initialization slightly. * PostConstruct is allowed to apply to private methods... ... seems like a false-positive in PMD? Got example exception from: https://stackoverflow.com/a/48679770 * Changing to camel's 3.7.6 LTS.
So, did realize something with the concurrent consumer stuff: It wouldn't really allow multiprocessing without the additional |
So I think it depends on what you mean by multiprocessing. For instance in our Islandora Legacy I use camel to kick off tesseract, it will run |
Possibly... my interpretation of Without |
I think we are in somewhat agreement, the only difference (I think) is that I now believe that without I do know that you can set I'll give your PR a build today and I have no issue adding it as a configurable option. |
Hmm... yeah, giving things a further poke, and seeing multiple |
Yeah I think that is why they don't guarantee the order if you use
and queue with
with a single consumer but |
* Fix up warning about the unclosed app context. * Slap together async-consumer stuff. * Add separator for asyncConsumer parameter. * Update example as suggested.
Since... I've now got code in this, I'm not really supposed to merge it, so... yeah... but I would if I could. :P |
Yeah we'll have to drag some other @Islandora/8-x-committers in to this |
@whikloj / @adam-vessey - do you want me to give it another round of smoke tests? |
Great job @whikloj and @adam-vessey for working through this! |
sounds like @alxp already got to it here: Islandora-Devops/islandora-playbook#208 (comment) |
@elizoller if you're able to have a look, please do. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one question about the "solr" config comment.
example.properties
Outdated
connection.timeout=-1 | ||
socket.timeout=-1 | ||
|
||
# Solr indexer options |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be "Fedora indexer options"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DOH
public static void main(final String[] args) { | ||
final AlpacaDriver driver = new AlpacaDriver(); | ||
final CommandLine cmd = new CommandLine(driver); | ||
//cmd.setExecutionExceptionHandler(new AppExceptionHandler(driver)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commented-out code should usually be removed.
@alxp , do you want to merge it? Or are you blocked due to codecov? |
Thank you all for seeing this through. I'm going to try and release it, see how that goes. |
GitHub Issue: Islandora/documentation#731
What does this Pull Request do?
Moves Alpaca from an OSGI bundle to a single runnable jar with all the various services inside.
What's new?
Removes OSGI bindings
Pulls SparqlUpdateProcessors in from fcrepo-camel code (it was causing problems with Jena libraries otherwise)
Create single runnable jar that takes configuration from a properties file.
Does this change require documentation to be updated? Docs are updated
Does this change add any new dependencies? No
Does this change require any other modifications to be made to the repository (i.e. Regeneration activity, etc.)? No
Could this change impact execution of existing code? Deployment will need to be altered.
How should this be tested?
Using a playbook or ISLE instance, build the jar and then copy it into the system (somewhere it can access Fedora, Blazegraph, ActiveMQ, the microservices).
Shutdown Karaf and copy the settings from all the various configuration files to a single properties file.
Start the jar with that properties file and it should perform all the various actions.
ie.
Additional Notes:
There are some stacktraces thrown that I left in place but are not actually a problem (for instance when you choose a media file, Drupal triggers us to send an event but it doesn't have all the necessary URLs yet. It can be ignored but could also be a sign of a problem.
Could leave the less verbose in the INFO level and move the stacktrace to the DEBUG logging level, but I don't want anyone to miss an actual problem. 🤷
Interested parties
@Islandora/8-x-committers (especially those you don't hate Java or at least will do Java, @dannylamb, @elizoller, @adam-vessey, etc)