Commit Graph

2952 Commits

Author SHA1 Message Date
Avi Kivity
a93f7e5525 Merge branch 'asias/gossip_v2' of github.com:cloudius-systems/seastar-dev into db
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."
2015-04-23 19:19:19 +03:00
Avi Kivity
da8782b9e5 Merge branch 'tgrabiec/code-moves' of github.com:cloudius-systems/seastar-dev into db
Cleanups in preparation for memtables, from Tomasz.
2015-04-23 18:44:40 +03:00
Pekka Enberg
d23b7796f8 dht/i_partitioner.hh: Make decorated key operators visible
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-04-23 10:34:34 +02:00
Asias He
9377cdcc45 tests: Add exception tests to tests/urchin/message.cc 2015-04-23 14:55:27 +08:00
Asias He
346d00cc8c tests: Add listen-address option to tests/urchin/message.cc 2015-04-23 14:55:27 +08:00
Asias He
5bb42de010 tests: Update load info over the time in tests/urchin/gossip.cc 2015-04-23 14:55:26 +08:00
Asias He
3d36debcf8 message: Do not call remove_rpc_client() under exception
We can not remove the rpc client while the client might still "active".
2015-04-23 14:55:26 +08:00
Asias He
bf3d6a4c06 gossip: Disable sleep and retry logic in do_status_check
We do not have the ThreadPoolExecutor logic. Disable the sleep and retry
logic.
2015-04-23 14:55:26 +08:00
Asias He
0060eac413 gossip: Set last processed time when receiving gossip message 2015-04-23 14:55:26 +08:00
Asias He
622ec0111d gossip: Fix apply_new_states
We should take a reference, otherwise remote's endpoint_state will not
be updated locally.
2015-04-23 14:55:26 +08:00
Asias He
5f0050dc97 gossip: Fix add_application_state
If the key exists, we should update the new value.
2015-04-23 14:55:26 +08:00
Asias He
7b75df6bd4 gossip: Update heart beat 2015-04-23 14:55:26 +08:00
Asias He
f2e840de54 gossip: Switch from fail to warn
Warn is enough for now.
2015-04-23 14:55:26 +08:00
Asias He
a800fbfe64 gossip: Set get_phi_convict_threshold to 8
It is the default value.
2015-04-23 14:55:26 +08:00
Asias He
5a54ae3214 gossip: Fix string serializer in messaging_service 2015-04-23 14:55:26 +08:00
Asias He
ea08c7e000 utils: Fix bounded_stats_deque::add 2015-04-23 14:55:26 +08:00
Tomasz Grabiec
22e379e786 keys: Move operator<< functions to .cc file 2015-04-22 19:01:16 +02:00
Tomasz Grabiec
0d4821009c db: Move mutation and mutation_partition to separate headers and compilation units 2015-04-22 18:42:33 +02:00
Tomasz Grabiec
a5c201a685 db: Move column_family::get_partition_slice() to mutation_partition::query()
There's nothing column_family-specific there.
2015-04-22 17:40:02 +02:00
Tomasz Grabiec
de5bea90fe db: Add const qualifiers to mutation_partition methods 2015-04-22 17:37:40 +02:00
Tomasz Grabiec
631dad8a29 schema: Add const qualifiers to lookup methods 2015-04-22 17:36:27 +02:00
Avi Kivity
74edad888f Merge branch 'master' of github.com:cloudius-systems/seastar into db 2015-04-22 10:12:16 +03:00
Avi Kivity
5d658cf16a Merge branch 'drop_on_alloc_failure-v2' of github.com:cloudius-systems/seastar-dev
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."
2015-04-22 10:05:58 +03:00
Glauber Costa
b8737a6b55 add more fields to system schema
double_type now exists.

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
2015-04-22 08:59:11 +02:00
Vlad Zolotarov
78cf7a2c06 DPDK: qp_stats: change rx errors instance to if_rx_errors
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-21 18:49:25 +03:00
Vlad Zolotarov
3aa3dd77a3 DPDK: update an qp_stats.rx.bad.no_mem counter
Update it and register it for collectd reporting

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-21 18:49:25 +03:00
Vlad Zolotarov
35199f5353 net: Add a qp_stats.rx.bad.no_mem counter
Add a new statistics counter for packets dropped due to allocation failure.

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-21 18:49:25 +03:00
Vlad Zolotarov
e9a59e5f8d DPDK: drop incoming packets if allocation fails in the copy-flow
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>
2015-04-21 18:39:24 +03:00
Gleb Natapov
57ac231cd2 convert some snitch related classes 2015-04-21 18:24:35 +03:00
Avi Kivity
dabe70c9a2 cql3: remove Java remnants from maps.hh
The code was converted to C++ but the old Java remained.
2015-04-21 10:57:35 +03:00
Avi Kivity
7eb6b5ca5b Merge branch 'master' of github.com:cloudius-systems/urchin into db 2015-04-21 10:48:32 +03:00
Avi Kivity
7f78618a64 cql3: remove gunk from constants.hh 2015-04-21 10:41:20 +03:00
Amnon Heiman
8a0538a218 http: fix query parameter parsing of last parameter
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>
2015-04-21 10:29:14 +03:00
Tomasz Grabiec
c88e17c9e1 bytes_ostream: fix alloc-dealloc mismatch
Caught by ASAN, reported by Pekka.
2015-04-20 20:03:38 +03:00
Asias He
5194517473 tcp: Use std::system_error
Make it consistent with native stack.
2015-04-20 18:05:37 +03:00
Tomasz Grabiec
7563a76f4e Merge tag 'avi/user_type/v2' from seastar-dev.git 2015-04-20 16:00:21 +02:00
Avi Kivity
08932571c1 tests: add user type literal test 2015-04-20 16:15:35 +03:00
Avi Kivity
b4e380b922 cql3: enable user_type literal grammar 2015-04-20 16:15:35 +03:00
Avi Kivity
c01515d291 cql3: convert user_types.hh to C++ 2015-04-20 16:15:35 +03:00
Avi Kivity
55ec6bb923 tests: add user type test 2015-04-20 16:15:35 +03:00
Avi Kivity
3920ab18b2 cql3: enable user type grammar for field selection 2015-04-20 16:15:35 +03:00
Avi Kivity
f841a05475 cql3: convert selectable::with_field_selection to C++
Due to circular dependencies (selectable::with_field_selection ->
  column_identifier -> selectable) a new header file was created.
