Commit Graph

53948 Commits

Author SHA1 Message Date
Tomasz Grabiec
78eaabf9d9 cql3: Make statement_type printable 2015-01-23 18:45:28 +01:00
Tomasz Grabiec
fc2bc5558e cql3: cleanup: Drop redundant optional<>
shared_ptr<> is already optional.
2015-01-23 18:45:28 +01:00
Tomasz Grabiec
90a43b5556 cql3: Make column_identifier printable 2015-01-23 18:45:28 +01:00
Tomasz Grabiec
f081902a26 cql3: Implement equality and hashing for column_identifier 2015-01-23 18:45:28 +01:00
Tomasz Grabiec
612f68b869 db: Convert ConsistencyLevel to C++ 2015-01-23 18:45:28 +01:00
Tomasz Grabiec
4b9dd3e978 db: Import ConsistencyLevel 2015-01-23 18:45:27 +01:00
Tomasz Grabiec
7df2a86209 cql3: Convert restrictions/Restriction.java to C++ 2015-01-23 18:45:27 +01:00
Tomasz Grabiec
4623401c1a cql3: Convert statements/Bound.java to C++ 2015-01-23 18:45:27 +01:00
Tomasz Grabiec
ab3d53edf5 shared_ptr: Add helpers for hashing shared_ptr<> by value 2015-01-23 18:45:27 +01:00
Tomasz Grabiec
8c63459b3b Introduce GC clock
The clock used to expire tombstones and cells with time-to-live.

Origin uses 32-bit precision for this clock counting seconds since the
epoch. This means the clock will overflow not that far in the future,
but if we want to maintain compatibility on sstable level we need to
follow that.
2015-01-23 18:45:27 +01:00
Tomasz Grabiec
7654cc490d cql3: Drop redundant optional<>
shared_ptr<> is already optional.
2015-01-23 18:38:16 +01:00
Avi Kivity
0addc7d77f Merge branch 'penberg/cql3' of github.com:cloudius-systems/seastar-dev into db
More cql conversions from Pekka:

"Here's some more Cql.g conversions. In particular, we now support
 constants."
2015-01-22 15:39:04 +02:00
Pekka Enberg
8fda9fd97d cql3: Convert constant parser rule to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-22 13:48:40 +02:00
Pekka Enberg
7bcc5d7397 cql3: Convert STRING_LITERAL lexer rule to C++
Note! I did not convert "pg-style string literals" (whatever those are)
because it's using Java-specific regex.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-22 13:48:40 +02:00
Pekka Enberg
1646361b88 cql3: Convert QUOTED_NAME lexer rule to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-22 13:48:40 +02:00
Pekka Enberg
3b73f90a08 cql3: Convert Constants to C++, take 2
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-22 13:48:40 +02:00
Gleb Natapov
b250b53004 core: remove reference to smp_message_queue from async_work_item
It is unused.
2015-01-22 13:25:30 +02:00
Gleb Natapov
d83e4c49fc smp: put fields used by different cores on different cache lines 2015-01-22 13:25:30 +02:00
Avi Kivity
a8054e5aae memory: init virt to phys mapping after binding memory to node
Binding may cause memory to move, so initialize the page map after it is done.
2015-01-22 12:38:22 +02:00
Avi Kivity
d0ec99317d net: move some device and qp methods out-of-line 2015-01-22 09:44:44 +02:00
Avi Kivity
5678a0995e net: use a redirection table to forward packets to proxy queues
Build a 128-entry redirection table to select which cpu services which
packet, when we have more cores than queues (and thus need to dispatch
internally).

Add a --hw-queue-weight to control the relative weight of the hardware queue.
With a weight of 0, the core that services the hardware queue will not
process any packets; with a weight of 1 (default) it will process an equal
share of packets, compared to proxy queues.
2015-01-22 09:36:04 +02:00
Avi Kivity
285d4af077 memory: adjust pagemap parsing
The pfn is in bits 0:54 inclusive, we missed the high bit.

Should have no effect in systems with less than a few exabytes of memory.
2015-01-21 19:06:30 +02:00
Avi Kivity
dfc06e9386 Merge branch 'penberg/cql3' of github.com:cloudius-systems/seastar-dev into db
More cql.g conversions, from Pekka:

   "In preparaion for converting insert statement grammar rules, convert
    native types and column identifiers."

