Gossip update, from Asias:
"With this series, gossip now can:
1) Detect if remote node is down, if so deletes that node.
2) Update heat beat version number properly.
3) application_state::Load info is updated periodically and
gossiped around correctly."
Drop rx packets when low on memory, from Vlad:
"This series consists of patches that complete the "Rx buffer decoupling"
patches. Currently if allocation fails in the copy-flow case we will
construct the "packet" object from the rte_mbuf thus decreasing the number
of available buffers in the Rx ring's mempool.
We prefer to drop the packet in that case in order to decrease the latency
of recovery from "low on memory" state.
The received packet handling (completion) delay is not limited by anything
and all this time, if Rx ring's mempool is low on buffers the packets will
be dropped by HW. If we drop in the L2 SW layer, on the other hand, we will
continue to drop as long as we are actually low on memory and we will
immediately resume receiving new data once we recover from that state.
This series also adds a new queue statistics counter that will report the
number of packets dropped as a result of memory allocation failure.
In addition, the last patch changes the DPDK-specific QP counters collectd
instances type to DERIVE as they should be."
Ensure the "detaching" of rte_mbuf from the received data in the copy path.
This patch completes the above in case the allocation of the buffer to
copy the newly arrived data to has failed.
In the above case we prefer to drop the arrived packet instead of consuming
the rte_mbuf from the Rx ring's mempool.
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
When serving a request with multiple query parameters the last parameter
was parsed incorectly.
This fix the issue and add a test to verify it
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
To prepare a user-defined type, we need to look up its name in the keyspace.
While we get the keyspace name as an argument to prepare(), it is useless
without the database instance.
Fix the problem by passing a database reference along with the keyspace.
This precolates through the class structure, so most cql3 raw types end up
receiving this treatment.
Origin gets along without it by using a singleton. We can't do this due
to sharding (we could use a thread-local instance, but that's ugly too).
Hopefully the transition to a visitor will clean this up.