Code Monkey home page Code Monkey logo

dynomite-manager's Introduction

Dynomite-manager

Build Status Dev chat at https://gitter.im/Netflix/dynomite Apache V2 License

Dynomite-manager is a Java process/tool that can be used alongside Dynomite to manage a Dynomite cluster. Some of the features include:

Details about the features can be found in the Wiki

Workflow

The stable version of Dynomite-manager is the master branch.

For questions or contributions, please consider reading CONTRIBUTING.md.

Build

Dynomite-manager comes with a Gradle wrapper

./gradlew build

The gradlew script will pull down all necessary gradle components/infrastructure automatically, then run the build.

Dynomite-manager provides several default implementations (AWS, Configuration, credentials etc). You can use these or choose to create your own. Dynomite-manager is currently working on AWS and your local environment. We are open to contributions to support other platforms as well.

Howto

At Netflix, we use AWS to deploy Dynomite-manager in an EC2 instance along with Dynomite and Redis. However, Dynomite-manager has a set of abstracted interfaces that it can work in different environments. The following are the AWS bindings. In a different environment, these interfaces must be implemented. By default, we provide a local binding for getting the instance information from a local-end point.

Secondly, we use Dynomite-manager as a sidecar for the communication of Dynomite with the highly available database where the tokens are stored. For that reason, we use Cassandra. The default instance factory binding is about Cassandra but any other data store could be used. Moreover, in order to get the information about the Cassandra nodes, we provide a Local Host supplier as well as implementations for Eureka discovery service.

Deploying in a Tomcat Container

  1. Build the dynomite-manager
  2. Set up Auto-Scale Group (ASG) and spin up instances
  3. Install Dynomite and web container (such as tomcat) on the instances.
  4. Setup AWS credentials
  5. Deploy dynomite-manager.war in your container

Integrating with other systems

Dynomite-manager also publishes the corresponding .jars that one can use to integrate with their own systems. At Netflix, we do use this approach. We bring the OSS .jars in our build process that produces a .war file.

Configuration

Dynomite-manager is comprised of 4 configuration interfaces.

  • FloridaConfig: Configuration for everything related to Dynomite and Redis.
  • AwsCommonConfig: AWS configuration. If DM is deployed in another environment, then the corresponding interface should be added.
  • CassCommonConfig: Cassandra configuration. This is the configuration for Cassandra which stores the Dynomite tokens. If another DB is used, then the corresponding interface should be added.
  • CommonConfig: Baseline configuration.

Help

We are looking forward in your contributions. If you need some help with either getting up and going or some problems with the code?

  • Submit an issue to repo
  • Chat with us on Dev chat at https://gitter.im/Netflix/dynomite

License

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

dynomite-manager's People

Contributors

akbarahmed avatar diegopacheco avatar dnahurnyi avatar ipapapa avatar jkschneider avatar rpalcolea avatar sghill avatar shailesh33 avatar smukil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dynomite-manager's Issues

Should be SimpleDBConfigSource, not PropertiesConfigSource

Please look at the highlighted line: DefaultConfigSource.java#L24

Shouldn't PropertiesConfigSource simpleDBConfigSource be SimpleDBConfigSource simpleDBConfigSource.

@Inject
public DefaultConfigSource(final SimpleDBConfigSource simpleDBConfigSource,
                        final PropertiesConfigSource propertiesConfigSource,
                        final SystemPropertiesConfigSource systemPropertiesConfigSource) {

    super(simpleDBConfigSource, propertiesConfigSource, systemPropertiesConfigSource);

}

If yes, I can quickly make this change.

Multi-Region deployment, Public IP

This is a question,
multi region deployment done via Public IPs, what prevents me to have private IPs there, assuming I have VPC peering in place ( and some changes in a code ), much more manageable solution or there is a deeper reasoning for that?

Error: No implementation for com.netflix.archaius.api.Config was bound

When trying to run dynomite manager locally getting the following error:

21:56:30 WARN Failed startup of context o.a.g.JettyWebAppContext@4b14918a{/,file:/root/dynomite-manager/dynomitemanager-web/build/inplaceWebapp/,STARTING}
com.google.inject.ProvisionException: Unable to provision, see the following errors:

  1. Failed to create injector

1 error
at com.netflix.governator.guice.servlet.GovernatorServletContextListener.getInjector(GovernatorServletContextListener.java:111) ~[na:na]
at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47) ~[na:na]
at com.netflix.governator.guice.servlet.GovernatorServletContextListener.contextInitialized(GovernatorServletContextListener.java:86) ~[na:na]
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800) ~[jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444) ~[jetty-servlet-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791) ~[jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294) ~[jetty-servlet-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349) ~[jetty-webapp-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342) ~[jetty-webapp-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) ~[jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) ~[jetty-webapp-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.akhikhl.gretty.JettyWebAppContext.super$10$doStart(JettyWebAppContext.groovy) [gretty-runner-jetty9-2.0.0.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_144]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_144]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_144]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144]
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) [groovy-2.4.11.jar:2.4.11]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) [groovy-2.4.11.jar:2.4.11]
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152) [groovy-2.4.11.jar:2.4.11]
at org.akhikhl.gretty.JettyWebAppContext.doStart(JettyWebAppContext.groovy:44) [gretty-runner-jetty9-2.0.0.jar:na]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) [jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163) [jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.Server.start(Server.java:387) [jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) [jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.Server.doStart(Server.java:354) [jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.LifeCycle$start$0.call(Unknown Source) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) [groovy-2.4.11.jar:2.4.11]
at org.akhikhl.gretty.JettyServerManager.startServer(JettyServerManager.groovy:45) [gretty-runner-jetty-2.0.0.jar:na]
at org.akhikhl.gretty.ServerManager$startServer$0.call(Unknown Source) [gretty-runner-2.0.0.jar:na]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) [groovy-2.4.11.jar:2.4.11]
at org.akhikhl.gretty.Runner.run(Runner.groovy:117) [gretty-runner-2.0.0.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_144]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_144]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_144]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144]
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:71) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) [groovy-2.4.11.jar:2.4.11]
at org.akhikhl.gretty.Runner.main(Runner.groovy:44) [gretty-runner-2.0.0.jar:na]
Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors:

  1. No implementation for com.netflix.archaius.api.Config was bound.
    while locating com.netflix.archaius.api.Config
    for the 1st parameter of com.netflix.archaius.ConfigProxyFactory.(ConfigProxyFactory.java:108)
    while locating com.netflix.archaius.ConfigProxyFactory
    for the 1st parameter of com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83)
    at com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83) (via modules: com.google.inject.util.Modules$CombinedModule -> com.netflix.florida.startup.FloridaModule -> com.netflix.florida.startup.FloridaModule$1 -> com.netflix.runtime.health.guice.HealthModule$InternalHealthModule)

  2. No implementation for com.netflix.archaius.api.Decoder was bound.
    while locating com.netflix.archaius.api.Decoder
    for the 2nd parameter of com.netflix.archaius.ConfigProxyFactory.(ConfigProxyFactory.java:108)
    while locating com.netflix.archaius.ConfigProxyFactory
    for the 1st parameter of com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83)
    at com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83) (via modules: com.google.inject.util.Modules$CombinedModule -> com.netflix.florida.startup.FloridaModule -> com.netflix.florida.startup.FloridaModule$1 -> com.netflix.runtime.health.guice.HealthModule$InternalHealthModule)

  3. No implementation for com.netflix.archaius.api.PropertyFactory was bound.
    while locating com.netflix.archaius.api.PropertyFactory
    for the 3rd parameter of com.netflix.archaius.ConfigProxyFactory.(ConfigProxyFactory.java:108)
    while locating com.netflix.archaius.ConfigProxyFactory
    for the 1st parameter of com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83)
    at com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83) (via modules: com.google.inject.util.Modules$CombinedModule -> com.netflix.florida.startup.FloridaModule -> com.netflix.florida.startup.FloridaModule$1 -> com.netflix.runtime.health.guice.HealthModule$InternalHealthModule)

