Stash Data Center compatibility

Issue #30 new
Roger Barnes created an issue

Hi!

As you may know, Stash Data Center, a clustered edition of Stash allowing performance at scale and high availability, is currently in a beta phase. As we are nearing general availability, I'm reaching out to developers who who have popular add-ons on the Atlassian marketplace regarding Data Center compatibility.

Documentation on developing and testing cluster-safe plugins is available here: https://developer.atlassian.com/stash/docs/latest/how-tos/cluster-safe-plugins.html

The documentation contains instructions for spinning up Stash clusters, testing cluster safety, and publishing your add-on as Data Center-compatible. 

The main difference in clustered Stash is that add-on code can no longer assume it is running on just a single JVM but may run on multiple nodes in the cluster.  While many add-ons actually don't rely on this assumption and will "just work" without modification, any add-on that (for example) maintains in-memory data structures or caches must now be aware that these are not automatically visible equally on all cluster nodes in clustered Stash.  Fortunately, the Stash API for plugin developers now includes a number of new services that make it easy to write cluster-safe add-ons.  These services generally provide similar API's to standard Java API's such as ConcurrentMap, Cache, Lock, etc., so in many cases an add-on can be made cluster safe by just changing a few classes. 

Once you've made the modifications for cluster safety (if any) to the Repository Mirror add-on, it should just be a matter of marking it with the atlassian-data-center-compatible parameter and releasing it to the Atlassian Marketplace.  If you have any questions about this, please don't hesitate to contact me. 

Cheers, Roger Barnes Stash Product Manager

Comments (2)

  1. Log in to comment