forked from d2iq-archive/marathon
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New Persistence API with higher scalability limits (d2iq-archive#4178)
Major changes - New Persistence API with support for ZK, Memory, and Two caching modes. - Move all storage related "stuff" into marathon/core/storage - Default the storage backend to the new ZK API. - Lazy storage of Groups (new API only) where Apps are stored separately. - Only GroupRepository is allowed write access to AppRepository - Completely unify the persistence API between new and old, keeping a single, simplified chain of Repositories. - Make versioned repositories explicit. - Prepare for a future where typesafe config is used as opposed to a million command line options (storage supports it now). - Refactor migration a bit to differentiate new API vs old API (needs a bit more work) - Run repository tests against all of the backing stores. (in some cases) remove mocks and prefer the in memory implementation where it otherwise makes sense (not to simulate errors, etc). - Add ZookeeperServerTest that will spin up/down a zk server and provide a client on a ephemeral port. This has the major advantage of bringing us closer to being able to run tests in parallel. - Add a Garbage Collector to the new persistence store that will try to enforce max versions, but in the background. The garbage collector is triggered by deployment plan deletion. Minor changes - run scalastyle for test in compile, not test. - add plugin to auto-resolve documentation links - remove lots of Guice Injections for Storage. - Use immutable.Seq across the persistence layer. - Use OffsetDateTime (java8 time) for versioning in the new API as it is strictly better than timestamp. - Make some traits have companion objects so they can be imported instead of mixed-in. - Add a generic Sink stage that can drain into any collection, then wrap the Akka Sink API in a companion. - Add some tooling for enriched Locks. - Add scala friendly API around typesafe config. - Add RichFuture that adds "asTry" which makes a future always complete, but with a try instead (very nice for async/await) - Fix some oversight issues with CapConcurrentExecutions. I would like to remove the actor from this and make it a functional transform instead. - Add a SettableClock (the java8 time Clock) that lets you control time a bit easier for testing. - default sbt opts to use better jvm options - run-tests.sh runs all of the SBT commands together. * Move PersistentStoreTests to use built-in zk
- Loading branch information
1 parent
7a560a2
commit 8667787
Showing
176 changed files
with
9,967 additions
and
2,830 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,15 @@ | ||
-mem 4096 | ||
-mem 8192 | ||
-J-XX:MaxMetaspaceSize=512m | ||
-J-XX:+UseConcMarkSweepGC | ||
-J-XX:+CMSClassUnloadingEnabled | ||
|
||
-J-server | ||
-J-XX:+CMSParallelRemarkEnabled | ||
-J-XX:+UseCMSInitiatingOccupancyOnly | ||
-J-XX:+ScavengeBeforeFullGC | ||
-J-XX:+CMSScavengeBeforeRemark | ||
-J-XX:+ScavengeBeforeFullGC | ||
-J-XX:+CMSScavengeBeforeRemark | ||
-J-XX:SoftRefLRUPolicyMSPerMB=50 | ||
-J-XX:CMSInitiatingOccupancyFraction=70 | ||
-J-XX:-OmitStackTraceInFastThrow | ||
-J-XX:+AggressiveOpts |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.