gossiper | Gossip protocol written in Rust | Blockchain library

 by   thehydroimpulse Rust Version: Current License: MIT

kandi X-RAY | gossiper Summary

kandi X-RAY | gossiper Summary

gossiper is a Rust library typically used in Blockchain applications. gossiper has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

Note: This is a work-in-progress. It's not yet usable at all!. Gossip protocol written in Rust.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              gossiper has a low active ecosystem.
              It has 52 star(s) with 5 fork(s). There are 4 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 7 open issues and 29 have been closed. On average issues are closed in 28 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of gossiper is current.

            kandi-Quality Quality

              gossiper has no bugs reported.

            kandi-Security Security

              gossiper has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              gossiper is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              gossiper releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of gossiper
            Get all kandi verified functions for this library.

            gossiper Key Features

            No Key Features are available at this moment for gossiper.

            gossiper Examples and Code Snippets

            No Code Snippets are available at this moment for gossiper.

            Community Discussions

            QUESTION

            Cassandra add node problem, failed; error='Cannot allocate memory' (errno=12)
            Asked 2020-Nov-23 at 15:46

            I have a cluster of cassandra (v3.11.4) with 14 nodes and I wanna to add a new node. The machine has 256GB memory and I set heap size (max and min) to 64GB . But I cannot add a new node due to memory error! What is the exact problem and What I need to do?

            The last line of logs are as follows:

            ...

            ANSWER

            Answered 2020-Jun-14 at 13:49

            The error message says that the JVM failed to commit memory, because mmap syscall returned with the error code 12 (ENOMEM).

            This typically happens when the process reaches one of the OS memory limits:

            • The number of memory mappings exceeded vm.max_map_count sysctl limit. This is a quite common problem with Cassandra, since Cassandra tends to mmap thousands files, and the default limit is rather low - around 65K.

              How to check: wc -l /proc//maps where is Java process ID.

              How to fix: sudo sysctl vm.max_map_count=1000000

            • Total amount of the process' virtual memory exceeded RLIMIT_AS

              How to check: ulimit -v, cat /proc//status | grep Vm

              How to fix: ulimit -v unlimited before starting Cassandra in the same shell.

            • Overcommit is disabled, and the overcommit ratio is too low.

              How to check: sysctl vm.overcommit_memory, sysctl vm.overcommit_ratio, cat /proc/meminfo

              How to fix: sudo sysctl vm.overcommit_memory=0

            Source https://stackoverflow.com/questions/62356714

            QUESTION

            Cassandra node running, but cant connect?
            Asked 2020-Sep-11 at 01:55

            using Cassandra version 3.11.8, openjdk-8u242-b08

            Prior to this crashing, I was altering a table with 50k+ columns so this might (is) a factor to all of this. I would Ideally rather lose the data in the commit (if its inserting a backlog still perpetually) so I can connect to the hosts so service can be resumed.

            Before start of error, I started alter table commands inserting many columns into the table in calls of 1000 at a time. Eventually after it may have done about half of them i received this error for all the nodes.

            2020-09-10 15:34:29 WARNING [control connection] Error connecting to 127.0.0.3:9042: Traceback (most recent call last): File "cassandra\cluster.py", line 3522, in cassandra.cluster.ControlConnection._reconnect_internal File "cassandra\cluster.py", line 3591, in cassandra.cluster.ControlConnection._try_connect File "cassandra\cluster.py", line 3588, in cassandra.cluster.ControlConnection._try_connect File "cassandra\cluster.py", line 3690, in cassandra.cluster.ControlConnection._refresh_schema File "cassandra\metadata.py", line 142, in cassandra.metadata.Metadata.refresh File "cassandra\metadata.py", line 165, in cassandra.metadata.Metadata._rebuild_all File "cassandra\metadata.py", line 2522, in get_all_keyspaces File "cassandra\metadata.py", line 2031, in get_all_keyspaces File "cassandra\metadata.py", line 2719, in cassandra.metadata.SchemaParserV3._query_all File "cassandra\connection.py", line 985, in cassandra.connection.Connection.wait_for_responses File "cassandra\connection.py", line 983, in cassandra.connection.Connection.wait_for_responses File "cassandra\connection.py", line 1435, in cassandra.connection.ResponseWaiter.deliver cassandra.OperationTimedOut: errors=None, last_host=None

            I am running 8 nodes on a server. I have reset all nodes and handshakes are done. But I cannot make a connect to my cluster on any of the nodes.My system.log and debug.log have similar logs throughout once cassandra starts running. gc.log has not updated in some time so it makes me wonder what is going on? Interesting point is i only retrieve the list of columns in the table 3 times total, I have ran this code on my desktop without issues using 2 nodes (much much less resources) and have not received any of these issues.

            Edit: just for clarity my application/connections are not running and these logs below are what is happening periodically..I tried looking at scheduled tasks and cannot find information about cassandra for this. I wonder what backlog its reading from and if I can stop it. Ideally I would like to stop this backload of operations from happening...

            ...

            ANSWER

            Answered 2020-Sep-11 at 01:55

            The timeout is from the driver trying to parse the schema while establishing the control connection.

            The driver uses the control connection for admin tasks such as discovering the cluster's topology and schema during the initialisation phase. I've discussed it in a bit more detail in this post -- https://community.datastax.com/questions/7702/.

            In your case, the driver initialisation times out while parsing the thousands of columns in the table you mentioned. I have to admit that this is new to me. I've never worked with a cluster that had thousands of columns so I'm curious to know what your use case is and perhaps there might be a better data model for it.

            As a workaround, you can try to bump out the default timeout to see if the driver is able to eventually initialise. However, this is going to be a band-aid solution since the driver needs to parse the schema every time a DDL takes place. Cheers!

            Source https://stackoverflow.com/questions/63839559

            QUESTION

            Cassandra new node unable to join the cluster
            Asked 2020-Aug-05 at 05:17

            Actually I'm adding new Elassandra node but the issue obviously involved to the Cassandra configurations.

            Previously, I have two nodes in the cluster. There're perfectly connect with each other. Using nodetool status also returns both nodes information.

            Then I added the new node to the cluster by followed this article https://docs.datastax.com/en/archived/cassandra/2.0/cassandra/operations/ops_add_node_to_cluster_t.html

            the parameters I've set in the new node,

            ...

            ANSWER

            Answered 2020-Aug-05 at 05:17

            I've seen this quite a bit and it's usually environmental rather than a Cassandra issue.

            Check that there's bi-directional traffic between nodes on the listen_address IPs and that they can contact each other on gossip port 7000.

            You mostly want to eliminate software/hardware firewalls blocking the traffic. Otherwise, ensure that network connectivity exists.

            I've discussed this in detail in this post if it helps you -- https://community.datastax.com/questions/7413/. Cheers!

            Source https://stackoverflow.com/questions/63258188

            QUESTION

            Not marking nodes down due to local pause of 8478595263 > 5000000000
            Asked 2020-Jan-17 at 05:10

            i have 3 node cassandra cluster in kubernetes. Deployed cassandra using bitnami/cassandra helm chart.

            getting error based on more number of request after sometime later

            ...

            ANSWER

            Answered 2020-Jan-10 at 06:39

            Based on the log entries you posted above, the nodes are overloaded making them unresponsive. Mutations get dropped because the commitlog disks cannot keep up with the writes.

            You will need to review the size of your cluster as you might need to add more nodes to increase capacity. Cheers!

            Source https://stackoverflow.com/questions/59666812

            QUESTION

            Nodetool Rebuild :- Stream Failing afer sometime
            Asked 2019-Oct-24 at 08:07

            I have added a new node to my existing single node cassandra cluster. It has around 48gb of data. There is only one keyspace responsible for that and it has a replication factor of '2'(I changed it after adding the new node). I am trying to run nodetool rebuild on the new node so data can be streamed to it from the seed node. The stream ended after transferring 36gb of data and the node went down. So I repeated the process but the stream keeps on failing after transferring some data (12-25 gb). It ends with the following error.

            ...

            ANSWER

            Answered 2019-Oct-24 at 08:07
            org.apache.cassandra.io.FSReadError: java.io.IOException: Broken pipe
            

            Source https://stackoverflow.com/questions/58520100

            QUESTION

            Cassandra: - Newly added node not visible in nodetool status
            Asked 2019-Oct-22 at 20:01

            I have a single node Cassandra cluster and I added a new node to that cluster. I made sure that the cluster name is same as well as the rack-dc properties are same. I also made sure that the nodes can communicate through all necessary ports. I can cqlsh from both nodes to each other as well as telnet all required ports 7000,7199,9042

            cassandra.yaml for new node

            ...

            ANSWER

            Answered 2019-Oct-21 at 15:22

            There are three main things required for getting a new node to join/gossip with an existing node:

            1. cluster_name - The cluster names of the two nodes must match exactly (case-sensitive).
            2. seeds - The new node must use the existing node as a seed node. If you're working in a cloud environment, the "external" (aka "floating") IP addresses must be used.
            3. node-to-node SSL (if used) - The nodes must have matching truststores to connect.

            One thing is on my old_node the cassandra is using localhost (127.0.0.1) as shown in nodetool status.

            2a. Neither of the nodes can use the home IP of 127.0.0.1.

            Source https://stackoverflow.com/questions/58486650

            QUESTION

            Cassandra replicas on single docker-swarm node
            Asked 2019-Jul-05 at 12:49

            I've a single docker-swarm manager node (18.09.6) running and I'm playing with spinning up a cassandra cluster. I'm using the following definition and it works in that the seed/master and slave spin up and communicate/replicate their data/schema changes fine:

            ...

            ANSWER

            Answered 2019-Jul-05 at 12:49

            I've not gotten to the bottom of why the gossiping fails but ultimately we agreed a production deployment strategy where we'd not require auto-scaling and should instead be making capacity planning based on the system's behaviour and expected traffic. This answer also points out to the additional strain that auto-scaling can add to an already stretched system: AWS and auto scaling cassandra

            Source https://stackoverflow.com/questions/56851148

            QUESTION

            How to avoid query taking long time when adding new node to cluster
            Asked 2019-Jun-20 at 09:11

            I found query (just a simple select query) takes long time when adding a new node to cluster.

            My execution time log :

            ...

            ANSWER

            Answered 2019-May-31 at 13:25

            That is a behaviour that you can find with too high consistency, or not having enough copies of data (replication factor). When a new node is added to the cluster, a rearrangement of the ownership of tokens occur, once that it is determined what data will the new node be the owner, it will start streaming that data, which may saturate the network.

            In your question you don't mention the network setting or if you are using cloud instances, which have a direct impact for these constraints, for example, an AWS m3.large instance will be more restricted in network capabilities than an i3.4xlarge.

            Other variable to consider is disk configuration, if you are using your own hardware look for the cap in IO of your drives settings; if you are on the cloud, using the instance storage, when available, will have a better performance than external volumes ( as AWS EBS; if this is the case, ensure that you are enabling the " EBS optimized" option if your instance allows it)

            Usually a RF of 3 with consistency level of Quorum should also help you to prevent the issue.

            Source https://stackoverflow.com/questions/56393348

            QUESTION

            Cassandra multinode cluster setup issue (for example 3 nodes)
            Asked 2018-Dec-31 at 03:32

            I am keep getting below error when I tried to run single node or multinode Cassandra cluster.

            Single node cluster with default config works fine, however nodetool staus shows 127.0.0.1 as IP Address.

            After changing listen_address: 192.168.1.143 (this is my ip address) on cassandra.yaml file I am getting below error.

            ...

            ANSWER

            Answered 2018-Dec-30 at 07:13

            Well, after trying different approaches finally I was able to resolve it and able to run single and 3 node cluster.

            Below are the configuration changes you need to make on cassandra.yaml file

            Source https://stackoverflow.com/questions/53975821

            QUESTION

            Upgrading Cassandra from 3.0.14 to 3.11.2
            Asked 2018-Mar-12 at 12:42

            I had 4 nodes on 3.0.14 and I had to upgrade 2 of them to 3.11.2 and decommission the other 2. First I decommissioned the 2 nodes, one-by-one. After that I stopped cassandra 3.0.14 on the other 2 nodes and installed the 3.11.2 version alternately. However, in the system logs of both the nodes, I see the following:

            INFO [GossipStage:1] 2018-03-12 16:28:50,621 Gossiper.java:1193 - There is at least one 3.0 node in the cluster - will store and announce compatible schema version

            I don't understand why it's saying that still there is one 3.0 node when the only 2 nodes that I have in my cluster are now running 3.11.2.

            I also used the following command on both the nodes to check the version

            nodetool version

            the command returned "ReleaseVersion: 3.11.2" in both the cases.

            PS: I've added cassandra-3.0 as a tag for this questions as I couldn't find cassandra-3.1.

            ...

            ANSWER

            Answered 2018-Mar-12 at 12:42

            It's just an INFO message, it doesn't mean anything is wrong. All Cassandra nodes keep information about each other, such as token ranges, IP, version, etc. Since you stopped both Cassandra nodes at the same time that means they both think the other node is still on Cassandra 3.0 until they learn otherwise.

            So what happens is that when you start a node with 3.11 it will first update this information about itself. It will notice that itself has been updated to 3.11 but there are other nodes with 3.0 in the cluster. Now it will send this information on to all other nodes notifying them that itself has been updated to 3.11.

            Source https://stackoverflow.com/questions/49234625

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install gossiper

            After adding Gossip as a dependency, you'll want to include the crate within your project:. Now you'll have access to the Gossip system. We'll simply start with a brief example of creating a single server that listens on a given address. By default, this actually doesn't include any transport mechanism, so it's purely in-memory. A TCP transport is shipped with Gossip which we'll get to later on.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/thehydroimpulse/gossiper.git

          • CLI

            gh repo clone thehydroimpulse/gossiper

          • sshUrl

            git@github.com:thehydroimpulse/gossiper.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Blockchain Libraries

            bitcoin

            by bitcoin

            go-ethereum

            by ethereum

            lerna

            by lerna

            openzeppelin-contracts

            by OpenZeppelin

            bitcoinbook

            by bitcoinbook

            Try Top Libraries by thehydroimpulse

            nanomsg.rs

            by thehydroimpulseRust

            postgres-extension.rs

            by thehydroimpulseRust

            moon

            by thehydroimpulseRust

            thrust

            by thehydroimpulseRust

            rust-llvm-example

            by thehydroimpulseRust