3 errors
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470) ~[na:na]
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155) ~[na:na]
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) ~[na:na]
at com.google.inject.Guice.createInjector(Guice.java:99) ~[na:na]
at com.google.inject.Guice.createInjector(Guice.java:84) ~[na:na]
at com.netflix.governator.LifecycleInjectorCreator.createInjector(LifecycleInjectorCreator.java:100) ~[na:na]
at com.netflix.governator.LifecycleInjectorCreator.createInjector(LifecycleInjectorCreator.java:38) ~[na:na]
at com.netflix.governator.InjectorBuilder.createInjector(InjectorBuilder.java:209) ~[na:na]
at com.netflix.governator.InjectorBuilder.createInjector(InjectorBuilder.java:230) ~[na:na]
at com.netflix.florida.startup.Florida.createInjector(Florida.java:44) ~[na:na]
at com.netflix.governator.guice.servlet.GovernatorServletContainerInitializer$1.createInjector(GovernatorServletContainerInitializer.java:29) ~[na:na]
at com.netflix.governator.guice.servlet.GovernatorServletContextListener.getInjector(GovernatorServletContextListener.java:107) ~[na:na]
... 53 common frames omitted

Dynomite Manager with Conductor

(Note: I posted this same issue to the Conductor forum.)
Does anyone out there have any experience deploying Dynomite Manager with Conductor on AWS? We have a topology we think works: One Conductor ELB with two 1.8.0 instances on different AZs, three 0.5.9 Dynomite instances per each of these AZs (for a total of 6), with a Redis 3.2.10 server running on each instance. Each Dynomite config file points to the other 5 EC2 ip's; and the Conductor config points to all 6. While this works great from a functionality perspective, from an OPS perspective it's a nightmare; if any Dynomite instance goes down, not only will they have to stand up an instance manually (since the config file has to point to the other running instances), they also have to restart the running instances (because their individual conf files also will have to be modified). We are currently researching Dynomite Manager to handle issues like this, but we can't find any specific documentation addressing how to get Dynomite Manager working with Conductor. From our understanding, the setting workflow.dynomite.cluster.hosts has to point to individual EC2 ip's, not some manager "host". Can someone point me to some documentation that addresses this type of deployment strategy?

javaException while starting app

i successfully build app but then i trying to start it a get an error: Exception in thread "Thread-970" java.lang.IllegalStateException: The configuration :dynomitemanager-web:runtimeClasspath was resolved from a thread not managed by Gradle.
trace

> Configure project :dynomitemanager-common
Inferred project: dynomitemanager, version: 2.1.0-SNAPSHOT
Exception in thread "Thread-970" java.lang.IllegalStateException: The configuration :dynomitemanager-web:runtimeClasspath was resolved from a thread not managed by Gradle.
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater(DefaultConfiguration.java:588)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$1900(DefaultConfiguration.java:149)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$SelectedArtifactsProvider.getValue(DefaultConfiguration.java:1328)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$SelectedArtifactsProvider.getValue(DefaultConfiguration.java:1318)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getSelectedArtifacts(DefaultConfiguration.java:1390)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.visitContents(DefaultConfiguration.java:1377)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.visitContents(DefaultConfiguration.java:497)
        at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:326)
        at org.gradle.api.internal.file.CompositeFileCollection.lambda$visitContents$0(CompositeFileCollection.java:119)
        at org.gradle.api.internal.file.UnionFileCollection.visitChildren(UnionFileCollection.java:78)
        at org.gradle.api.internal.file.CompositeFileCollection.visitContents(CompositeFileCollection.java:119)
        at org.gradle.api.internal.file.AbstractFileCollection.getFiles(AbstractFileCollection.java:126)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.MethodMetaProperty$GetBeanMethodMetaProperty.getProperty(MethodMetaProperty.java:76)
        at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:63)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:298)
        at org.akhikhl.gretty.scanner.BaseScannerManager.collectScanDirs(BaseScannerManager.groovy:67)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:149)
        at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:100)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:224)
        at org.akhikhl.gretty.scanner.BaseScannerManager.getEffectiveScanDirs(BaseScannerManager.groovy:107)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:190)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:58)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:160)
        at org.akhikhl.gretty.JettyScannerManager.startScanner(JettyScannerManager.groovy:60)
        at org.akhikhl.gretty.ScannerManager$startScanner.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callSafe(AbstractCallSite.java:82)
        at org.akhikhl.gretty.DefaultLauncher.beforeJavaExec(DefaultLauncher.groovy:52)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:160)
        at org.akhikhl.gretty.LauncherBase$_launchThread_closure4.doCall(LauncherBase.groovy:240)
        at org.akhikhl.gretty.LauncherBase$_launchThread_closure4.doCall(LauncherBase.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:399)
        at groovy.lang.Closure.run(Closure.java:486)
        at java.lang.Thread.run(Thread.java:748)