2015-04-20 16:15:34 +03:00
Avi Kivity
fa961f1e5e cql3: convert field_selector to C++ 2015-04-20 16:15:34 +03:00
Avi Kivity
3179f05e12 db: implement user types (user_type_impl)
Like a C struct.  Following origin, implemented as a tuple with an additional
vector of field names.

cql3_type integration deferred to the next patch.
2015-04-20 16:15:34 +03:00
Avi Kivity
3d38708434 cql3: pass a database& instance to most foo::raw::prepare() variants
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.
2015-04-20 16:15:34 +03:00
Asias He
1fb970459c tests: Move tests/message.cc under tests/urchin 2015-04-20 15:30:07 +03:00
Avi Kivity
5d9ab992e8 Merge branch 'tgrabiec/schema-id-fixes-v2' of github.com:cloudius-systems/seastar-dev into db
Fixes related to column_family ID handling, from Tomasz.
2015-04-20 14:33:07 +03:00
Tomasz Grabiec
ef05c5b919 db: Lookup column family by UUID
It's a bit faster.
2015-04-20 12:12:55 +02:00
Tomasz Grabiec
ecab40bf97 commitlog: Write proper column family id 2015-04-20 12:12:55 +02:00
Tomasz Grabiec
4502f01581 thrift: Fix system_add_keyspace()
We should use the same UUID on each core for given column_family,
otherwise they will get different ids on each core.
2015-04-20 12:12:54 +02:00