ase enter a commit message to explain why this merge is necessary,
2015-01-21 17:28:14 +02:00
Pekka Enberg
111f541536 cql3: Cql.g column identifiers
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-21 17:26:21 +02:00
Pekka Enberg
a88c49ede8 cql3: Make column_identifier instantiable
The class inherits from abstract base class selectable so there's methods that
we need to define.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-21 15:38:09 +02:00
Pekka Enberg
ead2e3cff3 cql3: Cql.g native types
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-21 15:30:30 +02:00
Asias He
71ac2b5b24 tcp: Rename tcp::send()
Unlike tcp::tcb::send() and tcp::connection::send() which send tcp
packets associated with tcb, tcp::send() only send packets associated
without tcb. We have a bunch of send() functions, rename it to make the
code more readable.
2015-01-21 13:22:40 +02:00
Asias He
917247455c tcp: Use set_exception instead of set_value to notify user on rst 2015-01-21 11:20:06 +02:00
Asias He
8ce7cfd64b tcp: Fix listener port
It is supposed to zero the origin's port.
2015-01-21 11:20:05 +02:00
Avi Kivity
0af3af9d8d Merge branch 'asias/syn_fin_retransmit' of github.com:cloudius-systems/seastar-dev
TCP fixes from Asias, adding SYN/FIN retransmits and handling timeouts around
them.
2015-01-21 10:30:09 +02:00
Asias He
0c09a6bd7a tcp: Return a future for tcp::connect() 2015-01-21 16:20:39 +08:00
Asias He
d6d7e6cb47 tcp: Support syn fin retransmit and timeout
Tested with tcp_server + client.go using iptables dropping <SYN,ACK> or
<FIN,ACK> on client side.

I verified that the SYN or FIN packet is retransmitted and the
connection is closed after N (currently 5) retries.
2015-01-21 16:20:39 +08:00
Asias He
602c7c9c98 tcp: Free packets to be sent on RST 2015-01-21 16:20:39 +08:00
Avi Kivity
0f14fdab68 Merge branch 'master' of github.com:cloudius-systems/seastar into db 2015-01-20 13:03:58 +02:00
Avi Kivity
b02f4b15d5 Merge branch 'penberg/cql3' of github.com:cloudius-systems/seastar-dev into db
Convert CQL UpdateStatement.ParsedInsert class to C++, from Pekka.
2015-01-20 13:03:21 +02:00
Avi Kivity
fff2920c55 tests: disable address sanitizer alloc/dealloc mismatch test
Generates false positive with new (with_alignment(...)) ...
2015-01-20 12:21:41 +02:00
Avi Kivity
88067922a0 Merge branch 'semaphore'
Add semaphore::broken()
2015-01-20 12:06:53 +02:00
Pekka Enberg
129c27d1c4 cql3: Convert UpdateStatement to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:49:42 +02:00
Pekka Enberg
e4a8d7cf71 cql3: Convert ModificationStatement to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:48:26 +02:00
Pekka Enberg
63a2ec49b3 cql3: Convert ColumnIdentifier.Raw to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:47:38 +02:00
Pekka Enberg
b9b6242186 cql3: Convert Selectable.Raw to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:47:38 +02:00
Pekka Enberg
a9930ac12c cql3: Convert UpdateParameters to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:47:38 +02:00
Pekka Enberg
b705b227ef cql3: Convert ColumnCondition to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:47:38 +02:00
Pekka Enberg
853c1e10b4 cql3: Convert Operation to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:47:38 +02:00
Pekka Enberg
8362afda2d config: Convert ColumnDefinition to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:47:38 +02:00
Pekka Enberg
ed0bc97823 config: Import config/ColumnDefinition.java
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:47:38 +02:00
Pekka Enberg
728f67eba1 config: Convert CFMetaData to C++
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:47:38 +02:00
Pekka Enberg
3e2d215342 config: Import config/CFMetaData.java
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:47:38 +02:00
Pekka Enberg
74f8799324 cql3: Make cql::statement::uses_function const
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:47:38 +02:00
Pekka Enberg
34642a41b4 cql3: Make column_specification non-final
It's inherited by the config.ColumnDefinition class.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-01-20 11:45:26 +02:00