No implementation for com.netflix.dynomitemanager.identity.InstanceEnvIdentity was bound.

When trying to start the app either via gradle jettyRun task or by deploying to tomcat the error comes up:

com.google.inject.CreationException: Guice creation errors:

1) No implementation for com.netflix.dynomitemanager.identity.InstanceEnvIdentity was bound.
  while locating com.netflix.dynomitemanager.identity.InstanceEnvIdentity
    for parameter 2 at com.netflix.dynomitemanager.sidecore.aws.AWSMembership.<init>(AWSMembership.java:66)
  while locating com.netflix.dynomitemanager.identity.IMembership
    for parameter 1 at com.netflix.dynomitemanager.identity.InstanceIdentity.<init>(InstanceIdentity.java:80)
  while locating com.netflix.dynomitemanager.identity.InstanceIdentity
    for parameter 1 at com.netflix.dynomitemanager.defaultimpl.FloridaStandardTuner.<init>(FloridaStandardTuner.java:61)
  at com.netflix.dynomitemanager.defaultimpl.InjectedWebListener$DynomiteGuiceModule.configure(InjectedWebListener.java:116)

2) Could not find a suitable constructor in com.netflix.discovery.DiscoveryClient. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
  at com.netflix.discovery.DiscoveryClient.class(DiscoveryClient.java:91)
  while locating com.netflix.discovery.DiscoveryClient
    for parameter 0 at com.netflix.dynomitemanager.supplier.EurekaHostsSupplier.<init>(EurekaHostsSupplier.java:54)
  at com.netflix.dynomitemanager.defaultimpl.InjectedWebListener$DynomiteGuiceModule.configure(InjectedWebListener.java:123)

Dynomite-manager for local cluster deployment

I'm trying to write an interface for our local cluster deployment and i'm trying to give implementation for the given interfaces
IMembership;
ICredential;
ICredential;
InstanceEnvIdentity;
InstanceDataRetriever;
IEnvVariables;

  1. Register membership.
    Here we need to provide cluster info i.e RAC details like racid ,name nodes etc. Can some one help
    here in how to start with. (is there any doc for this?)

  2. InstanceEnvIdentity
    Do we need to set isClassic to true?

Can you help us in implementing these interfaces?
This requirement discussion is already in following threads #529 , #95

Thanks

Dynomite Manager in OpenStack

H @ipapapa i,

As I have been discussing in other thread, I am thinking to run Dynomite Manager in OpenStack/KVM/vCenter. I am interested for cold bootstrap (warm up) feature only.

Any pointers on how can this be achieved ?

I am thinking of not to use the following features for the time being -

  • Token management for multi-region deployments
  • Automated security group update in multi-region environment
  • S3 backups and restores

Any idea how can I deploy Dynomite Manager in OpenStack/KVM/vCenter and use only cold bootstrap (warm up) feature?

Please advice.

Thanks, Santos

Dynomite Manager deployment on EC2

Guys I am trying to deploy dynomite manager on tomcat on EC2 and enabled AWS binding and disabled local one. But still getting this error in logs

21-Feb-2021 14:32:13.650 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/apache-tomcat-9.0.41/webapps/dynomite-manager.war] 21-Feb-2021 14:32:16.939 INFO [Catalina-utility-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. log4j:WARN No appenders could be found for logger (com.netflix.governator.LifecycleManager). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 21-Feb-2021 14:32:29.525 SEVERE [Catalina-utility-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file 21-Feb-2021 14:32:29.531 SEVERE [Catalina-utility-1] org.apache.catalina.core.StandardContext.startInternal Context [/dynomite-manager] startup failed due to previous errors 21-Feb-2021 14:32:29.537 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_Worker-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:543) 21-Feb-2021 14:32:29.538 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_Worker-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:543) 21-Feb-2021 14:32:29.539 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_Worker-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:543) 21-Feb-2021 14:32:29.539 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_Worker-4] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:543) 21-Feb-2021 14:32:29.540 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_Worker-5] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:543) 21-Feb-2021 14:32:29.546 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_Worker-6] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:543) 21-Feb-2021 14:32:29.546 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_Worker-7] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:543) 21-Feb-2021 14:32:29.547 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_Worker-8] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:543) 21-Feb-2021 14:32:29.548 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_Worker-9] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:543) 21-Feb-2021 14:32:29.548 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_Worker-10] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:543) 21-Feb-2021 14:32:29.549 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [Timer-7] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) java.util.TimerThread.mainLoop(Timer.java:552) java.util.TimerThread.run(Timer.java:505) 21-Feb-2021 14:32:29.550 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [pool-56-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) java.lang.Thread.run(Thread.java:748) 21-Feb-2021 14:32:29.551 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [pool-55-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) java.lang.Thread.run(Thread.java:748) 21-Feb-2021 14:32:29.551 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [pool-54-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) java.lang.Thread.run(Thread.java:748) 21-Feb-2021 14:32:29.552 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [dynomite-manager] appears to have started a thread named [DefaultQuartzScheduler_QuartzSchedulerThread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:244) 21-Feb-2021 14:32:29.554 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/apache-tomcat-9.0.41/webapps/dynomite-manager.war] has finished in [15,903] ms
Can you let me know what more steps are required or what other config needs to be updated?
I am using openjdk version "1.8.0_272" and Apache Tomcat/9.0.41.

Unable to get dynomite-manager up and running

I am trying to run dynomite manager on AWS but I am a bit confused on what values to set for the below env variables:

  1. NETFLIX_APP
  2. EC2_REGION
  3. NETFLIX_AUTO_SCALE_GROUP

These are picked up in the Java class:
https://github.com/Netflix/dynomite-manager/blob/dev/dynomitemanager-common/src/main/java/com/netflix/nfsidecar/resources/env/InstanceEnvVariables.java

Also, are there any other environment variables or properties that need to be set/passed while starting dynomite manager?

Bug: getRacks() will not return the list of AZs from the local Region

DynomitemanagerConfiguration.java

  1. CONFIG_AVAILABILITY_ZONES is only used in getZones().
  2. getZones() is never used, so it can be removed. Therefore, CONFIG_AVAILABILITY_ZONES can be removed.
  3. BUG: setDefaultRACList() sets the value of DEFAULT_AVAILABILITY_ZONES, but should set the value of DEFAULT_AVAILABILITY_RACKS.
    • The reason is that getZones(), which returns DEFAULT_AVAILABILITY_ZONES is never used.
    • However, getRacks(), which is used by AWSMembership.java returns DEFAULT_AVAILABILITY_RACKS which is (should be) the list of AZs within the server's Region.
  4. After fixing the bug, then DEFAULT_AVAILABILITY_ZONES will never be used and can be removed.

