Commit Graph

4249 Commits

Author SHA1 Message Date
Asias He
6a92924a75 streaming: Add stream_session::on_error 2015-06-26 14:49:24 +08:00
Asias He
1134b99610 streaming: Add stream_session::on_initialization_complete 2015-06-26 14:39:22 +08:00
Asias He
8aa6c8f3a9 streaming: Wire up two more close_session calls 2015-06-26 14:25:52 +08:00
Asias He
f7542e7cf0 streaming: Implement stream_session::add_transfer_files 2015-06-26 14:24:10 +08:00
Asias He
66a9f92df9 streaming: Move stream_coordinator code to source file 2015-06-26 10:07:57 +08:00
Asias He
78f5aaf265 streaming: Add stream_coordinator::get_peers 2015-06-26 09:45:32 +08:00
Asias He
774f677097 streaming: Add stream_coordinator::is_receiving 2015-06-26 09:43:01 +08:00
Asias He
c1d6b73838 streaming: Add stream_coordinator::get_all_stream_sessions 2015-06-26 09:41:22 +08:00
Asias He
9cbed3e4e1 streaming: Make stream_session::_handlers static
It is used to register the streaming message handler once. We don't need
it in every stream_session instance. The side effect is making
stream_session copyable, which is needed in get_all_stream_sessions.
2015-06-26 09:41:11 +08:00
Asias He
ec8a0e2566 streaming: Add add_session_info and get_all_session_info 2015-06-26 09:21:21 +08:00
Asias He
a16623dae2 streaming: Add stream_coordinator::update_progress 2015-06-26 08:51:57 +08:00
Asias He
fa1f4707af streaming: Implement get_or_create_session_by_id 2015-06-26 08:31:28 +08:00
Asias He
794c65e58c streaming: Complete transfer_ranges and request_ranges in stream_plan 2015-06-26 08:31:28 +08:00
Asias He
a4235ebc13 streaming: Implement transfer_files 2015-06-26 08:31:28 +08:00
Asias He
89c3cab526 streaming: Add stream_session::close_session 2015-06-26 08:31:28 +08:00
Asias He
1a34df6188 streaming: Add stream_session::task_completed 2015-06-26 08:31:28 +08:00
Asias He
af836e4670 streaming: Add stream_session::get_session_info 2015-06-26 08:31:28 +08:00
Asias He
f2dc73b34d streaming: Add stream_session::session_failed 2015-06-26 08:31:28 +08:00
Asias He
50de45dff7 streaming: Add stream_session::complete 2015-06-26 08:31:28 +08:00
Asias He
e8d9e7f3c5 streaming: Add stream_session::retry 2015-06-26 08:31:28 +08:00
Asias He
c5729ab0c3 streaming: Add stream_session::received 2015-06-26 08:31:28 +08:00
Asias He
2097cac719 streaming: Add stream_session::progress 2015-06-26 08:31:28 +08:00
Asias He
f113b9a199 streaming: Add stream_session::receive 2015-06-26 08:31:28 +08:00
Asias He
706ca47574 streaming: Add stream_session::prepare 2015-06-26 08:31:28 +08:00
Asias He
75f188276d streaming: Add stream_session::add_stream_request 2015-06-26 08:31:28 +08:00
Glauber Costa
a0b5c5d13e do not move altered inside capture
If we move altered inside this lambda, the next invocations of the outter
lambda will see a corrupted value. So in the case of smp, invoke_on_all will
invoke correctly in the first shard, but then see a bogus altered vector on
the subsequent ones.

Capturing a reference is fine, because the outer lambda will not be destroyed
until the inner one completes - so the object will live in the capture list.

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
2015-06-25 22:00:18 +02:00
Avi Kivity
90412a2b26 Merge "Compression parameter fixes" from Paweł 2015-06-25 18:48:30 +03:00
Paweł Dziepak
89ede1fc00 schema: rename [set, get]_compressor to [set, get]_compressor_params
Compressor type is only a part of the information kept in compressor
parameters and things like schema.get_compressor().get_compressor()
do not look very good.

Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
2015-06-25 17:05:53 +02:00
Raphael S. Carvalho
92054f8391 sstables: fix typo in compaction code
s/estimated_parititions/estimated_partitions

