Skip navigation

Welp, quite a bit happened after Beta1.  Thanks to a helpful amount of beta testers and several improvements, another beta release was merited.  Note that we're hoping to have Final out late next week, pending additional issues that come up.


A lot of attention was given to performance improvements in this release.  If you haven't already, check out the previous blog post: Huge Performance Increases in Artificer 1.0.0.Beta2





Numerous other fixes and improvements went into the release: Release Notes - JBoss Issue Tracker



Docs: Index of /artificer/1.0.0.Beta2

Souce: Release artificer-1.0.0.Beta2 · ArtificerRepo/artificer · GitHub

Docker: jboss/artificer-wildfly:1.0.0.Beta2

Software Artifact, Metadata, and Information Repository (Open Source) · Artificer

Update: After enabling, by default, the query cache and Infinispan 2nd level cache, the write times decreased dramatically for this specific example (also 10-20x over JCR).  This is expected, due to several types of repeated queries used to initialize relationship targets, etc. that are now optimized by the cache.  On the other hand, you'll notice a slight increase in the initial query times.  This is also expected, as the first instance of each requires a "put" into the caches.  But, subsequent, repeated query executions will "hit" the cache and skip the DB entirely, the results get a lot more exciting...


When we announced the release of Artificer 1.0.0.Beta1, we described our switch to a new persistent storage setup (Artificer 1.0.0.Beta1 Released!).  While the initial performance results were promising, I was a bit disappointed.  However, Beta2 will change that.  After using a CQRS pattern, tweaking our use of Hibernate Search, and spending a lot of time with JProfiler, we were surprised by the magnitude of the improvements.  In our example, full-text queries improved over 10x, when compared to the old JCR setup.  Metadata queries improved a little under 20x!  Plus, neither of those used pagination, so real-world use cases will be exponentially faster.


2000 primary artifacts may not seem like much, even after derivation.  And that's fair enough.  However, this at least gives an idea as to why we made the decisions we did.  Even in this out-of-the-box example that skips clustering, in-memory caching, and other scaling techniques, the results are extremely promising.  Artificer should now be positioned to take on extremely large quantities of large documents, typical in enterprise development shops.


Note that this new setup heavily emphasizes fast reads over writes.  You'll notice that the writes have actually slowed a bit.  But, that's entirely expected, since there's a lot more to writing to RDBMS (as opposed to a JCR node), updating Hibernate Search indexes, etc.  But in the end, Artificer use cases have always leaned towards reads being the vital priority.  Although any solution has pros and cons, we feel this approach best fits where Artificer is headed.


A PDF of the results is attached!

First off, apologies for the delay between Alpha2 and Beta1.  But...


...some big things happened and the delay was 1.) necessary to finish and test them, and 2.) completely worth it!  The deets:



As always, the release details are here (including a few other minor JIRAs that I didn't mention): Release Notes - JBoss Issue Tracker


Note that this should be considered the feature-freeze for 1.0.  However, we plan to immediately launch into some new awesomeness for 1.1.


One other thing to note: we finally have a logo and new branding!  Check out the website (Software Artifact, Metadata, and Information Repository (Open Source) · Artificer), Twitter (Artificer (@ArtificerRepo) | Twitter), etc. to see it in action.  We'd love to hear your thoughts.  Oh, and you deserve to purchase yourself a T-Shirt: Artificer on Twitter: "Also, Artificer mugs, buttons, and t-shirts make great birthday gifts for your loved ones http…



Docs: Index of /artificer/1.0.0.Beta1

Souce: Release artificer-1.0.0.Beta1 · ArtificerRepo/artificer · GitHub

Docker: (coming soon)