I'll push this bug fix as one of the commits in my PR for configuration.

Problem in configuring

Hi,
As we are planning to move from redis sentinel to dynomite.I try to configure DM to local datacenters, i'm facing these issuses even i have implemented floridaconfig. Can anyone guide me to configure

`./gradlew jettyrun
Inferred project: dynomitemanager, version: 2.1.0-SNAPSHOT
Publication nebula not found in project :.
Publication named 'nebula' does not exist for project ':' in task ':artifactoryPublish'.
:dynomitemanager-web:prepareInplaceWebAppFolder UP-TO-DATE
:dynomitemanager-web:createInplaceWebAppFolder UP-TO-DATE
:dynomitemanager-common:compileJava UP-TO-DATE
:dynomitemanager-common:processResources NO-SOURCE
:dynomitemanager-common:classes UP-TO-DATE
:dynomitemanager-common:writeManifestProperties UP-TO-DATE
:dynomitemanager-common:jar UP-TO-DATE
:dynomitemanager-core:compileJava UP-TO-DATE
:dynomitemanager-core:processResources NO-SOURCE
:dynomitemanager-core:classes UP-TO-DATE
:dynomitemanager-core:writeManifestProperties UP-TO-DATE
:dynomitemanager-core:jar UP-TO-DATE
:dynomitemanager-web:compileJava UP-TO-DATE
:dynomitemanager-web:processResources UP-TO-DATE
:dynomitemanager-web:classes UP-TO-DATE
:dynomitemanager-web:prepareInplaceWebAppClasses UP-TO-DATE
:dynomitemanager-web:prepareInplaceWebApp UP-TO-DATE
:dynomitemanager-web:jettyRun
log4j:WARN No appenders could be found for logger (com.netflix.governator.LifecycleManager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
15:52:59 WARN Failed startup of context o.a.g.JettyWebAppContext@1a6c1270{/,file:/$HOME/dynomite-manager/dynomitemanager-web/build/inplaceWebapp/,STARTING}
com.google.inject.ProvisionException: Unable to provision, see the following errors:

  1. Failed to create injector

1 error
at com.netflix.governator.guice.servlet.GovernatorServletContextListener.getInjector(GovernatorServletContextListener.java:111) ~[na:na]
at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47) ~[na:na]
at com.netflix.governator.guice.servlet.GovernatorServletContextListener.contextInitialized(GovernatorServletContextListener.java:86) ~[na:na]
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800) ~[jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444) ~[jetty-servlet-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791) ~[jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294) ~[jetty-servlet-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349) ~[jetty-webapp-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342) ~[jetty-webapp-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) ~[jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) ~[jetty-webapp-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.akhikhl.gretty.JettyWebAppContext.super$10$doStart(JettyWebAppContext.groovy) [gretty-runner-jetty9-2.0.0.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_112]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_112]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_112]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_112]
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) [groovy-2.4.11.jar:2.4.11]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) [groovy-2.4.11.jar:2.4.11]
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152) [groovy-2.4.11.jar:2.4.11]
at org.akhikhl.gretty.JettyWebAppContext.doStart(JettyWebAppContext.groovy:44) [gretty-runner-jetty9-2.0.0.jar:na]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) [jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163) [jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.Server.start(Server.java:387) [jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) [jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.server.Server.doStart(Server.java:354) [jetty-server-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.eclipse.jetty.util.component.LifeCycle$start$0.call(Unknown Source) [jetty-util-9.2.22.v20170606.jar:9.2.22.v20170606]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) [groovy-2.4.11.jar:2.4.11]
at org.akhikhl.gretty.JettyServerManager.startServer(JettyServerManager.groovy:45) [gretty-runner-jetty-2.0.0.jar:na]
at org.akhikhl.gretty.ServerManager$startServer$0.call(Unknown Source) [gretty-runner-2.0.0.jar:na]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) [groovy-2.4.11.jar:2.4.11]
at org.akhikhl.gretty.Runner.run(Runner.groovy:117) [gretty-runner-2.0.0.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_112]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_112]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_112]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_112]
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:71) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-2.4.11.jar:2.4.11]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) [groovy-2.4.11.jar:2.4.11]
at org.akhikhl.gretty.Runner.main(Runner.groovy:44) [gretty-runner-2.0.0.jar:na]
Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors:

  1. No implementation for com.netflix.archaius.api.Config was bound.
    while locating com.netflix.archaius.api.Config
    for the 1st parameter of com.netflix.archaius.ConfigProxyFactory.(ConfigProxyFactory.java:108)
    while locating com.netflix.archaius.ConfigProxyFactory
    for the 1st parameter of com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83)
    at com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83) (via modules: com.google.inject.util.Modules$CombinedModule -> com.netflix.florida.startup.FloridaModule -> com.netflix.florida.startup.FloridaModule$1 -> com.netflix.runtime.health.guice.HealthModule$InternalHealthModule)

  2. No implementation for com.netflix.archaius.api.Decoder was bound.
    while locating com.netflix.archaius.api.Decoder
    for the 2nd parameter of com.netflix.archaius.ConfigProxyFactory.(ConfigProxyFactory.java:108)
    while locating com.netflix.archaius.ConfigProxyFactory
    for the 1st parameter of com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83)
    at com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83) (via modules: com.google.inject.util.Modules$CombinedModule -> com.netflix.florida.startup.FloridaModule -> com.netflix.florida.startup.FloridaModule$1 -> com.netflix.runtime.health.guice.HealthModule$InternalHealthModule)

  3. No implementation for com.netflix.archaius.api.PropertyFactory was bound.
    while locating com.netflix.archaius.api.PropertyFactory
    for the 3rd parameter of com.netflix.archaius.ConfigProxyFactory.(ConfigProxyFactory.java:108)
    while locating com.netflix.archaius.ConfigProxyFactory
    for the 1st parameter of com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83)
    at com.netflix.runtime.health.guice.HealthModule$InternalHealthModule.healthConfiguration(HealthModule.java:83) (via modules: com.google.inject.util.Modules$CombinedModule -> com.netflix.florida.startup.FloridaModule -> com.netflix.florida.startup.FloridaModule$1 -> com.netflix.runtime.health.guice.HealthModule$InternalHealthModule)

  4. No implementation for com.netflix.nfsidecar.local.ICredential annotated with @com.google.inject.name.Named(value=localroleassumption) was bound.
    while locating com.netflix.nfsidecar.local.ICredential annotated with @com.google.inject.name.Named(value=localroleassumption)
    for the 2nd parameter of com.netflix.nfsidecar.local.LocalMembership.(LocalMembership.java:64)
    at com.netflix.florida.startup.FloridaModule.configure(FloridaModule.java:96) (via modules: com.google.inject.util.Modules$CombinedModule -> com.netflix.florida.startup.FloridaModule)

  5. A binding to com.netflix.dynomitemanager.config.FloridaConfig was already configured at com.netflix.florida.startup.FloridaModule.configure(FloridaModule.java:100) (via modules: com.google.inject.util.Modules$CombinedModule -> com.netflix.florida.startup.FloridaModule).
    at com.netflix.florida.startup.FloridaModule.getFloridaConfig(FloridaModule.java:131) (via modules: com.google.inject.util.Modules$CombinedModule -> com.netflix.florida.startup.FloridaModule)

5 errors
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470) ~[na:na]
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155) ~[na:na]
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) ~[na:na]
at com.google.inject.Guice.createInjector(Guice.java:99) ~[na:na]
at com.google.inject.Guice.createInjector(Guice.java:84) ~[na:na]
at com.netflix.governator.LifecycleInjectorCreator.createInjector(LifecycleInjectorCreator.java:100) ~[na:na]
at com.netflix.governator.LifecycleInjectorCreator.createInjector(LifecycleInjectorCreator.java:38) ~[na:na]
at com.netflix.governator.InjectorBuilder.createInjector(InjectorBuilder.java:209) ~[na:na]
at com.netflix.governator.InjectorBuilder.createInjector(InjectorBuilder.java:230) ~[na:na]
at com.netflix.florida.startup.Florida.createInjector(Florida.java:45) ~[na:na]
at com.netflix.governator.guice.servlet.GovernatorServletContainerInitializer$1.createInjector(GovernatorServletContainerInitializer.java:29) ~[na:na]
at com.netflix.governator.guice.servlet.GovernatorServletContextListener.getInjector(GovernatorServletContextListener.java:107) ~[na:na]
... 53 common frames omitted
15:52:59 INFO Jetty 9.2.22.v20170606 started and listening on port 8080
15:52:59 INFO runs at:
15:52:59 INFO http://localhost:8080/
Press any key to stop the server.
<============-> 94% EXECUTING
`
Thanks.

