leleueri / argos Goto Github PK
View Code? Open in Web Editor NEWCassandra Administration Tools
License: Apache License 2.0
Cassandra Administration Tools
License: Apache License 2.0
Currently, all ThreadPool sentinels check if there are some BlockingTasks.
We should also provide a way to notify if there are too many pending tasks.
Create a REST Endpoint to the orchestrator
Each agent should check if enough replicas are available to ensure the configured consistency level.
Scala : 2.11.7 to 2.12.1
Akka: 2.4.7 to 2.4.16
ScalaTest : 2.2.6 to 3.0.1
Create an agent orchestrator.
The orchestrator will receive some information from each agent (like the LoadAvg of a node...) and it will be able to send information/Request to each agent (ex : request a snapshot)
With VNodes, nodetool describering return more than one TokenRange each one with the list of replicas.
This list of replicas may contain the same Endpoints so if a consistency issue is detected several Notifications are pushed for a single set of nodes.
We have to send only one notification per set of endpoints
Notifier should be able to send notification only if the 'Level' is relevant.
After a first Dropped Message alert, other notifications are sent because, we test the last minute rate.
This is a float and even after 40 minutes, this value will be greater than 0...
With Cassandra 2.1
[ERROR] [10/16/2016 04:02:45.720] [Argos-akka.actor.default-dispatcher-2479] [akka://Argos/user/SentinelOrchestrator/notification-jmx] [I cannot be cast to java.util.HashMap
java.lang.ClassCastException: [I cannot be cast to java.util.HashMap
at io.argos.agent.sentinels.InternalNotificationsSentinel$$anonfun$processProtocolElement$1.applyOrElse(InternalNotificationsSentinel.scala:28)
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36)
at io.argos.agent.sentinels.Sentinel$$anonfun$receive$1.applyOrElse(Sentinel.scala:33)
at akka.actor.Actor$class.aroundReceive(Actor.scala:484)
at io.argos.agent.sentinels.Sentinel.aroundReceive(Sentinel.scala:22)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
at akka.actor.ActorCell.invoke(ActorCell.scala:495)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
at akka.dispatch.Mailbox.run(Mailbox.scala:224)
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Create a sentinel that checks the GCInspector state.
If the GC duration is too long, send a notification.
An agent executes a snapshot requested by the orchestrator.
the custom-sentinel entry shold be optional into the application.conf
Argos is not very clean, change it!
Define default configuration values for "predefined" sentinels.
Cassandra 2.1 return an array of 6 elements instead of 7 in Cassandra 2.2 and more.
The cassandra version should be specified into the configuration file to adapt the JMX request and avoid the manual switch off of the Sentinels.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.