Signed-off-by: Raphael S. Carvalho <raphaelsc@cloudius-systems.com>
2015-06-25 17:45:06 +03:00
Paweł Dziepak
4899100877 compress: use '= default' for default constructor
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
2015-06-25 16:32:58 +02:00
Paweł Dziepak
28242489c3 compress: fix include quotes
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
2015-06-25 16:32:30 +02:00
Tomasz Grabiec
cb43e23cf4 Merge branch 'glommer/bootstrap-v3' from git@github.com:glommer/urchin.git
Bootstraping of system tables from Glauber.
2015-06-25 16:20:13 +02:00
Tomasz Grabiec
6be8d30862 Merge tag 'avi/token-wraparound/v1' from seastar-dev.git
Fixes for token workaround from Avi:

"Tokens wrap around in a ring; if we have a range (t1, t2) where t1 > t2
the midpoint is not between them."
2015-06-25 16:01:20 +02:00
Glauber Costa
e19f7e93a4 database: column families loading
Same as for keyspaces, and we will reuse most of the code. CFs that are
found on disk upon bootstrap are now recreated in memory.

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
2015-06-25 09:50:55 -04:00
Glauber Costa
b3a4eb83d3 database: keyspaces loading
This patch bootstraps the keyspaces found in system sstables and make
our in-memory structures reflect them. It tries to reuse as much code
as we can from db::legacy_system_tables, but keeping everything local
and without applying any mutations to the database - since the latter
would only unnecessarily complicate the write path.

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
2015-06-25 09:50:55 -04:00
Glauber Costa
c0ad0dc1d3 database: pass storage proxy to init_data_directory
In order for us to call some function from db::legacy_schema_tables, we need
a working storage proxy. We will use those functions in order to leverage the
work done in keyspace / table creation from mutations

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
2015-06-25 09:50:55 -04:00
Glauber Costa
48cfdcee7b main: init from data directory later
Soon I will introduce some changes that make init_from_data_directory dependent
on a working storage proxy.

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
2015-06-25 09:50:55 -04:00
Amnon Heiman
72c034abe1 Http API: Add Swagger-UI support
This patch adds support to the Swagger-UI. It does so by adding
reference to the Swagger-UI target directory, after applying this patch
/ui/ will display the Swagger-UI page with the available APIs.

From the Swagger-UI page it is possible to run the different APIs.

The target directory of the ui can be override from the command line.

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-06-25 16:41:38 +03:00
Avi Kivity
71e04b412e Merge "Compression parameters" from Paweł
"This patch series introduces compression_parameters class which is used
to handle compression options specified at table creation. Such information
is now properly propagated to the database internals."
2015-06-25 15:48:15 +03:00
Avi Kivity
1a12438e5e tests: add token midpoint tests 2015-06-25 15:25:57 +03:00
Avi Kivity
ba3fb44bf5 dht: implement more token relational operators 2015-06-25 15:25:37 +03:00
Avi Kivity
e4140a19ed dht: virtualize i_parititoner::midpoint() and implement for murmur3 2015-06-25 15:25:04 +03:00
Paweł Dziepak
335fe5ce50 tests/cql: add test for compression specific validation
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
2015-06-25 14:17:59 +02:00
Paweł Dziepak
51e3f2bcea cql3: use default compressor if none specified
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
2015-06-25 14:17:46 +02:00
Avi Kivity
f8e2c13933 dht: rename midpoint() to midpoint_unsigned()
midpoint()'s algorithm only works for unsigned tokens, so rename it
accordingly.
2015-06-25 14:54:40 +03:00
Paweł Dziepak
6845cc0ee5 cql3: propagate compression info to schema and sstables code
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
2015-06-25 13:33:00 +02:00
Paweł Dziepak
53640c73fd compress: add compression_parameters class
Passing a single enum specifying a compressor type around is not enough,
since there are other compression options user may want to specify.

Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
2015-06-25 13:32:13 +02:00
Avi Kivity
70aaa0fb76 Update swagger-ui for local fix (change URL to not to point to pet store) 2015-06-25 14:04:07 +03:00
Avi Kivity
d8946d07ed dht: fix token wraparound in midpoint()
midpoint(l, r) where l > r needs to wrap around the end of the ring.  Adjust
the midpoint() function to do this.

Note this is still broken for the murmur3 partitioner, since it doesn't treat
tokens as unsigned.
2015-06-25 13:55:46 +03:00
Nadav Har'El
3f5114e415 compaction: compact_all_sstables demo function
This is an example of how to use the low-level compact_sstable() function
to compact all the sstables of one column family into one. It is not a
full-fledged "compaction strategy" but the real ones can be based on this
example.

Among the things that this code doesn't do yet is to delete the old
sstables. In the future, this should happen automatically in the sstable
destructor when all the references to the sstable get deleted.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
2015-06-25 11:05:35 +03:00