No implementation for com.netflix.dynomitemanager.sidecore.backup.Backup was bound.

@ipapapa

2016-07-19 20:47:44 INFO  AWSMembership:265 - Fetch current permissions for vpc env of running instance
2016-07-19 20:47:45 INFO  AWSMembership:154 - Done adding ACL to vpc: 52.41.84.223/32
2016-07-19 20:47:45 INFO  AWSMembership:216 - Done removing from ACL within vpc env for running instance: 52.35.3.90/32
Cannot bind com.netflix.dynomitemanager.resources.DynomiteAdmin
com.google.inject.ConfigurationException: Guice configuration errors:

1) No implementation for com.netflix.dynomitemanager.sidecore.backup.Backup was bound.
  while locating com.netflix.dynomitemanager.sidecore.backup.Backup
    for parameter 5 at com.netflix.dynomitemanager.sidecore.backup.SnapshotTask.<init>(SnapshotTask.java:75)
  while locating com.netflix.dynomitemanager.sidecore.backup.SnapshotTask
    for parameter 4 at com.netflix.dynomitemanager.resources.DynomiteAdmin.<init>(DynomiteAdmin.java:81)
  while locating com.netflix.dynomitemanager.resources.DynomiteAdmin

2) No implementation for com.netflix.dynomitemanager.sidecore.backup.Restore was bound.
  while locating com.netflix.dynomitemanager.sidecore.backup.Restore
    for parameter 7 at com.netflix.dynomitemanager.sidecore.backup.RestoreTask.<init>(RestoreTask.java:63)
  while locating com.netflix.dynomitemanager.sidecore.backup.RestoreTask
    for parameter 5 at com.netflix.dynomitemanager.resources.DynomiteAdmin.<init>(DynomiteAdmin.java:81)
  while locating com.netflix.dynomitemanager.resources.DynomiteAdmin

2 errors
    at com.google.inject.internal.InjectorImpl.getBinding(InjectorImpl.java:150)
    at com.google.inject.internal.InjectorImpl.getBinding(InjectorImpl.java:66)
    at com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.getComponentProvider(GuiceComponentProviderFactory.java:136)
    at com.sun.jersey.server.impl.component.IoCResourceFactory.getComponentProvider(IoCResourceFactory.java:76)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.getResourceComponentProvider(WebApplicationImpl.java:579)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiateResource(WebApplicationImpl.java:657)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiateResource(WebApplicationImpl.java:652)
    at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:124)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1331)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:168)
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:774)
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:770)
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:770)
    at com.sun.jersey.guice.spi.container.servlet.GuiceContainer.initiate(GuiceContainer.java:121)
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318)
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609)
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
    at javax.servlet.GenericServlet.init(GenericServlet.java:241)
    at com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:117)
    at com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82)
    at com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:102)
    at com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:172)
    at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1272)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:489)
    at org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext.doStart(JettyPluginWebAppContext.java:112)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:224)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.gradle.api.plugins.jetty.internal.Jetty6PluginServer.start(Jetty6PluginServer.java:111)
    at org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJettyInternal(AbstractJettyRunTask.java:238)
    at org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJetty(AbstractJettyRunTask.java:191)
    at org.gradle.api.plugins.jetty.AbstractJettyRunTask.start(AbstractJettyRunTask.java:162)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
    at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
    at org.gradle.internal.Factories$1.create(Factories.java:22)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
failed guiceFilter: com.google.inject.ConfigurationException: Guice configuration errors:

1) No implementation for com.netflix.dynomitemanager.sidecore.backup.Backup was bound.
  while locating com.netflix.dynomitemanager.sidecore.backup.Backup
    for parameter 5 at com.netflix.dynomitemanager.sidecore.backup.SnapshotTask.<init>(SnapshotTask.java:75)
  while locating com.netflix.dynomitemanager.sidecore.backup.SnapshotTask
    for parameter 4 at com.netflix.dynomitemanager.resources.DynomiteAdmin.<init>(DynomiteAdmin.java:81)
  while locating com.netflix.dynomitemanager.resources.DynomiteAdmin

2) No implementation for com.netflix.dynomitemanager.sidecore.backup.Restore was bound.
  while locating com.netflix.dynomitemanager.sidecore.backup.Restore
    for parameter 7 at com.netflix.dynomitemanager.sidecore.backup.RestoreTask.<init>(RestoreTask.java:63)
  while locating com.netflix.dynomitemanager.sidecore.backup.RestoreTask
    for parameter 5 at com.netflix.dynomitemanager.resources.DynomiteAdmin.<init>(DynomiteAdmin.java:81)
  while locating com.netflix.dynomitemanager.resources.DynomiteAdmin

2 errors
Failed startup of context org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext@db05f0e{/dynomitemanager-web,/home/ec2-user/dynomite-manager-1/dynomitemanager-web/src/main/webapp}
com.google.inject.ConfigurationException: Guice configuration errors:

1) No implementation for com.netflix.dynomitemanager.sidecore.backup.Backup was bound.
  while locating com.netflix.dynomitemanager.sidecore.backup.Backup
    for parameter 5 at com.netflix.dynomitemanager.sidecore.backup.SnapshotTask.<init>(SnapshotTask.java:75)
  while locating com.netflix.dynomitemanager.sidecore.backup.SnapshotTask
    for parameter 4 at com.netflix.dynomitemanager.resources.DynomiteAdmin.<init>(DynomiteAdmin.java:81)
  while locating com.netflix.dynomitemanager.resources.DynomiteAdmin

2) No implementation for com.netflix.dynomitemanager.sidecore.backup.Restore was bound.
  while locating com.netflix.dynomitemanager.sidecore.backup.Restore
    for parameter 7 at com.netflix.dynomitemanager.sidecore.backup.RestoreTask.<init>(RestoreTask.java:63)
  while locating com.netflix.dynomitemanager.sidecore.backup.RestoreTask
    for parameter 5 at com.netflix.dynomitemanager.resources.DynomiteAdmin.<init>(DynomiteAdmin.java:81)
  while locating com.netflix.dynomitemanager.resources.DynomiteAdmin

2 errors
    at com.google.inject.internal.InjectorImpl.getBinding(InjectorImpl.java:150)
    at com.google.inject.internal.InjectorImpl.getBinding(InjectorImpl.java:66)
    at com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.getComponentProvider(GuiceComponentProviderFactory.java:136)
    at com.sun.jersey.server.impl.component.IoCResourceFactory.getComponentProvider(IoCResourceFactory.java:76)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.getResourceComponentProvider(WebApplicationImpl.java:579)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiateResource(WebApplicationImpl.java:657)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiateResource(WebApplicationImpl.java:652)
    at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:124)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1331)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:168)
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:774)
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:770)
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:770)
    at com.sun.jersey.guice.spi.container.servlet.GuiceContainer.initiate(GuiceContainer.java:121)
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318)
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609)
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
    at javax.servlet.GenericServlet.init(GenericServlet.java:241)
    at com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:117)
    at com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82)
    at com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:102)
    at com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:172)
    at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1272)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:489)
    at org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext.doStart(JettyPluginWebAppContext.java:112)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:224)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.gradle.api.plugins.jetty.internal.Jetty6PluginServer.start(Jetty6PluginServer.java:111)
    at org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJettyInternal(AbstractJettyRunTask.java:238)
    at org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJetty(AbstractJettyRunTask.java:191)
    at org.gradle.api.plugins.jetty.AbstractJettyRunTask.start(AbstractJettyRunTask.java:162)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
    at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
    at org.gradle.internal.Factories$1.create(Factories.java:22)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
2016-07-19 20:47:59 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:47:59 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 11074
2016-07-19 20:48:14 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:48:14 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 11684
2016-07-19 20:48:29 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:48:29 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 9191
2016-07-19 20:48:44 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:48:44 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 9370
2016-07-19 20:48:59 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:48:59 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 7883
2016-07-19 20:49:14 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:49:14 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 10709
2016-07-19 20:49:29 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:49:29 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 12173
2016-07-19 20:49:44 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:49:44 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 15054
2016-07-19 20:49:59 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:49:59 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 8492
2016-07-19 20:50:14 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:50:14 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 19971
2016-07-19 20:50:29 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:50:29 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 7446
2016-07-19 20:50:44 INFO  ProcessMonitorTask:165 - Running checkProxyProcess command: ps -ef | grep  '[/]apps/dynomite/bin/dynomite'
2016-07-19 20:50:44 INFO  ProcessMonitorTask:102 - ProcessMonitor state: InstanceState{isSideCarProcessAlive=true, isBootstrapping=false, isBackingup=false, isRestoring=false, isStorageProxyAlive=true, isStorageProxyProcessAlive=false, isStorageAlive=true, isHealthy=true, isProcessMonitoringSuspended=false}, time elapsted to check (micros): 11538

Cheers,
Diego Pacheco

Amazon Dynamo for token management

This is a feature proposal to add an Amazon Dynamo DAO for token management.

We are actively working on this feature and will issue a PR when ready.

DM is not replacing a instance properly when an ASG kills a machine

@ipapapa

I create a Dynomite-Manager / Dynomite cluster using the following versions:
Redis: 3.0.7
Dynomite: 0.5.8-5
DM: v1.0.1 from tag in GitHub

I create a cluster in AWS us-west-2 with 3 ASG one ASG per AZ. Like this:
-node1 | us-west-2c
-node2 | us-west-2a
-node3 | us-west-2b

One instance only per AZ, being: MIM: 1, MAX: 1, DESIRED: 1.

It all works great I have a 3 node cluster all working fine. All 3 nodes use this token: 1383429731.

Now I go to AWS ec2 console and I TERMINATE node 3 for instance.

The ASG creates a new DM / Dynomite instance but which THE OLD and WRONG IP pointing to the old machine who just died.

DM LOG

2017-03-29 21:38:34 INFO  InstanceIdentity:175 - Single Account cluster                                                                                     
2017-03-29 21:38:49 INFO  InstanceIdentity:184 - Found dead instances: i-0923175c770e04f7b                                                                  
2017-03-29 21:38:49 INFO  InstanceIdentity:194 - Trying to grab slot 1383429731 with availability zone us-west-2a                                           
2017-03-29 21:38:49 WARN  DynomiteManagerConfiguration:591 - NETFLIX_APP is deprecated. Use DM_DYNOMITE_CLUSTER_NAME.                                       
2017-03-29 21:38:49 INFO  SystemUtils:54 - Calling URL API: http://169.254.169.254/latest/meta-data/placement/availability-zone returns: us-west-2a         
2017-03-29 21:38:49 INFO  InstanceDataDAOCassandra:119 - *** Creating New Instance Entry ***                                                                
2017-03-29 21:38:49 INFO  InstanceDataDAOCassandra:123 - Key already exists: 1pnotify-1p-d0perf-r0-v11-dm_1pnotify-1p-d0perf-r0-dm-us-west-2a-v11_1383429731
2017-03-29 21:38:49 WARN  DynomiteManagerConfiguration:591 - NETFLIX_APP is deprecated. Use DM_DYNOMITE_CLUSTER_NAME.                                       
2017-03-29 21:38:49 INFO  InstanceIdentity:132 - My token: 1383429731                                                                                       
2017-03-29 21:38:49 INFO  DynomiteManagerServer:106 - Initializing Dynomite Manager now ...                                                                 
2017-03-29 21:38:49 INFO  SystemUtils:54 - Calling URL API: http://169.254.169.254/latest/meta-data/placement/availability-zone returns: us-west-2a         
2017-03-29 21:38:49 WARN  DynomiteManagerConfiguration:591 - NETFLIX_APP is deprecated. Use DM_DYNOMITE_CLUSTER_NAME.                                       
2017-03-29 21:38:49 INFO  AWSMembership:339 - Fetch current permissions for vpc env of running instance                                                     
2017-03-29 21:38:49 WARN  DynomiteManagerConfiguration:591 - NETFLIX_APP is deprecated. Use DM_DYNOMITE_CLUSTER_NAME.                                       
2017-03-29 21:38:49 WARN  DynomiteManagerConfiguration:591 - NETFLIX_APP is deprecated. Use DM_DYNOMITE_CLUSTER_NAME.                                       
2017-03-29 21:38:49 INFO  DynomiteManagerServer:116 - Sleeping 159seconds -> a node is replaced or token is pregenerated.                                   
2017-03-29 21:41:28 WARN  DynomiteManagerConfiguration:591 - NETFLIX_APP is deprecated. Use DM_DYNOMITE_CLUSTER_NAME.                                       
2017-03-29 21:41:28 INFO  DynomiteManagerServer:131 - Running TuneTask and updating configuration.                                                          
2017-03-29 21:41:28 INFO  SystemUtils:54 - Calling URL API: http://169.254.169.254/latest/meta-data/placement/availability-zone returns: us-west-2a         
2017-03-29 21:41:28 WARN  DynomiteManagerConfiguration:591 - NETFLIX_APP is deprecated. Use DM_DYNOMITE_CLUSTER_NAME.                                       
2017-03-29 21:41:28 INFO  DynomiteStandardTuner:123 - YAML Dump:                                                                                            
2017-03-29 21:41:28 INFO  DynomiteStandardTuner:124 - dyn_o_mite:                                                                                           
  dyn_listen: 0.0.0.0:8101                                                                                                                                  
  data_store: 0                                                                                                                                             
  listen: 0.0.0.0:8102                                                                                                                                      
  dyn_seed_provider: florida_provider                                                                                                                       
  servers:                                                                                                                                                  
  - 127.0.0.1:22122:1                                                                                                                                       
  tokens: '1383429731'                                                                                                                                      
  auto_eject_hosts: true                                                                                                                                    
  rack: my-microservice-1p-d0perf-r0-dm-us-west-2a-v11                                                                                                             
  distribution: vnode                                                                                                                                       
  gos_interval: 10000                                                                                                                                       
  hash: murmur                                                                                                                                              
  preconnect: true                                                                                                                                          
  server_retry_timeout: 30000                                                                                                                               
  timeout: 5000                                                                                                                                             
  secure_server_option: datacenter                                                                                                                          
  datacenter: us-west-2                                                                                                                                     
  read_consistency: DC_ONE                                                                                                                                  
  write_consistency: DC_ONE                                                                                                                                 
  pem_key_file: /apps/dynomite/conf/dynomite.pem                                                                                                            
  dyn_seeds:                                                                                                                                                
  - node1:8101:my-microservice-1p-d0perf-r0-dm-us-west-2c-v11:us-west-2:1383429731                                     
  - node28101:my-microservice-1p-d0perf-r0-dm-us-west-2b-v11:us-west-2:1383429731                                     
  - node3:8101:my-microservice-1p-d0perf-r0-dm-us-west-2a-v11:us-west-2:1383429731  

Where:

  - node3:8101:my-microservice-1p-d0perf-r0-dm-us-west-2a-v11:us-west-2:1383429731  

Is wrong already and this should be pointing to the new IP but is not.

Cheers,
Diego Pacheco

Problems running Dynomite Manager

Good Afternoon,

We have been working on getting Dynomite-Manager running and have been running into many issues, initially it looked liked we needed to install TomCat, however after playing with it a bit, seems like its got its own servers JettyRun. Nevertheless we are stuck right now, whenever we try to start it stops at "Building 90%..." See Attached Errors below. Appreciate any help on this issue.

2016-08-02 14:20:43 ERROR InjectedWebListener:86 - IConfiguration: Guice provision errors:

  1. Error injecting constructor, java.lang.RuntimeException: java.net.SocketTimeoutException: connect timed out
    at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration.(DynomitemanagerConfiguration.java:233)
    at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration.class(DynomitemanagerConfiguration.java:45)
    while locating com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration
    while locating com.netflix.dynomitemanager.sidecore.IConfiguration

1 error
com.google.inject.ProvisionException: Guice provision errors:

  1. Error injecting constructor, java.lang.RuntimeException: java.net.SocketTimeoutException: connect timed out
    at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration.(DynomitemanagerConfiguration.java:233)
    at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration.class(DynomitemanagerConfiguration.java:45)
    while locating com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration
    while locating com.netflix.dynomitemanager.sidecore.IConfiguration

1 error
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
at com.netflix.dynomitemanager.defaultimpl.InjectedWebListener.getInjector(InjectedWebListener.java:82)
at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1272)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:489)
at org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext.doStart(JettyPluginWebAppContext.java:112)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.gradle.api.plugins.jetty.internal.Jetty6PluginServer.start(Jetty6PluginServer.java:111)
at org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJettyInternal(AbstractJettyRunTask.java:238)
at org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJetty(AbstractJettyRunTask.java:191)
at org.gradle.api.plugins.jetty.AbstractJettyRunTask.start(AbstractJettyRunTask.java:162)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:228)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:621)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:604)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:239)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:212)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:205)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
at org.gradle.launcher.Main.doAction(Main.java:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:55)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:36)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: java.lang.RuntimeException: java.net.SocketTimeoutException: connect timed out
at com.netflix.dynomitemanager.sidecore.utils.SystemUtils.getDataFromUrl(SystemUtils.java:68)
at com.netflix.dynomitemanager.sidecore.config.VpcInstanceDataRetriever.getRac(VpcInstanceDataRetriever.java:36)
at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration.(DynomitemanagerConfiguration.java:240)
at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration$$FastClassByGuice$$edb538e6.newInstance()
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54)
at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
... 102 more
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1105)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1513)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at com.netflix.dynomitemanager.sidecore.utils.SystemUtils.getDataFromUrl(SystemUtils.java:51)
... 118 more
Failed startup of context org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext@715f00d0{/dynomitemanager-web,/home/redis1/dynomite-manager/dynomitemanager-web/src/main/webapp}
java.lang.RuntimeException: Guice provision errors:

  1. Error injecting constructor, java.lang.RuntimeException: java.net.SocketTimeoutException: connect timed out
    at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration.(DynomitemanagerConfiguration.java:233)
    at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration.class(DynomitemanagerConfiguration.java:45)
    while locating com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration
    while locating com.netflix.dynomitemanager.sidecore.IConfiguration

1 error
at com.netflix.dynomitemanager.defaultimpl.InjectedWebListener.getInjector(InjectedWebListener.java:87)
at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1272)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:489)
at org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext.doStart(JettyPluginWebAppContext.java:112)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.gradle.api.plugins.jetty.internal.Jetty6PluginServer.start(Jetty6PluginServer.java:111)
at org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJettyInternal(AbstractJettyRunTask.java:238)
at org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJetty(AbstractJettyRunTask.java:191)
at org.gradle.api.plugins.jetty.AbstractJettyRunTask.start(AbstractJettyRunTask.java:162)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:228)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:621)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:604)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:239)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:212)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:205)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
at org.gradle.launcher.Main.doAction(Main.java:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:55)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:36)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: com.google.inject.ProvisionException: Guice provision errors:

  1. Error injecting constructor, java.lang.RuntimeException: java.net.SocketTimeoutException: connect timed out
    at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration.(DynomitemanagerConfiguration.java:233)
    at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration.class(DynomitemanagerConfiguration.java:45)
    while locating com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration
    while locating com.netflix.dynomitemanager.sidecore.IConfiguration

1 error
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
at com.netflix.dynomitemanager.defaultimpl.InjectedWebListener.getInjector(InjectedWebListener.java:82)
... 100 more
Caused by: java.lang.RuntimeException: java.net.SocketTimeoutException: connect timed out
at com.netflix.dynomitemanager.sidecore.utils.SystemUtils.getDataFromUrl(SystemUtils.java:68)
at com.netflix.dynomitemanager.sidecore.config.VpcInstanceDataRetriever.getRac(VpcInstanceDataRetriever.java:36)
at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration.(DynomitemanagerConfiguration.java:240)
at com.netflix.dynomitemanager.defaultimpl.DynomitemanagerConfiguration$$FastClassByGuice$$edb538e6.newInstance()
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54)
at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
... 102 more
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1105)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1513)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at com.netflix.dynomitemanager.sidecore.utils.SystemUtils.getDataFromUrl(SystemUtils.java:51)
... 118 more

Cold Bootstraping for ARDB RocksDB as a persistent backend?

Hi, I love the work you guys have done with Dynomite, Dyno and DM. Huge fan. :)

Does Cold Bootstrapping work inherently with RocksDB as a persistent backend or is it designed only around Redis?
If yes, is there a reference implementation?
If no, what can be done to achieve this?
Cold bootstrapping is an essential feature to have towards a fully scalable distributed persistent DB.

Also, I wanted to understand what drove the design decisions towards not implementing an auto-scaling consistent hash ring (and instead using a dual-write approach to achieve horizontal scalability). Was it related to the requirements at Netflix or lack of support from OSS or pluggable backends lacking full support or something else?

asg scale out is not working

@ipapapa

I create a Dynomite-Manager / Dynomite cluster using the following versions:
Redis: 3.0.7
Dynomite: 0.5.8-5
DM: v1.0.1 from tag in GitHub

I create a cluster in AWS us-west-2 with 3 ASG one ASG per AZ. Like this:
-node1 | us-west-2c
-node2 | us-west-2a
-node3 | us-west-2b

One instance only per AZ, being: MIM: 1, MAX: 1, DESIRED: 1.

It all works great I have a 3 node cluster all working fine. All 3 nodes use this token: 1383429731.

However, I want to SCALE OUT this cluster so I go to EACH ASG and increase 1 instance being:

being: MIM: 1, MAX: 2, DESIRED: 2.

After some time I got this topology:

token: 1383429731
-node1 | us-west-2b
-node2 | us-west-2c
-node3 | us-west-2a
token: 3530913378
-node4 | us-west-2a
-node5 | us-west-2b

So looks like the DM did not generate the right SLOTS for the new nodes and the cluster is not correct anymore.

In this case 1 node did not get into the clusters, sometimes is 2 nodes. Its random. I'm I doing something wrong?

Cheers,
Diego Pacheco

reformat of source

Is someone interested in doing a quick reformat of all of the source? There are inconsistencies in the formatting...For example, please look at InstanceDataDAOCassandra.java

I can quickly do this as my editor updates everything to a standard automatically.

stop() should be start start(), cleanup of return values, add retry

@ipapapa Please look at FloridaProcessManager.java#L209

line 209, should be this.dynProcess.start();.

Also, the behavior of the callers of dynomiteCheck() is not what I would expect.

See WarmBootstrapTask.java#L116

If dynomiteCheck() passes the heath check (i.e. dynomite is running), it then proceeds to try to start it again.

Proposed changes

I have created a new branch with some proposed changes. I will test my code in the morning and then submit a PR.

You can view my proposed changes at dev...DynomiteDB:bugfix30

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.